net-analyzer/nmap: Sync with Gentoo

It's from Gentoo commit add1150d7cea0c57c741ce57ca0c292b5b32bc91.
This commit is contained in:
Flatcar Buildbot 2024-07-01 07:17:01 +00:00 committed by Mathieu Tortuyaux
parent cadba8028b
commit 6b447c19b6
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
5 changed files with 457 additions and 10 deletions

View File

@ -1,4 +1,6 @@
DIST nmap-7.94-patches.tar.xz 4112 BLAKE2B 0720242bf507f2a1502cf854592d94a57a33d5ac1e520c752e548092f91bbffeb0f6f762f4da27ff445419ff3845060242aa43aba53d0161ae2bebccf728cc97 SHA512 d47e2215e1923af65e3a392c3d990d650e68135f139013c311a26d12cfd0b27d9d5c3cbc27bb8583251a353a6284fb9d518373f17624db242be7060b8bfa0ba5 DIST nmap-7.94-patches.tar.xz 4112 BLAKE2B 0720242bf507f2a1502cf854592d94a57a33d5ac1e520c752e548092f91bbffeb0f6f762f4da27ff445419ff3845060242aa43aba53d0161ae2bebccf728cc97 SHA512 d47e2215e1923af65e3a392c3d990d650e68135f139013c311a26d12cfd0b27d9d5c3cbc27bb8583251a353a6284fb9d518373f17624db242be7060b8bfa0ba5
DIST nmap-7.94.tar.bz2 11102195 BLAKE2B 5819b458b50e33f6a507ad3c32a731c13e730c40d31a61731c3cfcd41fad8e3fdfcbb721ef46b05a80e406d0a646d0966d4b645551711144822551ef374a443a SHA512 a55cddf9c1d9272243d01251eb3315b26f232d0596818857083222a385398618b428dc2bd8282c3e832527e135a74aeb020ca8609d83d8337342f5d8a04d7f2c DIST nmap-7.94.tar.bz2 11102195 BLAKE2B 5819b458b50e33f6a507ad3c32a731c13e730c40d31a61731c3cfcd41fad8e3fdfcbb721ef46b05a80e406d0a646d0966d4b645551711144822551ef374a443a SHA512 a55cddf9c1d9272243d01251eb3315b26f232d0596818857083222a385398618b428dc2bd8282c3e832527e135a74aeb020ca8609d83d8337342f5d8a04d7f2c
DIST nmap-7.94.tar.bz2.asc 198 BLAKE2B 38a363499fe236f675238ecf015a7e597d66cdd84eef13bed4986b4081c4f1f7a288121e3666e0f31a9282fd84f30cbceb65341f1c173086c7421a8ea719afe9 SHA512 dcbaf88e9ead21f303a7ee5390de0d2bd67477c2628858dc3380b0ac7d73d4d1b330f3b303ff32b0cb9a22eaa37af535bd7aa622531451e404a8c9a256a98eec DIST nmap-7.94.tar.bz2.asc 198 BLAKE2B 38a363499fe236f675238ecf015a7e597d66cdd84eef13bed4986b4081c4f1f7a288121e3666e0f31a9282fd84f30cbceb65341f1c173086c7421a8ea719afe9 SHA512 dcbaf88e9ead21f303a7ee5390de0d2bd67477c2628858dc3380b0ac7d73d4d1b330f3b303ff32b0cb9a22eaa37af535bd7aa622531451e404a8c9a256a98eec
DIST nmap-7.95-patches.tar.xz 4144 BLAKE2B d2c6d1b811538ff21c5f4654562a2adaf216f3437c08d4b787892ca2d8b1500376eb7cc794357d0262bf18d23ffd5f356192ba48b6748dc8365cdc601fecdc9c SHA512 3bfc7ba506bc8623c2b62a7ef386621e1b066ed27d3ba1a6909b336c87c6894c9a972fd847ddf5278752c201e905af1deb71f91d264d82b17e3878fd4de1a2a2 DIST nmap-7.95-patches-2.tar.xz 5740 BLAKE2B 860e7702e2ae1211c4eeeb8f869730de2279a305389f54317f883d2094bfbb1efb9031a761af93bfa8ab56e06bea774dea5807d134dd64f94c2191340a21113b SHA512 e4fb7350ea7e7f2e62f089129c0962652e556fb3bdf272d78c834db299f7f92c3238344c8bd50fea7d1360460ca4768ddad7367ecfcaefdb51125c66cd6981dd
DIST nmap-7.95.tar.bz2 11717069 BLAKE2B 4ab4912468f6c1cf7517090bc94b1bb34e665fe1b3db973e1c7bb2d05cb885545cdf3ca5c7fb548ff0012b800f5dd60ed2f2010fc9fb62ba7d6a28537287193c SHA512 fd95a8bc627a2b8b507353f761dc9fdc8e880a0dd2d75a51b9cb3ec664318796af9bb16a6ff9a1358bd77ad669c2a54e333be630f201f69287692a7d2d41c17e
DIST nmap-7.95.tar.bz2.asc 181 BLAKE2B 31db32cb5ad42be25d4b87d8619e0865d7089618839311ada9a2c1e0c9bc89f82ca6253e8151930f152c3fac7ad820ca747ed8427d008f9b04ad2b9e0a0e2b71 SHA512 ce56893796def1b7e8ae96cce90dda073ad84d657cd15d980ee14562a07f7522d438a40ac58422b6f6de7201a9f2678413018633529cb8dcc4e580cfe678c092

View File

@ -0,0 +1,31 @@
https://bugs.gentoo.org/918874
https://github.com/nmap/nmap/issues/2655
https://github.com/nmap/nmap/issues/2679
https://github.com/nmap/nmap/commit/edad9c059ca45bccab8c0f41fe6fc6546c60153a
From edad9c059ca45bccab8c0f41fe6fc6546c60153a Mon Sep 17 00:00:00 2001
From: dmiller <dmiller@e0a8ed71-7df4-0310-8962-fdc924857419>
Date: Thu, 20 Jul 2023 16:21:23 +0000
Subject: [PATCH] Add missing braces. Fixes #2679
---
services.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/services.cc b/services.cc
index a0899c7509..2a709dca97 100644
--- a/services.cc
+++ b/services.cc
@@ -496,9 +496,10 @@ void gettoppts(double level, const char *portlist, struct scan_lists * ports, co
if (sctpmax && strcmp(current->s_proto, "sctp") == 0
&& (!ptsdata_initialized ||
is_port_member(ptsdata.sctp_ports, ptsdata.sctp_count, current))
- )
+ ) {
ports->sctp_ports[ports->sctp_count++] = current->s_port;
- sctpmax--;
+ sctpmax--;
+ }
break;
default:
break;

View File

@ -0,0 +1,189 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-4 )
LUA_REQ_USE="deprecated"
PYTHON_COMPAT=( python3_{10..11} )
PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh"
PLOCALE_BACKUP="en"
inherit autotools lua-single plocale python-single-r1 toolchain-funcs
DESCRIPTION="Network exploration tool and security / port scanner"
HOMEPAGE="https://nmap.org/"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/nmap/nmap"
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc
inherit verify-sig
SRC_URI="https://nmap.org/dist/${P}.tar.bz2"
SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.94-patches.tar.xz"
# https://github.com/nmap/nmap/issues/2199
LICENSE="NPSL-0.95"
SLOT="0"
IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
nse? ( ${LUA_REQUIRED_USE} )
symlink? ( ncat )
"
RDEPEND="
dev-libs/liblinear:=
dev-libs/libpcre
net-libs/libpcap
ndiff? ( ${PYTHON_DEPS} )
libssh2? (
net-libs/libssh2[zlib]
sys-libs/zlib
)
nls? ( virtual/libintl )
nse? (
${LUA_DEPS}
sys-libs/zlib
)
ssl? ( dev-libs/openssl:= )
symlink? (
ncat? (
!net-analyzer/netcat
!net-analyzer/openbsd-netcat
)
)
zenmap? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
)
"
DEPEND="${RDEPEND}"
# Python is always needed at build time for some scripts
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
if [[ ${PV} != *9999* ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )"
fi
PATCHES=(
"${WORKDIR}"/${PN}-7.94-patches
"${FILESDIR}"/${PN}-7.94-autoconf-2.72.patch
"${FILESDIR}"/${PN}-7.94-topport.patch
)
pkg_setup() {
python-single-r1_pkg_setup
use nse && lua-single_pkg_setup
}
src_unpack() {
if [[ ${PV} == *9999 ]] ; then
git-r3_src_unpack
elif use verify-sig ; then
# Needed for downloaded patch (which is unsigned, which is fine)
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc}
fi
default
}
src_prepare() {
default
# Drop bundled libraries
rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die
cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die
delete_disabled_locale() {
# Force here as PLOCALES contains supported locales for man
# pages and zenmap doesn't have all of those
rm -rf zenmap/share/zenmap/locale/${1} || die
rm -f zenmap/share/zenmap/locale/${1}.po || die
}
plocale_for_each_disabled_locale delete_disabled_locale
sed -i \
-e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \
Makefile.in || die
cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# We need the original for a Darwin-specific fix, bug #604432
mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die
fi
}
src_configure() {
export ac_cv_path_PYTHON="${PYTHON}"
export am_cv_pathless_PYTHON="${EPYTHON}"
local myeconfargs=(
$(use_enable ipv6)
$(use_enable nls)
$(use_with libssh2)
$(use_with ncat)
$(use_with ndiff)
$(use_with nping)
$(use_with nse liblua)
$(use_with ssl openssl)
$(use_with zenmap)
$(usex libssh2 --with-zlib)
$(usex nse --with-zlib)
--cache-file="${S}"/config.cache
# The bundled libdnet is incompatible with the version available in the
# tree, so we cannot use the system library here.
--with-libdnet=included
--with-pcre="${ESYSROOT}"/usr
--without-dpdk
)
econf "${myeconfargs[@]}"
}
src_compile() {
local directory
for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do
emake -C "${directory}" makefile.dep
done
emake \
AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)"
}
src_install() {
# See bug #831713 for return of -j1
LC_ALL=C emake \
-j1 \
DESTDIR="${D}" \
STRIP=: \
nmapdatadir="${EPREFIX}"/usr/share/nmap \
install
dodoc CHANGELOG HACKING docs/README docs/*.txt
if use ndiff || use zenmap ; then
python_optimize
fi
use symlink && dosym /usr/bin/ncat /usr/bin/nc
}

View File

@ -0,0 +1,206 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-4 )
LUA_REQ_USE="deprecated"
DISTUTILS_OPTIONAL=1
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh"
PLOCALE_BACKUP="en"
inherit autotools distutils-r1 lua-single plocale toolchain-funcs
DESCRIPTION="Network exploration tool and security / port scanner"
HOMEPAGE="https://nmap.org/"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/nmap/nmap"
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc
inherit verify-sig
SRC_URI="https://nmap.org/dist/${P}.tar.bz2"
SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.95-patches-2.tar.xz"
# https://github.com/nmap/nmap/issues/2199
LICENSE="NPSL-0.95"
SLOT="0"
IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
nse? ( ${LUA_REQUIRED_USE} )
symlink? ( ncat )
"
RDEPEND="
dev-libs/liblinear:=
dev-libs/libpcre2
net-libs/libpcap
ndiff? ( ${PYTHON_DEPS} )
libssh2? (
net-libs/libssh2[zlib]
sys-libs/zlib
)
nls? ( virtual/libintl )
nse? (
${LUA_DEPS}
sys-libs/zlib
)
ssl? ( dev-libs/openssl:= )
symlink? (
ncat? (
!net-analyzer/netcat
!net-analyzer/openbsd-netcat
)
)
zenmap? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
)
"
DEPEND="${RDEPEND}"
# Python is always needed at build time for some scripts
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
nls? ( sys-devel/gettext )
zenmap? ( ${DISTUTILS_DEPS} )
"
if [[ ${PV} != *9999* ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )"
fi
PATCHES=(
"${WORKDIR}"/${PN}-7.95-patches-2
)
pkg_setup() {
use nse && lua-single_pkg_setup
}
src_unpack() {
if [[ ${PV} == *9999 ]] ; then
git-r3_src_unpack
elif use verify-sig ; then
# Needed for downloaded patch (which is unsigned, which is fine)
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc}
fi
default
}
src_prepare() {
default
# Drop bundled libraries
rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die
cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die
delete_disabled_locale() {
# Force here as PLOCALES contains supported locales for man
# pages and zenmap doesn't have all of those
rm -rf zenmap/share/zenmap/locale/${1} || die
rm -f zenmap/share/zenmap/locale/${1}.po || die
}
plocale_for_each_disabled_locale delete_disabled_locale
sed -i \
-e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \
Makefile.in || die
cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# We need the original for a Darwin-specific fix, bug #604432
mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die
fi
}
src_configure() {
export ac_cv_path_PYTHON="${PYTHON}"
export am_cv_pathless_PYTHON="${EPYTHON}"
python_setup
local myeconfargs=(
$(use_enable ipv6)
$(use_enable nls)
$(use_with libssh2)
$(use_with ncat)
$(use_with ndiff)
$(use_with nping)
$(use_with nse liblua)
$(use_with ssl openssl)
$(use_with zenmap)
$(usex libssh2 --with-zlib)
$(usex nse --with-zlib)
--cache-file="${S}"/config.cache
# The bundled libdnet is incompatible with the version available in the
# tree, so we cannot use the system library here.
--with-libdnet=included
--with-pcre="${ESYSROOT}"/usr
--without-dpdk
)
econf "${myeconfargs[@]}"
}
src_compile() {
local directory
for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do
emake -C "${directory}" makefile.dep
done
emake \
AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)"
if use zenmap ; then
cd zenmap || die
distutils-r1_src_compile
fi
}
src_test() {
local -x PATH="${S}:${PATH}"
default
}
src_install() {
# See bug #831713 for return of -j1
LC_ALL=C emake \
-j1 \
DESTDIR="${D}" \
STRIP=: \
nmapdatadir="${EPREFIX}"/usr/share/nmap \
install
dodoc CHANGELOG HACKING docs/README docs/*.txt
use symlink && dosym /usr/bin/ncat /usr/bin/nc
if use ndiff ; then
python_optimize
fi
if use zenmap ; then
distutils-r1_src_install
fi
}

View File

@ -1,14 +1,17 @@
# Copyright 1999-2023 Gentoo Authors # Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=8 EAPI=8
LUA_COMPAT=( lua5-4 ) LUA_COMPAT=( lua5-4 )
LUA_REQ_USE="deprecated" LUA_REQ_USE="deprecated"
PYTHON_COMPAT=( python3_{10..11} ) DISTUTILS_OPTIONAL=1
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh"
PLOCALE_BACKUP="en" PLOCALE_BACKUP="en"
inherit autotools lua-single plocale python-single-r1 toolchain-funcs inherit autotools distutils-r1 lua-single plocale toolchain-funcs
DESCRIPTION="Network exploration tool and security / port scanner" DESCRIPTION="Network exploration tool and security / port scanner"
HOMEPAGE="https://nmap.org/" HOMEPAGE="https://nmap.org/"
@ -27,7 +30,7 @@ else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi fi
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.95-patches.tar.xz" SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.95-patches-2.tar.xz"
# https://github.com/nmap/nmap/issues/2199 # https://github.com/nmap/nmap/issues/2199
LICENSE="NPSL-0.95" LICENSE="NPSL-0.95"
@ -73,6 +76,7 @@ BDEPEND="
${PYTHON_DEPS} ${PYTHON_DEPS}
virtual/pkgconfig virtual/pkgconfig
nls? ( sys-devel/gettext ) nls? ( sys-devel/gettext )
zenmap? ( ${DISTUTILS_DEPS} )
" "
if [[ ${PV} != *9999* ]] ; then if [[ ${PV} != *9999* ]] ; then
@ -80,12 +84,10 @@ if [[ ${PV} != *9999* ]] ; then
fi fi
PATCHES=( PATCHES=(
"${WORKDIR}"/${PN}-7.95-patches "${WORKDIR}"/${PN}-7.95-patches-2
) )
pkg_setup() { pkg_setup() {
python-single-r1_pkg_setup
use nse && lua-single_pkg_setup use nse && lua-single_pkg_setup
} }
@ -134,6 +136,8 @@ src_configure() {
export ac_cv_path_PYTHON="${PYTHON}" export ac_cv_path_PYTHON="${PYTHON}"
export am_cv_pathless_PYTHON="${EPYTHON}" export am_cv_pathless_PYTHON="${EPYTHON}"
python_setup
local myeconfargs=( local myeconfargs=(
$(use_enable ipv6) $(use_enable ipv6)
$(use_enable nls) $(use_enable nls)
@ -166,6 +170,17 @@ src_compile() {
emake \ emake \
AR="$(tc-getAR)" \ AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)" RANLIB="$(tc-getRANLIB)"
if use zenmap ; then
cd zenmap || die
distutils-r1_src_compile
fi
}
src_test() {
local -x PATH="${S}:${PATH}"
default
} }
src_install() { src_install() {
@ -179,9 +194,13 @@ src_install() {
dodoc CHANGELOG HACKING docs/README docs/*.txt dodoc CHANGELOG HACKING docs/README docs/*.txt
if use ndiff || use zenmap ; then use symlink && dosym /usr/bin/ncat /usr/bin/nc
if use ndiff ; then
python_optimize python_optimize
fi fi
use symlink && dosym /usr/bin/ncat /usr/bin/nc if use zenmap ; then
distutils-r1_src_install
fi
} }