From 2f30963b822b508bf53795950ea6e8198f464807 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Thu, 27 Jul 2017 16:18:47 +0800 Subject: 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 Signed-off-by: Armin Kuster --- .../nmap-redefine-the-python-library-dir.patch | 37 +++++++++++++++ ...shtool-mkdir-with-coreutils-mkdir-command.patch | 48 ++++++++++++++++++++ recipes-security/nmap/nmap_7.31.bb | 51 --------------------- recipes-security/nmap/nmap_7.50.bb | 52 ++++++++++++++++++++++ 4 files changed, 137 insertions(+), 51 deletions(-) create mode 100644 recipes-security/nmap/files/nmap-redefine-the-python-library-dir.patch create mode 100644 recipes-security/nmap/files/nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch delete mode 100644 recipes-security/nmap/nmap_7.31.bb create mode 100644 recipes-security/nmap/nmap_7.50.bb diff --git a/recipes-security/nmap/files/nmap-redefine-the-python-library-dir.patch b/recipes-security/nmap/files/nmap-redefine-the-python-library-dir.patch new file mode 100644 index 0000000..356b507 --- /dev/null +++ b/recipes-security/nmap/files/nmap-redefine-the-python-library-dir.patch @@ -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 +--- + 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 + diff --git a/recipes-security/nmap/files/nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch b/recipes-security/nmap/files/nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch new file mode 100644 index 0000000..cfe043a --- /dev/null +++ b/recipes-security/nmap/files/nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch @@ -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 +--- + 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 + diff --git a/recipes-security/nmap/nmap_7.31.bb b/recipes-security/nmap/nmap_7.31.bb deleted file mode 100644 index c50b240..0000000 --- a/recipes-security/nmap/nmap_7.31.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "network auditing tool" -DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf" -SECTION = "security" -LICENSE = "GPL-2.0" - -LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=bce7593e567a4b12f60c6a04f9b8c1e5" - -SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2" - -SRC_URI[md5sum] = "f2f6660142a777862342a58cc54258ea" -SRC_URI[sha256sum] = "cb9f4e03c0771c709cd47dc8fc6ac3421eadbdd313f0aae52276829290583842" - -inherit autotools-brokensep pkgconfig python-dir distro_features_check - -PACKAGECONFIG ?= "ncat nping ndiff pcap" -PACKAGECONFIG += " ${@bb.utils.contains('IMAGE_FEATURES', 'x11-base', 'zenmap', '', d)}" - -PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap" -PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpre" -PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl" - -#disable/enable packages -PACKAGECONFIG[nping] = ",--without-nping," -PACKAGECONFIG[ncat] = ",--without-ncat," -PACKAGECONFIG[ndiff] = ",--without-ndiff," -PACKAGECONFIG[update] = ",--without-nmap-update," - -#Add gui -PACKAGECONFIG[zenmap] = "--with-zenmap, --without-zenmap, gtk+ python-core python-codecs python-io python-logging python-unittest python-xml python-netclient python-doctest python-subprocess python-pygtk, python-core python-codecs python-io python-logging python-netclient python-xml python-unittest python-doctest python-subprocess python-pygtk gtk+" - -EXTRA_OECONF = "--with-libdnet=included --with-liblinear=included --without-subversion --with-liblua=included" - -do_configure() { - # strip hard coded python2# - sed -i -e 's=python2\.*=python=g' ${S}/configure.ac - sed -i -e 's=python2\.*=python=g' ${S}/configure - autoconf - 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}-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" -RDEPENDS_${PN}-zenmap = "nmap" diff --git a/recipes-security/nmap/nmap_7.50.bb b/recipes-security/nmap/nmap_7.50.bb new file mode 100644 index 0000000..30ae06f --- /dev/null +++ b/recipes-security/nmap/nmap_7.50.bb @@ -0,0 +1,52 @@ +SUMMARY = "network auditing tool" +DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf" +SECTION = "security" +LICENSE = "GPL-2.0" + +LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=87c6956e28c3603a0a1dda11bcdc227a" + +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] = "435c7e095bdd4565e0f69c41743a45be" +SRC_URI[sha256sum] = "e9a96a8e02bfc9e80c617932acc61112c23089521ee7d6b1502ecf8e3b1674b2" + +inherit autotools-brokensep pkgconfig pythonnative distro_features_check + +PACKAGECONFIG ?= "ncat nping ndiff pcap" +PACKAGECONFIG += " ${@bb.utils.contains('IMAGE_FEATURES', 'x11-base', 'zenmap', '', d)}" + +PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap" +PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpre" +PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl" + +#disable/enable packages +PACKAGECONFIG[nping] = ",--without-nping," +PACKAGECONFIG[ncat] = ",--without-ncat," +PACKAGECONFIG[ndiff] = ",--without-ndiff,python" +PACKAGECONFIG[update] = ",--without-nmap-update," + +#Add gui +PACKAGECONFIG[zenmap] = "--with-zenmap, --without-zenmap, gtk+ python-core python-codecs python-io python-logging python-unittest python-xml python-netclient python-doctest python-subprocess python-pygtk, python-core python-codecs python-io python-logging python-netclient python-xml python-unittest python-doctest python-subprocess python-pygtk gtk+" + +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 + sed -i -e 's=python2\.*=python=g' ${S}/configure + autoconf + oe_runconf +} + +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" +RDEPENDS_${PN}-zenmap = "nmap" -- cgit v1.2.3-54-g00ecf