Re: libnss-myhostname instead of mangling /etc/hosts
Joachim Breitner wrote:
> Would this be something that could be used by default in Debian, maybe
> for squeeze+1?
You're suggesting making the package standard priority. This is not a
decision within the purvue of the d-i team, really.
If libnss-myhostname becomes standard priority, or /etc/hosts becomes a
conffile, d-i will need some modifications to deal with it. We could
make those changes in d-i in a future proof way today.
Attached patch would probably work. My only real concern is some package
may depend on /etc/hosts existing at installation time.
see shy jo
diff --git a/packages/finish-install/debian/changelog b/packages/finish-install/debian/changelog
index 10c52e0..565c805 100644
@@ -1,8 +1,14 @@
finish-install (2.25) UNRELEASED; urgency=low
+ [ Frans Pop ]
* There's no need anymore to unmount /target/cdrom.
* Stop creating a cdrom symlink in /dev. This is now the province of udev.
+ [ Joey Hess ]
+ * 50config-target-network: Copy /etc/hostname to target, so netcfg does not
+ need to do that in a base-installer hook. (Also copy other networking files
+ into place if they do not exist in target.)
-- Frans Pop <firstname.lastname@example.org> Thu, 11 Mar 2010 17:58:26 +0100
finish-install (2.24) unstable; urgency=low
diff --git a/packages/finish-install/finish-install.d/50config-target-network b/packages/finish-install/finish-install.d/50config-target-network
index 388097a..888042e 100755
@@ -1,14 +1,19 @@
-# Make sure /etc/hostname, /etc/hosts and /target/etc/network/interfaces
-# exist before reboot. This is a fallback in case netcfg doesn't do it.
+# Copy in any files that netcfg or a package did not already install.
+for file in /etc/network/interfaces /etc/networks /etc/hostname /etc/resolv.conf /etc/hosts; do
+ if [ ! -e /target/"$file" ] && [ -f "$file" ]; then
+ mkdir /target/$(dirname $file) -p
+ cp $file /target/$file
+# Just in case.
if [ ! -e /target/etc/hostname ]; then
echo "localhost" > /target/etc/hostname
if [ ! -e /target/etc/hosts ]; then
echo "127.0.0.1 localhost" > /target/etc/hosts
diff --git a/packages/netcfg/base-installer.d/40netcfg b/packages/netcfg/base-installer.d/40netcfg
index f09b20a..42ba6e5 100755
@@ -5,7 +5,7 @@ if [ ! -f /etc/network/interfaces ]; then
-for file in /etc/network/interfaces /etc/networks /etc/hostname /etc/resolv.conf /etc/hosts; do
+for file in /etc/network/interfaces /etc/networks /etc/hostname /etc/resolv.conf; do
if [ -f "$file" ]; then
mkdir /target/$(dirname $file) -p
cp $file /target/$file
diff --git a/packages/netcfg/debian/changelog b/packages/netcfg/debian/changelog
index 1d3f5af..9b9a7f9 100644
@@ -11,6 +11,12 @@ netcfg (1.53) UNRELEASED; urgency=low
* Revert workaround for FTBFS on s390 which is no longer needed as of
debhelper version 7.4.17.
+ [ Joey Hess ]
+ * Do not copy /etc/hosts into /target in base-installer hook. Not needed to
+ run debootstrap, and it should be ok for it to be provided in
+ finish-install. There is talk of making it a static conffile using
-- Frans Pop <email@example.com> Thu, 08 Apr 2010 00:32:48 +0200
netcfg (1.52) unstable; urgency=low