Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Carlos Santos <casantos@datacom.ind.br>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] nmap: add option to build/install "ncat"
Date: Wed,  4 Oct 2017 09:49:20 -0300	[thread overview]
Message-ID: <20171004124920.7358-1-casantos@datacom.ind.br> (raw)
In-Reply-To: <20171004112008.4426cff9@windsurf.home>

Ncat is a much-improved reimplementation of the venerable Netcat and is
compatible with uClibc.

So far the "nc" options available to build with uClibc were the ancient
GNU netcat and its Busybox double (the openbsd-netcat package cannot be
used because it requires GLIBC). Both lack features available in modern
netcats like IPv6, proxies, and Unix sockets.

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
------
Changes v1->v2:
  - Prevent build error
    Makefile:537: *** nmap is in the dependency chain of nc that has \
    added it to its _DEPENDENCIES variable without selecting it or \
    depending on it from Config.in.  Stop.
------
 package/Config.in                        |  3 +-
 package/nc/Config.in                     | 84 ++++++++++++++++++++++++++++++++
 package/nc/nc.mk                         |  7 +++
 package/netcat-openbsd/Config.in         | 25 ----------
 package/netcat-openbsd/netcat-openbsd.mk |  2 +
 package/netcat/Config.in                 | 13 -----
 package/netcat/netcat.mk                 |  1 +
 package/nmap/Config.in                   |  4 ++
 package/nmap/nmap.mk                     | 30 +++++++++++-
 9 files changed, 127 insertions(+), 42 deletions(-)
 create mode 100644 package/nc/Config.in
 create mode 100644 package/nc/nc.mk
---
 package/nmap/Config.in | 12 ++++++++++++
 package/nmap/nmap.mk   | 21 ++++++++++++++++++++-
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/package/nmap/Config.in b/package/nmap/Config.in
index 79f587afd1..7986bd6544 100644
--- a/package/nmap/Config.in
+++ b/package/nmap/Config.in
@@ -11,6 +11,18 @@ config BR2_PACKAGE_NMAP
 
 	  http://nmap.org
 
+if BR2_PACKAGE_NMAP
+
+config BR2_PACKAGE_NMAP_NCAT
+	bool "nmap-ncat"
+	help
+	  Ncat is a feature-packed networking utility which reads and
+	  writes data across networks from the command line. Ncat was
+	  written for the Nmap Project as a much-improved
+	  reimplementation of the venerable Netcat.
+
+endif
+
 comment "nmap needs a toolchain w/ C++, threads"
 	depends on BR2_USE_MMU
 	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS)
diff --git a/package/nmap/nmap.mk b/package/nmap/nmap.mk
index 9db06d1455..e41a66927c 100644
--- a/package/nmap/nmap.mk
+++ b/package/nmap/nmap.mk
@@ -10,7 +10,7 @@ NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2
 NMAP_DEPENDENCIES = libpcap pcre
 NMAP_CONF_OPTS = --without-liblua --without-zenmap \
 	--with-libdnet=included --with-liblinear=included \
-	--with-libpcre="$(STAGING_DIR)/usr" --without-ncat
+	--with-libpcre="$(STAGING_DIR)/usr"
 NMAP_LICENSE = GPL-2.0
 NMAP_LICENSE_FILES = COPYING
 
@@ -50,4 +50,23 @@ else
 NMAP_CONF_OPTS += --without-ndiff
 endif
 
+ifeq ($(BR2_PACKAGE_NMAP_NCAT),y)
+
+# If both nmap-ncat and busybox are selected, make certain coreutils
+# wins the fight over who gets to have their utils actually installed.
+ifeq ($(BR2_PACKAGE_BUSYBOX),Y)
+NMAP_DEPENDENCIES += busybox
+endif
+
+define NMAP_INSTALL_NCAT_SYMLINK
+        ln -fs ncat $(TARGET_DIR)/usr/bin/nc
+endef
+NMAP_POST_INSTALL_TARGET_HOOKS += NMAP_INSTALL_NCAT_SYMLINK
+
+else
+
+NMAP_CONF_OPTS += --without-ncat
+
+endif
+
 $(eval $(autotools-package))
-- 
2.13.6

  reply	other threads:[~2017-10-04 12:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-17  7:15 [Buildroot] [PATCH] nc: new virtual package providing "netcat" functionality Carlos Santos
2017-09-17 21:45 ` [Buildroot] [PATCH v2] " Carlos Santos
2017-10-02 14:13   ` [Buildroot] [PATCH v3] " Carlos Santos
2017-10-02 19:18     ` Thomas Petazzoni
2017-10-02 19:44       ` Peter Korsgaard
2017-10-02 20:28         ` Carlos Santos
2017-10-02 20:09       ` Carlos Santos
2017-10-04  9:20         ` Thomas Petazzoni
2017-10-04 12:49           ` Carlos Santos [this message]
2017-10-04 14:08             ` [Buildroot] [PATCH] nmap: add option to build/install "ncat" Baruch Siach
2017-10-04 15:43             ` [Buildroot] [PATCH v2] " Carlos Santos
2017-10-06 19:58               ` Arnout Vandecappelle
2017-10-09 16:13                 ` Carlos Santos
2017-10-09 22:08                   ` Arnout Vandecappelle
2017-10-09 22:10                     ` Arnout Vandecappelle
2017-10-09 23:55                       ` Carlos Santos
2017-10-10  0:25                         ` Arnout Vandecappelle
2017-10-10  8:12                     ` Thomas Petazzoni
2017-10-10 12:42                       ` Yann E. MORIN
2017-10-10 13:32               ` [Buildroot] [PATCH] nmap: add option to build/install ncat Carlos Santos
2017-10-04 12:58           ` [Buildroot] [PATCH v3] nc: new virtual package providing "netcat" functionality Carlos Santos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171004124920.7358-1-casantos@datacom.ind.br \
    --to=casantos@datacom.ind.br \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox