This bug was fixed in the package preseed - 1.71ubuntu7 --------------- preseed (1.71ubuntu7) bionic; urgency=medium
* Fix for netcfg/hostname, if set, to take precedence. (LP: #1745531) - Modify debian/network-preseed.postinst to make it more robust -- Hua Zhang <joshua.zh...@canonical.com> Thu, 25 Jan 2018 15:12:38 +0800 ** Changed in: preseed (Ubuntu Bionic) Status: In Progress => Fix Released -- You received this bug notification because you are a member of नेपाली भाषा समायोजकहरुको समूह, which is subscribed to Xenial. Matching subscriptions: Ubuntu 16.04 Bugs https://bugs.launchpad.net/bugs/1745531 Title: [SRU] Reinforce hostname preseed regex Status in debian-installer package in Ubuntu: In Progress Status in preseed package in Ubuntu: Fix Released Status in debian-installer source package in Trusty: In Progress Status in preseed source package in Trusty: In Progress Status in debian-installer source package in Xenial: In Progress Status in preseed source package in Xenial: In Progress Status in debian-installer source package in Artful: In Progress Status in preseed source package in Artful: In Progress Status in debian-installer source package in Bionic: In Progress Status in preseed source package in Bionic: Fix Released Bug description: [Impact] This is the same issue reported in https://bugs.launchpad.net/ubuntu/+source/preseed/+bug/1452202 However that is marked as 'Fix Released' and the issue is still occurring so it seems best to just open a new bug according to Eric's comment. The present hostname preseed regex looks like: if ! echo "$RET" | grep -q 'ubuntu'; then ... /bin/sed -i "s/$CURRENT_HOSTNAME/$NETCFG_HOSTNAME/" /etc/hosts ... fi There are still multiple problems with them according to Peter's comment (https://bugs.launchpad.net/ubuntu/+source/preseed/+bug/1452202/comments/64) and Mathieu's comment (https://bugs.launchpad.net/ubuntu/+source/preseed/+bug/1452202/comments/93). - The default hostname is 'ubuntu', and is the value you will get if nothing is preseeded -- we *do* need to skip it in this case, although the grep may need to be more precise. A name like 'ubuntuxenial' should match this grep. - The sed needs to be fixed to more appropriately catch for the exact string, rather than any substring -- ie. it should not match 'ipv6-allnodes' if the name received from DHCP was 'node'. It should only match and replace for 'node'. So the fix will try to: 1) Keep the if statement and add the -w option to grep to be more robust 2) Modify the sed cmd with word boundaries (\b) to be more robust as well. [Test Case] Install Ubuntu using a preseed[1] file[2] and add the following line in the preseed recipe : d-i netcfg/hostname string <HOSTNAME> Change the HOSTNAME to see if the hostname in /etc/hosts can be updated correctly. [1] - url=http://<WEB_SERVER>/<PRESEED_FILE> [2] - https://help.ubuntu.com/lts/installation-guide/example-preseed.txt [Regression Potential] * none expected, the actual changes are as follows: - if ! echo "$RET" | grep -q 'ubuntu'; then + if ! echo "$RET" | grep -qw 'ubuntu'; then ... - /bin/sed -i "s/$CURRENT_HOSTNAME/$NETCFG_HOSTNAME/" /etc/hosts + /bin/sed -i "s/\b${CURRENT_HOSTNAME}\b/${NETCFG_HOSTNAME}/g" /etc/hosts [Original Description] To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/1745531/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~group.of.nepali.translators Post to : group.of.nepali.translators@lists.launchpad.net Unsubscribe : https://launchpad.net/~group.of.nepali.translators More help : https://help.launchpad.net/ListHelp