nmap: upgrade to 7.50

- Add a patch to fix python library install dir for multilib.

- Add a patch to fix race condition with mkdir command.

- Inherit pythonnative instead of python-dir and install
  python modules for ndiff to fix the following errors:

  """
  root@qemux86-64:~# ndiff --help
  -sh: /usr/bin/ndiff: /path_to_build/tmp/hosttools/python: bad interpreter: No such file or directory
  root@qemux86-64:~# python /usr/bin/ndiff
  Could not import the ndiff module: 'No module named ndiff'.
  """

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Jackie Huang
2017-07-27 16:18:47 +08:00
committed by Armin Kuster
parent 91467868aa
commit 2f30963b82
3 changed files with 97 additions and 11 deletions

View File

@@ -0,0 +1,37 @@
[PATCH] redefine the python library install dir
Upstream-Status: Pending
If install-lib is not defined, it is always /usr/lib/, but it
maybe /usr/lib64 for multilib
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
Makefile.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 1bb062c..cced2fb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -311,7 +311,7 @@ build-zenmap: $(ZENMAPDIR)/setup.py $(ZENMAPDIR)/zenmapCore/Version.py
install-zenmap: $(ZENMAPDIR)/setup.py
$(INSTALL) -d $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
- cd $(ZENMAPDIR) && $(PYTHON) setup.py --quiet install --prefix "$(prefix)" --force $(if $(DESTDIR),--root "$(DESTDIR)")
+ cd $(ZENMAPDIR) && $(PYTHON) setup.py --quiet install --prefix "$(prefix)" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --force $(if $(DESTDIR),--root "$(DESTDIR)")
$(INSTALL) -c -m 644 docs/zenmap.1 $(DESTDIR)$(mandir)/man1/
# Create a symlink from nmapfe to zenmap if nmapfe doesn't exist or is
# already a link.
@@ -328,7 +328,7 @@ build-nping: $(NPINGDIR)/Makefile nbase_build nsock_build netutil_build $(NPINGD
@cd $(NPINGDIR) && $(MAKE)
install-ndiff:
- cd $(NDIFFDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" $(if $(DESTDIR),--root "$(DESTDIR)")
+ cd $(NDIFFDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" --install-lib="${PYTHON_SITEPACKAGES_DIR}" $(if $(DESTDIR),--root "$(DESTDIR)")
NSE_FILES = scripts/script.db scripts/*.nse
NSE_LIB_LUA_FILES = nselib/*.lua nselib/*.luadoc
--
1.9.1

View File

@@ -0,0 +1,48 @@
[PATCH] replace "./shtool mkdir" with coreutils mkdir command
Upstream-Status: Pending
"./shtool mkdir" is used when mkdir has not -p parameter, but mkdir in today
most release has supportted the -p parameter, not need to use shtool, and it
can not fix the race if two process are running mkdir to create same dir
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
ncat/Makefile.in | 4 ++--
nmap-update/Makefile.in | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ncat/Makefile.in b/ncat/Makefile.in
index cfd306d..2166e08 100644
--- a/ncat/Makefile.in
+++ b/ncat/Makefile.in
@@ -163,11 +163,11 @@ $(NSOCKDIR)/libnsock.a: $(NSOCKDIR)/Makefile
install: $(TARGET)
@echo Installing Ncat;
- $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
+ mkdir -p -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
$(INSTALL) -c -m 755 ncat $(DESTDIR)$(bindir)/ncat
$(STRIP) -x $(DESTDIR)$(bindir)/ncat
if [ -n "$(DATAFILES)" ]; then \
- $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(pkgdatadir); \
+ mkdir -p -m 755 $(DESTDIR)$(pkgdatadir); \
$(INSTALL) -c -m 644 $(DATAFILES) $(DESTDIR)$(pkgdatadir)/; \
fi
$(INSTALL) -c -m 644 docs/$(TARGET).1 $(DESTDIR)$(mandir)/man1/$(TARGET).1
diff --git a/nmap-update/Makefile.in b/nmap-update/Makefile.in
index 89ff928..93f48d8 100644
--- a/nmap-update/Makefile.in
+++ b/nmap-update/Makefile.in
@@ -37,7 +37,7 @@ $(NBASELIB):
cd $(NBASEDIR) && $(MAKE)
install: nmap-update
- $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
+ mkdir -p -m 755 $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
$(INSTALL) -c -m 755 nmap-update $(DESTDIR)$(bindir)
$(STRIP) -x $(DESTDIR)$(bindir)/nmap-update
$(INSTALL) -c -m 644 ../docs/nmap-update.1 $(DESTDIR)$(mandir)/man1/
--
1.9.1

View File

@@ -3,14 +3,17 @@ DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utili
SECTION = "security"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=bce7593e567a4b12f60c6a04f9b8c1e5"
LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=87c6956e28c3603a0a1dda11bcdc227a"
SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2"
SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2 \
file://nmap-redefine-the-python-library-dir.patch \
file://nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch \
"
SRC_URI[md5sum] = "f2f6660142a777862342a58cc54258ea"
SRC_URI[sha256sum] = "cb9f4e03c0771c709cd47dc8fc6ac3421eadbdd313f0aae52276829290583842"
SRC_URI[md5sum] = "435c7e095bdd4565e0f69c41743a45be"
SRC_URI[sha256sum] = "e9a96a8e02bfc9e80c617932acc61112c23089521ee7d6b1502ecf8e3b1674b2"
inherit autotools-brokensep pkgconfig python-dir distro_features_check
inherit autotools-brokensep pkgconfig pythonnative distro_features_check
PACKAGECONFIG ?= "ncat nping ndiff pcap"
PACKAGECONFIG += " ${@bb.utils.contains('IMAGE_FEATURES', 'x11-base', 'zenmap', '', d)}"
@@ -22,7 +25,7 @@ PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, op
#disable/enable packages
PACKAGECONFIG[nping] = ",--without-nping,"
PACKAGECONFIG[ncat] = ",--without-ncat,"
PACKAGECONFIG[ndiff] = ",--without-ndiff,"
PACKAGECONFIG[ndiff] = ",--without-ndiff,python"
PACKAGECONFIG[update] = ",--without-nmap-update,"
#Add gui
@@ -30,6 +33,8 @@ PACKAGECONFIG[zenmap] = "--with-zenmap, --without-zenmap, gtk+ python-core pytho
EXTRA_OECONF = "--with-libdnet=included --with-liblinear=included --without-subversion --with-liblua=included"
export PYTHON_SITEPACKAGES_DIR
do_configure() {
# strip hard coded python2#
sed -i -e 's=python2\.*=python=g' ${S}/configure.ac
@@ -38,13 +43,9 @@ do_configure() {
oe_runconf
}
do_install_append () {
# remove python dir, its not used or installed
rm -fr ${D}/${libdir}
}
PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'zenmap', '${PN}-zenmap', '', d)}"
FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
FILES_${PN}-zenmap = "${@bb.utils.contains("PACKAGECONFIG", "zenmap", "${bindir}/*zenmap ${bindir}/xnmap ${datadir}/applications/* ${bindir}/nmapfe ${datadir}/zenmap/* ${PYTHON_SITEPACKAGES_DIR}/radialnet/* ${PYTHON_SITEPACKAGES_DIR}/zenmap*", "", d)}"
RDEPENDS_${PN} = "python"