[Buildroot] [PATCH] netcat: add forced dependence on BusyBox

Carlos Santos casantos at datacom.ind.br
Thu Oct 12 15:14:18 UTC 2017


It may be necessary if packages become built in parallel, leading to a
race condition on the creation of the "nc" link. Moreover, netcat is as
shy as BusyBox and would not override an existing file/link, so we must
remove $(TARGET_DIR)/usr/bin/nc in advance.

Of course this still leaves a race conditon if other netcat competitors
but we must assume thet the user is a grown-up person who knows what is
doing.

Signed-off-by: Carlos Santos <casantos at datacom.ind.br>
---
 package/netcat/netcat.mk | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/package/netcat/netcat.mk b/package/netcat/netcat.mk
index eb7ddcac27..c032eea56d 100644
--- a/package/netcat/netcat.mk
+++ b/package/netcat/netcat.mk
@@ -9,4 +9,15 @@ NETCAT_SITE = http://downloads.sourceforge.net/project/netcat/netcat/$(NETCAT_VE
 NETCAT_LICENSE = GPL-2.0+
 NETCAT_LICENSE_FILES = COPYING
 
+# Ensure Busybox gets built/installed before, so that this package
+# overrides Busybox nc. We must remove an existing file/link because
+# netcat is as shy as Busybox and would not override existing files.
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+NETCAT_DEPENDENCIES += busybox
+define NETCAT_RMOVE_NC_LINK
+	rm -f $(TARGET_DIR)/usr/bin/nc
+endef
+NETCAT_PRE_INSTALL_TARGET_HOOKS += NETCAT_RMOVE_NC_LINK
+endif
+
 $(eval $(autotools-package))
-- 
2.13.6



More information about the buildroot mailing list