643baa1872
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 Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Co-authored-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
54 lines
1.6 KiB
Makefile
54 lines
1.6 KiB
Makefile
################################################################################
|
|
#
|
|
# net-tools
|
|
#
|
|
################################################################################
|
|
|
|
NET_TOOLS_VERSION = 3eb367aedf1280f35105ede465c350a39b55fa91
|
|
NET_TOOLS_SITE = git://git.code.sf.net/p/net-tools/code
|
|
NET_TOOLS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
|
|
NET_TOOLS_LDFLAGS = $(TARGET_LDFLAGS) \
|
|
$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)
|
|
NET_TOOLS_LICENSE = GPLv2+
|
|
NET_TOOLS_LICENSE_FILES = COPYING
|
|
|
|
# Install after busybox for the full-blown versions
|
|
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
|
|
NET_TOOLS_DEPENDENCIES += busybox
|
|
endif
|
|
|
|
define NET_TOOLS_CONFIGURE_CMDS
|
|
(cd $(@D); yes "" | ./configure.sh config.in )
|
|
endef
|
|
|
|
# Enable I18N when appropiate
|
|
ifeq ($(BR2_ENABLE_LOCALE),y)
|
|
define NET_TOOLS_ENABLE_I18N
|
|
$(SED) 's:I18N 0:I18N 1:' $(@D)/config.h
|
|
endef
|
|
endif
|
|
|
|
# Enable IPv6 when appropiate
|
|
ifeq ($(BR2_INET_IPV6),y)
|
|
define NET_TOOLS_ENABLE_IPV6
|
|
$(SED) 's:_AFINET6 0:_AFINET6 1:' $(@D)/config.h
|
|
endef
|
|
endif
|
|
|
|
NET_TOOLS_POST_CONFIGURE_HOOKS += NET_TOOLS_ENABLE_I18N NET_TOOLS_ENABLE_IPV6
|
|
|
|
define NET_TOOLS_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) AR="$(TARGET_AR)" CC="$(TARGET_CC)" \
|
|
LDFLAGS="$(NET_TOOLS_LDFLAGS)" $(MAKE) -C $(@D)
|
|
endef
|
|
|
|
# install renames conflicting binaries, update does not
|
|
# ifconfig & route reside in /sbin for busybox
|
|
define NET_TOOLS_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) update
|
|
mv -f $(TARGET_DIR)/bin/ifconfig $(TARGET_DIR)/sbin/ifconfig
|
|
mv -f $(TARGET_DIR)/bin/route $(TARGET_DIR)/sbin/route
|
|
endef
|
|
|
|
$(eval $(generic-package))
|