]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
linux: the default hostname is (none)
authorRoy Marples <roy@marples.name>
Tue, 31 Mar 2020 18:45:17 +0000 (19:45 +0100)
committerRoy Marples <roy@marples.name>
Tue, 31 Mar 2020 18:45:17 +0000 (19:45 +0100)
It's blank for the BSD's.
Respect this when relinquishing the hostname.

.gitignore
Makefile.inc
configure
hooks/30-hostname.in [moved from hooks/30-hostname with 97% similarity]
hooks/Makefile

index 99404cb703f15394eb889985de49518cd2188af9..6b1a56329f4fbef03eba944abc4637807c8e4f0c 100644 (file)
@@ -19,6 +19,7 @@ dhcpcd.8
 dhcpcd-run-hooks
 dhcpcd-run-hooks.8
 dhcpcd.conf.5
+hooks/30-hostname
 hooks/50-ypbind
 
 # Ignore distribution
index 3561ba358373ca3fb35502b4ca01c63f49ea0001..ec5361a6ac02808e7b642fbaad399de98ea738d3 100644 (file)
@@ -32,3 +32,4 @@ SED_SERVICESTATUS=    -e 's:@SERVICESTATUS@:${SERVICESTATUS}:g'
 SED_STATUSARG=         -e 's:@STATUSARG@:${STATUSARG}:g'
 SED_SCRIPT=            -e 's:@SCRIPT@:${SCRIPT}:g'
 SED_SYS=               -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g'
+SED_DEFAULT_HOSTNAME=  -e 's:@DEFAULT_HOSTNAME@:${DEFAULT_HOSTNAME}:g'
index 838c722213412451974c60160c3e320d5c6bb3ae..a8932d33a6de1c3ef24ad67989b6dbad72f9185b 100755 (executable)
--- a/configure
+++ b/configure
@@ -87,6 +87,7 @@ for x do
        PKG_CONFIG) PKG_CONFIG=$var;;
        --with-hook) HOOKSCRIPTS="$HOOKSCRIPTS${HOOKSCRIPTS:+ }$var";;
        --with-hooks|HOOKSCRIPTS) HOOKSCRIPTS=$var; HOOKSET=true;;
+       --with-default-hostname) _DEFAULT_HOSTNAME=$var;;
        --build) BUILD=$var;;
        --host) HOST=$var; HOSTCC=$var-;;
        --target) TARGET=$var;;
@@ -494,6 +495,16 @@ solaris*|sunos*)
        ;;
 esac
 
+if [ -n "${_DEFAULT_HOSTNAME+x}" ]; then
+       DEFAULT_HOSTNAME="${_DEFAULT_HOSTNAME}"
+else
+       case "$OS" in
+       *|linux*)       DEFAULT_HOSTNAME="(none)";;
+       *)      DEFAULT_HOSTNAME="";;
+       esac
+fi
+echo "DEFAULT_HOSTNAME=                $DEFAULT_HOSTNAME" >>$CONFIG_MK
+
 if [ -z "$INET" -o "$INET" = yes ]; then
        echo "Enabling INET support"
        echo "CPPFLAGS+=        -DINET" >>$CONFIG_MK
similarity index 97%
rename from hooks/30-hostname
rename to hooks/30-hostname.in
index 3ac73ea443cfd50d96af2c28b8bd590e5dfcbc28..579c73d3c22f85a49db8431e8b48a25423748774 100644 (file)
@@ -17,7 +17,7 @@
 
 # If we used to set the hostname, but relinquish control of it, we should
 # reset to the default value.
-: ${hostname_default=}
+: ${hostname_default=@DEFAULT_HOSTNAME@}
 
 # Some systems don't have hostname(1)
 _hostname()
@@ -54,7 +54,7 @@ _hostname()
 is_default_hostname()
 {
        case "$1" in
-       ""|"(none)"|localhost|localhost.localdomain|"$hostname_default")
+       ""|"$hostname_default"|localhost|localhost.localdomain)
                return 0;;
        esac
        return 1
index c1332e58ddea165a580f96829a09d0e6f3ddb0f3..aa908c12f47ac69806816a5042a45f525c649318 100644 (file)
@@ -27,6 +27,7 @@ FILES+=               ${EGHOOKSCRIPTS}
                ${SED_SYS} ${SED_SCRIPT} ${SED_DATADIR} \
                ${SED_SERVICEEXISTS} ${SED_SERVICECMD} ${SED_SERVICESTATUS} \
                ${SED_STATUSARG} \
+               ${SED_DEFAULT_HOSTNAME} \
                -e 's:@YPDOMAIN_DIR@:${YPDOMAIN_DIR}:g' \
                -e 's:@YPDOMAIN_SUFFIX@:${YPDOMAIN_SUFFIX}:g' \
                $< > $@