Bug 1471999

Summary: nmap: ndiff doesn't work without nmap-frontend
Product: [Fedora] Fedora Reporter: Matías Zúñiga <matias.nicolas.zc>
Component: nmapAssignee: Pavel Zhukov <pzhukov>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 26CC: mhlavink, pzhukov
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: nmap-7.40-4.fc26 nmap-7.40-5.fc26 nmap-7.40-7.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-07-24 19:22:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matías Zúñiga 2017-07-17 22:15:20 UTC
Description of problem:
The ndiff utility doesn't work if the nmap-frontend package is not installed, because /usr/lib/python2.7/site-packages/ndiff.py* is not present in the base package

Version-Release number of selected component (if applicable):
7.40-3, but seems to be the case since nmap-6.47 (fc21)

Steps to Reproduce:
1. dnf install nmap (make sure nmap-frontend is not installed)
2. ndiff

Actual results:
The following message is printed:

Could not import the ndiff module: 'No module named ndiff'.
I checked in these directories:
    /usr/bin
    /usr/lib/python27.zip
    /usr/lib64/python2.7
    /usr/lib64/python2.7/plat-linux2
    /usr/lib64/python2.7/lib-tk
    /usr/lib64/python2.7/lib-old
    /usr/lib64/python2.7/lib-dynload
    /usr/lib64/python2.7/site-packages
    /usr/lib64/python2.7/site-packages/gtk-2.0
    /usr/lib/python2.7/site-packages
    /usr/lib/python2.7/site-packages
If you installed Ndiff in another directory, you may have to add the
modules directory to the PYTHONPATH environment variable.

Expected results:
All of the included utilities should work.

Additional info:
As the problem is old and no one reported it, i assume that ndiff is not commonly  used (i found this by looking for the reason of the python runtime-dependency). I suggest to split ndiff in a subpackage (with /usr/bin/ndiff from nmap and /usr/lib/python2.7/site-packages/ndiff.py* from nmap-frontend), so the whole python2 stack is not installed for everyone using nmap but no needing ndiff (python3 is the default stack in fedora).

Comment 1 Pavel Zhukov 2017-07-18 13:02:02 UTC
Thank you for report. 
I've moved ndiff binary, python modules and man page to ndiff subpackage and add it to reqs of frontend package . Should fix your problem.

Comment 2 Fedora Update System 2017-07-18 15:07:53 UTC
nmap-7.40-5.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-4f787bc13a

Comment 3 Fedora Update System 2017-07-20 00:25:59 UTC
nmap-7.40-5.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-4f787bc13a

Comment 4 Fedora Update System 2017-07-20 15:54:12 UTC
nmap-7.40-5.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 5 Matías Zúñiga 2017-07-20 18:46:52 UTC
With the last version, /usr/bin/ndiff is still included in the nmap package, and not in nmap-ndiff.
Also, /usr/bin/ndiff is the last piece of python code in the nmap package, so the python2 dependency should be moved to nmap-ndiff.

Comment 6 Fedora Update System 2017-07-21 07:55:02 UTC
nmap-7.40-7.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-9befcd7a54

Comment 7 Fedora Update System 2017-07-23 09:58:49 UTC
nmap-7.40-7.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-9befcd7a54

Comment 8 Fedora Update System 2017-07-24 19:22:37 UTC
nmap-7.40-7.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.