summaryrefslogtreecommitdiff
path: root/scripts/live-bottom
diff options
context:
space:
mode:
authorMarco Amadori <amadorim@vdavda.com>2008-09-16 17:26:09 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 17:48:02 +0100
commitc00d324467314b6f4d6a1d6cc2d9a6ecfbd308cd (patch)
tree4ccddba5fa5d05f551f4d732bf7dfc0053588d27 /scripts/live-bottom
parent1736a26b70a1af93c290cfa9f4e7b593b7554d22 (diff)
downloadlive-boot-c00d324467314b6f4d6a1d6cc2d9a6ecfbd308cd.tar.gz
live-boot-c00d324467314b6f4d6a1d6cc2d9a6ecfbd308cd.zip
Changed HOSTNAME and /etc/hosts handling.
* This is one of a series of interventions that means to be gentle to debian-live builders and to persistence users; the rationale is that if a file is present on the rootfs it does not need to be overwritten from scratch since its presence means either a live-helper configuration at build time or a persistent/snapshot at run time.
Diffstat (limited to 'scripts/live-bottom')
-rwxr-xr-xscripts/live-bottom/06hostname15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/live-bottom/06hostname b/scripts/live-bottom/06hostname
index 29a080f..75ea801 100755
--- a/scripts/live-bottom/06hostname
+++ b/scripts/live-bottom/06hostname
@@ -31,9 +31,19 @@ log_begin_msg "Setting hostname"
# live-initramfs script
-echo "${HOSTNAME}" > /root/etc/hostname
+# Change hostname only if it is not set
+if [ ! -f /root/etc/hostname ] || grep -q localhost\.localdomain /root/etc/hostname
+then
+ echo "${HOSTNAME}" > /root/etc/hostname
+else
+ HOSTNAME="$(cat /root/etc/hostname)"
+ really_export HOSTNAME
+fi
-cat >> /root/etc/hosts << EOF
+# Create /etc/hosts only if it is not present or empty
+if [ ! -f /root/etc/hosts ] || [ "$(/root/usr/bin/stat -c %s root/etc/hosts)" == "0" ]
+then
+ cat > /root/etc/hosts << EOF
127.0.0.1 localhost
127.0.1.1 ${HOSTNAME}
@@ -45,6 +55,7 @@ ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
EOF
+fi
hostname "${HOSTNAME}"