Bug 2254924

Summary: Review Request: perl-Net-DNS-Paranoid - Paranoid DNS resolver
Product: [Fedora] Fedora Reporter: Chris Adams <linux>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-03-23 00:36:49 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:    
Bug Blocks: 2254929    

Description Chris Adams 2023-12-17 22:47:38 UTC
Spec URL: https://cmadams.fedorapeople.org/perl-Net-DNS-Paranoid/perl-Net-DNS-Paranoid.spec
SRPM URL: https://cmadams.fedorapeople.org/perl-Net-DNS-Paranoid/perl-Net-DNS-Paranoid-0.08-1.fc39.src.rpm
Description:
This is a wrapper module for Net::DNS.

Fedora Account System Username: cmadams

Comment 3 Chris Adams 2024-03-08 20:02:09 UTC
Bumped release for additional spec file cleanups and new version:
Spec URL: https://cmadams.fedorapeople.org/perl-Net-DNS-Paranoid/perl-Net-DNS-Paranoid.spec
SRPM URL: https://cmadams.fedorapeople.org/perl-Net-DNS-Paranoid/perl-Net-DNS-Paranoid-0.09-1.fc39.src.rpm

Comment 4 Petr Pisar 2024-03-13 08:01:17 UTC
URL and Source0 addresses are Ok.
Source0 archive (SHA-512: 8feeb038bb9ad628fee77a8a6f6a62d4a1d25f1eff22cbca3e333a9643eee2046d31dc330e62901a21bb61093ec299ab1ab8b96ed5d72d5a1667ab15c33fa4f1) is original. Ok.

Summary verified from lib/Net/DNS/Paranoid.pm. Ok.

TODO: Capitalize "dns" in the summary.
TODO: The one-line description "wrapper module for Net::DNS" is not much helpful. Please the other line from Net::DNS::Paranoid POD, which explains the added value.

License verified from LICENSE, README.md, META.json, and lib/Net/DNS/Paranoid.pm. Ok.
No XS code is present, noarch BuildArch is Ok.

TODO: Build-require "perl(:VERSION) >= 5.8.8" (lib/Net/DNS/Paranoid.pm:4).
TODO: Unset "VERBOSE" variable in %check section. It is used in the tests (t/MockResolver.pm:27).

FIX: The %{_with_network_tests} condition affects t/00_compile.t. That test does not use the Internet and should be performed regardless the condition. I instead recommend deleting t/01_simple.t in %prep section based on negation of the condition.

FIX: With the %{_with_network_tests} condition as it is now, no tests are run, thus many of the BuildRequires (e.g. perl(lib), or perl(Net::DNS::Resolver)) are not needed. Guard them with the condition either.

TODO: Properly declare the %{_with_network_tests} build condition with "%bcond_with network_tests". It makes the build condition discoverable.

$ rpmlint perl-Net-DNS-Paranoid.spec ../SRPMS/perl-Net-DNS-Paranoid-0.09-1.fc41.src.rpm ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-1.fc41.noarch.rpm 
======================================== rpmlint session starts =======================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

=== 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 6 filtered, 0 badness; has taken 0.3 s ==
rpmlint is OK.

$ rpm -q -lv -p ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-1.fc41.noarch.rpm
drwxr-xr-x    2 root     root                        0 Mar  8 01:00 /usr/share/doc/perl-Net-DNS-Paranoid
-rw-r--r--    1 root     root                     1113 Feb  6 06:59 /usr/share/doc/perl-Net-DNS-Paranoid/Changes
-rw-r--r--    1 root     root                     2323 Feb  6 06:59 /usr/share/doc/perl-Net-DNS-Paranoid/README.md
drwxr-xr-x    2 root     root                        0 Mar  8 01:00 /usr/share/licenses/perl-Net-DNS-Paranoid
-rw-r--r--    1 root     root                    18452 Feb  6 06:59 /usr/share/licenses/perl-Net-DNS-Paranoid/LICENSE
-rw-r--r--    1 root     root                     1923 Mar  8 01:00 /usr/share/man/man3/Net::DNS::Paranoid.3pm.gz
-rw-r--r--    1 root     root                     8377 Feb  6 06:59 /usr/share/perl5/vendor_perl/Net/DNS/Paranoid.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-1.fc41.noarch.rpm | sort -f | uniq -c
      1 perl(:VERSION) >= 5.8.8
      1 perl(Class::Accessor::Lite)
      1 perl(Net::DNS)
      1 perl(strict)
      1 perl(warnings)
      1 perl-libs
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
TODO: Constrain "perl(Net::DNS)" with ">= 0.68" (META.json:51).

$ rpm -q --provides -p ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-1.fc41.noarch.rpm | sort -f | uniq -c
      1 perl(Net::DNS::Paranoid) = 0.09
      1 perl-Net-DNS-Paranoid = 0.09-1.fc41
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-1.fc41.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in Fedora 41 (https://koji.fedoraproject.org/koji/taskinfo?taskID=114852235). Ok.

Otherwise, the package in line with Fedora and Perl packaging guidelines.
Please correct all FIX items, consider fixing TODO items, and provide a new spec file.

Comment 5 Chris Adams 2024-03-13 15:38:21 UTC
Bumped release for additional spec file cleanups and new version:
Spec URL: https://cmadams.fedorapeople.org/perl-Net-DNS-Paranoid/perl-Net-DNS-Paranoid.spec
SRPM URL: https://cmadams.fedorapeople.org/perl-Net-DNS-Paranoid/perl-Net-DNS-Paranoid-0.09-2.fc39.src.rpm

Comment 6 Petr Pisar 2024-03-14 08:18:52 UTC
Changes in the spec file:

--- perl-Net-DNS-Paranoid.spec.old      2024-03-08 01:00:00.000000000 +0100
+++ perl-Net-DNS-Paranoid.spec  2024-03-13 01:00:00.000000000 +0100
@@ -1,26 +1,36 @@
+# some tests require Internet access, don't enable by default
+%bcond network_tests 0
+
 Name:           perl-Net-DNS-Paranoid
 Version:        0.09
-Release:        1%{?dist}
-Summary:        Paranoid dns resolver
+Release:        2%{?dist}
+Summary:        Paranoid DNS resolver
 License:        GPL-1.0-or-later OR Artistic-1.0-Perl
 URL:            https://metacpan.org/dist/Net-DNS-Paranoid/
 Source0:        https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/Net-DNS-Paranoid-%{version}.tar.gz
 BuildArch:      noarch
 BuildRequires:  perl-interpreter perl-generators coreutils
+BuildRequires:  perl(:VERSION) >= 5.8.8
 BuildRequires:  perl(Class::Accessor::Lite) >= 0.05
 BuildRequires:  perl(Module::Build::Tiny) >= 0.035
 BuildRequires:  perl(Net::DNS) >= 0.68
-BuildRequires:  perl(Net::DNS::Resolver)
+# version req isn't added by RPM auto-dep
+Requires:       perl(Net::DNS) >= 0.68
 BuildRequires:  perl(Test::More) >= 0.98
+BuildRequires:  perl(strict)
+BuildRequires:  perl(warnings)
+%if %{with network_tests}
+BuildRequires:  perl(Net::DNS::Resolver)
 BuildRequires:  perl(lib)
 BuildRequires:  perl(parent)
-BuildRequires:  perl(strict)
 BuildRequires:  perl(utf8)
-BuildRequires:  perl(warnings)
+%endif

 %description
 This is a wrapper module for Net::DNS.

+This module detects IP address / host names for internal servers.
+
 %prep
 %setup -q -n Net-DNS-Paranoid-%{version}

@@ -33,8 +43,11 @@
 %{_fixperms} %{buildroot}/*

 %check
-# tests require Internet access
-%{?_with_network_tests: ./Build test}
+unset VERBOSE
+%if %{without network_tests}
+rm t/01_simple.t
+%endif
+./Build test

 %files
 %doc Changes README.md
@@ -43,6 +56,9 @@
 %{_mandir}/man3/Net::DNS::Paranoid*

 %changelog
+* Wed Mar 13 2024 Chris Adams <linux> 0.09-2
+- additional spec file cleanups
+
 * Fri Mar 08 2024 Chris Adams <linux> 0.09-1
 - update to new version
 - additional spec file cleanups

All tests pass. Ok.

$ rpmlint perl-Net-DNS-Paranoid.spec ../SRPMS/perl-Net-DNS-Paranoid-0.09-2.fc41.src.rpm ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-2.fc41.noarch.rpm 
======================================== rpmlint session starts =======================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

=== 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 6 filtered, 0 badness; has taken 0.3 s ==
rpmlint is Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-2.fc41.noarch.rpm | sort -f | uniq -c
      1 perl(:VERSION) >= 5.8.8
      1 perl(Class::Accessor::Lite)
      1 perl(Net::DNS)
      1 perl(Net::DNS) >= 0.68
      1 perl(strict)
      1 perl(warnings)
      1 perl-libs
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
TODO: Filter the under-specified "perl(Net::DNS)" run-dependency with __requires_exclude macro.

$ resolvedeps rawhide ../RPMS/noarch/perl-Net-DNS-Paranoid-0.09-2.fc41.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in Fedora 41 (https://koji.fedoraproject.org/koji/taskinfo?taskID=114930964). Ok.

Please consider fixing the TODO item before building this package.
Package is APPROVED.

Comment 7 Fedora Admin user for bugzilla script actions 2024-03-14 12:13:46 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Net-DNS-Paranoid

Comment 8 Fedora Update System 2024-03-14 12:40:12 UTC
FEDORA-2024-2f98df9773 (perl-Net-DNS-Paranoid-0.09-2.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-2f98df9773

Comment 9 Fedora Update System 2024-03-14 12:47:37 UTC
FEDORA-2024-09933b0a54 (perl-Net-DNS-Paranoid-0.09-2.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-09933b0a54

Comment 10 Fedora Update System 2024-03-15 02:01:46 UTC
FEDORA-2024-09933b0a54 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-09933b0a54 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-09933b0a54

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2024-03-15 02:05:12 UTC
FEDORA-2024-2f98df9773 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-2f98df9773 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-2f98df9773

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2024-03-23 00:36:49 UTC
FEDORA-2024-09933b0a54 (perl-Net-DNS-Paranoid-0.09-2.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 13 Fedora Update System 2024-03-23 00:57:42 UTC
FEDORA-2024-2f98df9773 (perl-Net-DNS-Paranoid-0.09-2.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.