Skip to contentSkip to conversation

hostname: fix conflicting installs of /bin/hostname

PATCH New Andrew Ruder 3 participants 3 messages Aug 20, 2014 – Sep 14, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hostname: fix conflicting installs of /bin/hostname

Surprisingly long-standing issue with conflicting /bin/hostname installs. Reported as early as November 2005 by Joseph Dupre.

All together at one point or another there are at least 4 possible sources of /bin/hostname:

busybox
util-linux
coreutils
net-tools

Buildroot depends on the -F flag being available in the default /etc/inittab. Out of the 4 listed projects only net-tools and buildroot for sure support the -F flag. I'm a little unclear on util-linux as it has been removed entirely (in favor of net-tools) for some time.

As of coreutils 6.9.90 (2007-12-01), coreutils does not install its /bin/hostname by default. The following commit reenabled its build:

d6e58cb coreutils: fixed missing hostname (Sep 2010)

This was done to fix a build error in coreutils regarding help2man. A later patch:

30c5105 coreutils: bump to version 8.21

disabled the help2man functionality entirely but left hostname being installed.

On a very related note, net-tools now contains an obsolete check to add util-linux as a dependency to force it to build first (so that net-tools ends up with /bin/hostname).

This patch fixes both of these issues so that hostname always comes from one of two places:

busybox
net-tools

---
 package/coreutils/coreutils.mk | 5 ++---
 package/net-tools/net-tools.mk | 5 -----
 2 files changed, 2 insertions(+), 8 deletions(-)
package/coreutils/coreutils.mk +2 -3
index af202b4..458a495 100644
@@ -20,7 +20,7 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 COREUTILS_DEPENDENCIES = busybox
 endif
 
-COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false hostname \
+COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \
 	ln ls mkdir mknod mv pwd rm rmdir vdir sleep stty sync touch true \
 	uname join
 
@@ -61,8 +61,7 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \
 		PERL=missing
 
 COREUTILS_CONF_OPT = --disable-rpath \
-		--disable-dependency-tracking \
-		--enable-install-program=hostname
+		--disable-dependency-tracking
 
 define COREUTILS_POST_INSTALL
 	# some things go in root rather than usr
package/net-tools/net-tools.mk +0 -5
index 3538655..a2abf5b 100644
@@ -17,11 +17,6 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 	NET_TOOLS_DEPENDENCIES += busybox
 endif
 
-# Install after util-linux since net-tools hostname is better
-ifeq ($(BR2_PACKAGE_UTIL_LINUX_BINARIES),y)
-	NET_TOOLS_DEPENDENCIES += util-linux
-endif
-
 define NET_TOOLS_CONFIGURE_CMDS
 	(cd $(@D); yes "" | ./configure.sh config.in )
 endef
Signature · 1 line
2.0.1
#1 lore raw

PATCH 1/1 hostname: fix conflicting installs of /bin/hostname

Quoted 36 lines · Andrew Ruder

Surprisingly long-standing issue with conflicting /bin/hostname installs. Reported as early as November 2005 by Joseph Dupre.

All together at one point or another there are at least 4 possible sources of /bin/hostname:

busybox
util-linux
coreutils
net-tools

Buildroot depends on the -F flag being available in the default /etc/inittab. Out of the 4 listed projects only net-tools and buildroot for sure support the -F flag. I'm a little unclear on util-linux as it has been removed entirely (in favor of net-tools) for some time.

As of coreutils 6.9.90 (2007-12-01), coreutils does not install its /bin/hostname by default. The following commit reenabled its build:

d6e58cb coreutils: fixed missing hostname (Sep 2010)

This was done to fix a build error in coreutils regarding help2man. A later patch:

30c5105 coreutils: bump to version 8.21

disabled the help2man functionality entirely but left hostname being installed.

On a very related note, net-tools now contains an obsolete check to add util-linux as a dependency to force it to build first (so that net-tools ends up with /bin/hostname).

This patch fixes both of these issues so that hostname always comes from one of two places:

Quoted 6 lines

busybox
net-tools

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 hostname: fix conflicting installs of /bin/hostname

In reply to Andrew Ruder
Quoted 38 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Andrew" == Andrew Ruder <[email protected]> writes:

Surprisingly long-standing issue with conflicting /bin/hostname installs. Reported as early as November 2005 by Joseph Dupre.

All together at one point or another there are at least 4 possible sources of /bin/hostname:

busybox
util-linux
coreutils
net-tools

Buildroot depends on the -F flag being available in the default /etc/inittab. Out of the 4 listed projects only net-tools and buildroot for sure support the -F flag. I'm a little unclear on util-linux as it has been removed entirely (in favor of net-tools) for some time.

As of coreutils 6.9.90 (2007-12-01), coreutils does not install its /bin/hostname by default. The following commit reenabled its build:

d6e58cb coreutils: fixed missing hostname (Sep 2010)

This was done to fix a build error in coreutils regarding help2man. A later patch:

30c5105 coreutils: bump to version 8.21

disabled the help2man functionality entirely but left hostname being installed.

On a very related note, net-tools now contains an obsolete check to add util-linux as a dependency to force it to build first (so that net-tools ends up with /bin/hostname).

This patch fixes both of these issues so that hostname always comes from one of two places:

Quoted 6 lines

busybox
net-tools

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard