[Buildroot] [PATCH] nmap: add option to build/install "ncat"

Baruch Siach baruch at tkos.co.il
Wed Oct 4 14:08:53 UTC 2017


Hi Carlos,

On Wed, Oct 04, 2017 at 09:49:20AM -0300, Carlos Santos wrote:
> 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 at 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

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))

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -


More information about the buildroot mailing list