Current logic used to create the /etc/hostname file is fairly
restrictive and doesn't allow for easy customization since the
variable 'hostname' is local to the base-files recipe. Changing
'hostname' to a globally recognized variable which can be overwritten
overcomes these restrictions. Additionally it is not always desirable
to establish a /etc/hostname file, such as when we want to define the
hostname via dhcp or using the kernel command line, so we provide a
mechanism to skip its creation.

Signed-off-by: Mark Asselstine <mark.asselst...@windriver.com>
---
 meta/conf/local.conf.sample                       |   11 +++++++++++
 meta/recipes-core/base-files/base-files_3.0.14.bb |   15 +++++++--------
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index 5679c03..50696e4 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -43,6 +43,17 @@
 MACHINE ??= "qemux86"
 
 #
+# Hostname
+#
+# The openembedded default is to write a '${sysconfdir}/hostname' file which
+# will have ${MACHINE} as the hostname. If you want to use a different hostname
+# set it here. You may also set this to 'none' which will forgo the creation of
+# the '${sysconfdir}/hostname' file allowing, for example, the hostname to be
+# provided by your dhcp configuration or via the kernel command line.
+#
+#MACHINE_HOSTNAME ?= "none"
+
+#
 # Where to place downloads
 #
 # During a first build the system will download many different source code 
tarballs
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..571eded 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
@@ -60,10 +60,7 @@ conffiles = "${sysconfdir}/debian_version 
${sysconfdir}/host.conf \
              ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
              ${sysconfdir}/default"
 
-#
-# set standard hostname, might be a candidate for a DISTRO variable? :M:
-#
-hostname = "openembedded"
+MACHINE_HOSTNAME ?= "openembedded"
 
 BASEFILESISSUEINSTALL ?= "do_install_basefilesissue"
 
@@ -107,10 +104,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 [ "${MACHINE_HOSTNAME}" != "none" ]; then
+               if [ -n "${MACHINE}" -a "${MACHINE_HOSTNAME}" = "openembedded" 
]; then
+                       echo ${MACHINE} > ${D}${sysconfdir}/hostname
+               else
+                       echo ${MACHINE_HOSTNAME} > ${D}${sysconfdir}/hostname
+               fi
        fi
 
        install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}  
-- 
1.7.9.5


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to