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

login
register
mail settings
Submitter Mark Hatle
Date Sept. 8, 2012, 1:42 p.m.
Message ID <1347111741-24828-1-git-send-email-mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/36159/
State Accepted
Commit 5fd3503d4a438d126f44fe8118e9ea465e7699c2
Headers show

Comments

Mark Hatle - Sept. 8, 2012, 1:42 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 |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)
Saul Wold - Sept. 12, 2012, 4:45 p.m.
On 09/08/2012 06:42 AM, 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 |   14 ++++++++------
>   1 files changed, 8 insertions(+), 6 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..e80cff1 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
> @@ -1,7 +1,7 @@
>   SUMMARY = "Miscellaneous files for the base system."
>   DESCRIPTION = "The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system."
>   SECTION = "base"
> -PR = "r71"
> +PR = "r72"
>   LICENSE = "GPLv2"
>   LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
>   # Removed all license related tasks in this recipe as license.bbclass
> @@ -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) != '')]}"
>
>

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..e80cff1 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
@@ -1,7 +1,7 @@ 
 SUMMARY = "Miscellaneous files for the base system."
 DESCRIPTION = "The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system."
 SECTION = "base"
-PR = "r71"
+PR = "r72"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
 # Removed all license related tasks in this recipe as license.bbclass 
@@ -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) != '')]}"