[OE-core] [PATCH] base-files: allow for more flexibility related to hostname
Mark Asselstine
mark.asselstine at windriver.com
Mon Aug 27 15:24:29 UTC 2012
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.asselstine at 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
More information about the Openembedded-core
mailing list