Bug 2324539

Summary: Review Request: python-dnsdiag - DNS Measurement, Troubleshooting and Security Auditing Toolset (ping, traceroute)
Product: [Fedora] Fedora Reporter: Petr Menšík <pemensik>
Component: Package ReviewAssignee: Benson Muite <benson_muite>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: benson_muite, package-review
Target Milestone: ---Keywords: AutomationTriaged, Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://dnsdiag.org/
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-04 00:45:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2326842, 2328488    
Bug Blocks: 201449    

Description Petr Menšík 2024-11-08 12:54:37 UTC
Spec URL: https://pemensik.fedorapeople.org/python-dnsdiag.spec
SRPM URL: https://pemensik.fedorapeople.org/python-dnsdiag-2.6.0-1.fc40.src.rpm

Description:
DNSDiag provides a handful of tools to measure and diagnose your DNS
performance and integrity. Using dnsping, dnstraceroute and dnseval tools you
can measure your DNS response quality from delay and loss perspective as well
as tracing the path your DNS query takes to get to DNS server.

Fedora Account System Username: pemensik

Comment 1 Fedora Review Service 2024-11-08 13:00:24 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8231175
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2324539-python-dnsdiag/fedora-rawhide-x86_64/08231175-python-dnsdiag/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Benson Muite 2024-11-08 18:23:53 UTC
cymruwhois is not available in Fedora, so would need to be packaged
https://pypi.org/project/cymruwhois/

dnspython is not available in Fedora, so would need to be packaged
https://pypi.org/project/dnspython/

Can the new packaging guidelines be used? May need to relax some of the
dependency version requirements.
Would expect something similar to:

%global pypi_name dnsdiag
%global pypi_version 2.6.0

Name:           python-%{pypi_name}
Version:        %{pypi_version}
Release:        %autorelease
Summary:        DNS Measurement, Troubleshooting and Security Auditing Toolset (ping, traceroute)

License:        BSD-2-Clause
URL:            https://dnsdiag.org/
Source:         %{pypi_source}
BuildArch:      noarch

BuildRequires:  python3-devel
BuildRequires:  python3dist(setuptools)

%description
DNSDiag provides a handful of tools to measure and diagnose your DNS
performance and integrity. Using dnsping, dnstraceroute and dnseval tools you
can measure your DNS response quality from delay and loss perspective as well
as tracing the path your DNS query takes to get to DNS server.

%package -n     python3-%{pypi_name}
Summary:        %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}

%description -n python3-%{pypi_name}
DNSDiag provides a handful of tools to measure and diagnose your DNS
performance and integrity. Using dnsping, dnstraceroute and dnseval tools you
can measure your DNS response quality from delay and loss perspective as well
as tracing the path your DNS query takes to get to DNS server.


%prep
%autosetup -n %{pypi_name}-%{pypi_version}
# Remove bundled egg-info
rm -rf %{pypi_name}.egg-info

%generate_buildrequires
%pyproject_buildrequires

%build
%pyproject_wheel

%install
%pyproject_install

for BIN in dns{eval,ping,traceroute}; do
  # replace easyinstall wrappers by scripts itself
  mv %{buildroot}%{_bindir}/$BIN{.py,}
done

%pyproject_save_files %{pypi_name} -L

%check
%pyproject_check_import

%files -n python3-%{pypi_name}
%license LICENSE
%doc README.md
%{_bindir}/dnseval
%{_bindir}/dnsping
%{_bindir}/dnstraceroute

%changelog
%autochangelog

Comment 3 Benson Muite 2024-11-17 17:58:48 UTC
Review request for one of the unpackaged dependencies:
https://bugzilla.redhat.com/show_bug.cgi?id=2326842

cmyruwhois seems quite old. Maybe something newer could be used?

Comment 4 Petr Menšík 2024-12-04 13:40:06 UTC
(In reply to Benson Muite from comment #3)
> Review request for one of the unpackaged dependencies:
> https://bugzilla.redhat.com/show_bug.cgi?id=2326842
> 
> cmyruwhois seems quite old. Maybe something newer could be used?

whoisdomain is actively maintained, but does not support IP lookups in whois.
We might want to use python3-maxminddb together with geolite2-asn. That should be pretty fast, already maintained and good choice even for the future.

aslookup module would be decent alternative, but that is not packaged for Fedora anyway.

maxminddb code is simple enough:

import maxminddb
ASNDB='/usr/share/GeoIP/GeoLite2-ASN.mmdb'
db = maxminddb.open_database(ASNDB)
db.get('8.8.8.8')

Comment 5 Petr Menšík 2024-12-04 13:48:49 UTC
we have dnspython packaged, that is packaged as python3-dns. provides also python3dist(dnspython).

Comment 6 Petr Menšík 2024-12-04 13:53:06 UTC
selfping: create upstream proposal with maxminddb module instead fo cymruwhois. Then make new release here in revision.

Comment 7 Package Review 2025-01-04 00:45:27 UTC
This is an automatic action taken by review-stats script.

The ticket submitter failed to clear the NEEDINFO flag in a month.
As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews
we consider this ticket as DEADREVIEW and proceed to close it.

Comment 8 Benson Muite 2025-01-04 08:46:57 UTC
Packaged cymruwhois. Migration can be done later if this package is still of interest.

Comment 9 Package Review 2025-02-04 00:45:25 UTC
This is an automatic action taken by review-stats script.

The ticket submitter failed to clear the NEEDINFO flag in a month.
As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews
we consider this ticket as DEADREVIEW and proceed to close it.