Patchwork [V3] base-files: provide a mechanism to skip creation of the hostname file

login
register
mail settings
Submitter Mark Hatle
Date Sept. 7, 2012, 9:51 p.m.
Message ID <1347054694-21086-1-git-send-email-mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/36141/
State New
Headers show

Comments

Mark Hatle - Sept. 7, 2012, 9:51 p.m.
From: Mark Asselstine <mark.asselstine@windriver.com>

The existence of a /etc/hostname file causes any hostname provided on
the kernel command line or via dhcp to be overwritten by the
initscripts 'init.d/hostname.sh'. This change allows you to set a
value of "" for 'hostname' which will skip the creation of the
/etc/hostname file by the base-files package.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/recipes-core/base-files/base-files_3.0.14.bb |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
Richard Purdie - Sept. 7, 2012, 10:51 p.m.
On Fri, 2012-09-07 at 16:51 -0500, Mark Hatle wrote:
> From: Mark Asselstine <mark.asselstine@windriver.com>
> 
> The existence of a /etc/hostname file causes any hostname provided on
> the kernel command line or via dhcp to be overwritten by the
> initscripts 'init.d/hostname.sh'. This change allows you to set a
> value of "" for 'hostname' which will skip the creation of the
> /etc/hostname file by the base-files package.
> 
> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> ---
>  meta/recipes-core/base-files/base-files_3.0.14.bb |   12 +++++++-----
>  1 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
> index 6bab040..cda13f4 100644
> --- a/meta/recipes-core/base-files/base-files_3.0.14.bb
> +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
> @@ -107,10 +107,12 @@ do_install () {
>  }
>  
>  do_install_basefilesissue () {
> -	if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
> -		echo ${MACHINE} > ${D}${sysconfdir}/hostname
> -	else
> -		echo ${hostname} > ${D}${sysconfdir}/hostname
> +	if [ "${hostname}" != "" ]; then
> +		if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
> +			echo ${MACHINE} > ${D}${sysconfdir}/hostname
> +		else
> +			echo ${hostname} > ${D}${sysconfdir}/hostname
> +		fi
>  	fi


Is this missing a hostname ??= "openembedded" perhaps?

Cheers,

Richard

>  	install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}  
> @@ -144,5 +146,5 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
>  
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
> -CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
> +CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname'][(d.getVar('hostname', True) != '')]}"
>
Mark Hatle - Sept. 7, 2012, 11:08 p.m.
On 9/7/12 5:51 PM, Richard Purdie wrote:
> On Fri, 2012-09-07 at 16:51 -0500, Mark Hatle wrote:
>> From: Mark Asselstine <mark.asselstine@windriver.com>
>>
>> The existence of a /etc/hostname file causes any hostname provided on
>> the kernel command line or via dhcp to be overwritten by the
>> initscripts 'init.d/hostname.sh'. This change allows you to set a
>> value of "" for 'hostname' which will skip the creation of the
>> /etc/hostname file by the base-files package.
>>
>> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
>> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>> ---
>>   meta/recipes-core/base-files/base-files_3.0.14.bb |   12 +++++++-----
>>   1 files changed, 7 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
>> index 6bab040..cda13f4 100644
>> --- a/meta/recipes-core/base-files/base-files_3.0.14.bb
>> +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
>> @@ -107,10 +107,12 @@ do_install () {
>>   }
>>
>>   do_install_basefilesissue () {
>> -	if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
>> -		echo ${MACHINE} > ${D}${sysconfdir}/hostname
>> -	else
>> -		echo ${hostname} > ${D}${sysconfdir}/hostname
>> +	if [ "${hostname}" != "" ]; then
>> +		if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
>> +			echo ${MACHINE} > ${D}${sysconfdir}/hostname
>> +		else
>> +			echo ${hostname} > ${D}${sysconfdir}/hostname
>> +		fi
>>   	fi
>
>
> Is this missing a hostname ??= "openembedded" perhaps?

There is already a hostname = "openembedded" in the package.  Nothing in that 
part was changed by this patch.  The normal override process is to define 
hostname_override = "newhostname".

I verified this is working properly.

--Mark

> Cheers,
>
> Richard
>
>>   	install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}
>> @@ -144,5 +146,5 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
>>
>>   PACKAGE_ARCH = "${MACHINE_ARCH}"
>>
>> -CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
>> +CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname'][(d.getVar('hostname', True) != '')]}"
>>
>
>
Koen Kooi - Sept. 8, 2012, 8:59 a.m.
Op 7 sep. 2012, om 23:51 heeft Mark Hatle <mark.hatle@windriver.com> het volgende geschreven:

> From: Mark Asselstine <mark.asselstine@windriver.com>
> 
> The existence of a /etc/hostname file causes any hostname provided on
> the kernel command line or via dhcp to be overwritten by the
> initscripts 'init.d/hostname.sh'. This change allows you to set a
> value of "" for 'hostname' which will skip the creation of the
> /etc/hostname file by the base-files package.
> 
> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> ---
> meta/recipes-core/base-files/base-files_3.0.14.bb |   12 +++++++-----
> 1 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
> index 6bab040..cda13f4 100644
> --- a/meta/recipes-core/base-files/base-files_3.0.14.bb
> +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
> @@ -107,10 +107,12 @@ do_install () {
> }
> 
> do_install_basefilesissue () {
> -	if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
> -		echo ${MACHINE} > ${D}${sysconfdir}/hostname
> -	else
> -		echo ${hostname} > ${D}${sysconfdir}/hostname
> +	if [ "${hostname}" != "" ]; then
> +		if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
> +			echo ${MACHINE} > ${D}${sysconfdir}/hostname
> +		else
> +			echo ${hostname} > ${D}${sysconfdir}/hostname
> +		fi
> 	fi
> 
> 	install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}  
> @@ -144,5 +146,5 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
> 
> PACKAGE_ARCH = "${MACHINE_ARCH}"
> 
> -CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
> +CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname'][(d.getVar('hostname', True) != '')]}"

MIssing PR bump

Patch

diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
index 6bab040..cda13f4 100644
--- a/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -107,10 +107,12 @@  do_install () {
 }
 
 do_install_basefilesissue () {
-	if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
-		echo ${MACHINE} > ${D}${sysconfdir}/hostname
-	else
-		echo ${hostname} > ${D}${sysconfdir}/hostname
+	if [ "${hostname}" != "" ]; then
+		if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
+			echo ${MACHINE} > ${D}${sysconfdir}/hostname
+		else
+			echo ${hostname} > ${D}${sysconfdir}/hostname
+		fi
 	fi
 
 	install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}  
@@ -144,5 +146,5 @@  FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
+CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname'][(d.getVar('hostname', True) != '')]}"