Changed HOSTNAME and /etc/hosts handling.
authorMarco Amadori <amadorim@vdavda.com>
Tue, 16 Sep 2008 15:26:09 +0000 (17:26 +0200)
committerMarco Amadori <amadorim@vdavda.com>
Fri, 19 Sep 2008 12:55:54 +0000 (14:55 +0200)
* 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.

Signed-off-by: Marco Amadori <amadorim@vdavda.com>
scripts/live-bottom/06hostname

index 29a080f..75ea801 100755 (executable)
@@ -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}"