Bug 2254922

Summary: Review Request: perl-Protocol-SOCKS - Abstract support for the SOCKS5 network protocol
Product: [Fedora] Fedora Reporter: Chris Adams <linux>
Component: Package ReviewAssignee: Jitka Plesnikova <jplesnik>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jplesnik, package-review
Target Milestone: ---Flags: jplesnik: 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-01-26 14:26:39 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: 2254928    

Description Chris Adams 2023-12-17 22:41:52 UTC
Spec URL: https://cmadams.fedorapeople.org/perl-Protocol-SOCKS/perl-Protocol-SOCKS.spec
SRPM URL: https://cmadams.fedorapeople.org/perl-Protocol-SOCKS/perl-Protocol-SOCKS-0.003-1.fc39.src.rpm
Description:
SOCKS protocol support

Fedora Account System Username: cmadams

Comment 1 Jitka Plesnikova 2024-01-07 22:11:59 UTC
Source file is ok
Summary is ok
License is ok
Description is ok
TODO: Based on rpmlint, consider to use Summary text also for Description

URL and Source0
FIX: Please switch URL and Source0 from search.cpan.org to metacpan.org
     https://metacpan.org/dist/Protocol-SOCKS
     https://cpan.metacpan.org/authors/id/T/TE/TEAM/Protocol-SOCKS-%{version}.tar.gz

All tests passed

BuildRequires
FIX: Add build-require 
     coreutils - it is needed for %{_fixperms}
     perl(constant) - lib/Protocol/SOCKS/Constants.pm:25
     perl(Exporter) - lib/Protocol/SOCKS/Constants.pm:6
     perl(strict) - Makefile.PL:3
     perl(warnings) - Makefile.PL:4

$ rpm -qp --requires perl-Protocol-SOCKS-0.003-1.fc40.noarch.rpm | sort | uniq -c | grep -v rpmlib
      1 perl(constant)
      1 perl(Exporter)
      1 perl(Future)
      1 perl-libs
      1 perl(parent)
      1 perl(Protocol::SOCKS)
      1 perl(Protocol::SOCKS::Constants)
      1 perl(Socket)
      1 perl(strict)
      1 perl(warnings)
Binary requires are Ok.
 
$ rpm -qp --provides perl-Protocol-SOCKS-0.003-1.fc40.noarch.rpm | sort | uniq -c
      1 perl(Protocol::SOCKS) = 0.003
      1 perl-Protocol-SOCKS = 0.003-1.fc40
      1 perl(Protocol::SOCKS::Client) = 0.003
      1 perl(Protocol::SOCKS::Constants) = 0.003
      1 perl(Protocol::SOCKS::Server) = 0.003
Binary provides are Ok.

$ rpmlint ./perl-Protocol-SOCKS*
================================ rpmlint session starts ==========================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.11/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: 31, packages: 3
perl-Protocol-SOCKS.noarch: W: description-shorter-than-summary
perl-Protocol-SOCKS.src: W: description-shorter-than-summary
== 2 packages and 1 specfiles checked; 0 errors, 2 warnings, 0 badness; has taken 0.2 s ==
Rpmlint is ok

TODO: Explicitly name packaged files in %{_mandir}/man* and %{perl_vendorlib} directories
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists.

TODO: Use new %make_* macros and remove packlist by ExtUtils::MakeMaker's
      variable.
1) Add
 NO_PERLLOCAL=1 NO_PACKLIST=1
to command
 perl Makefile.PL
and remove
 find %{buildroot} -type f -name .packlist -exec rm -f {} ';'

2) Replace
 make %{?_smp_mflags}
by
 %{make_build}

3) Replace
 make pure_install PERL_INSTALL_ROOT=%{buildroot}
by
 %{make_install}

4) Add version restriction for perl(ExtUtils::MakeMaker) >= 6.76
   NO_PACKLIST is provided since this version.

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

Resolution:
Not Approved

Comment 2 Jitka Plesnikova 2024-01-07 22:17:25 UTC
Please consider to update your other package reviews by this review. 

Mainly URL, Source, using of %make_* macros
Use util `tangerine` for getting list of dependencies. It finds most of them.

Comment 3 Jitka Plesnikova 2024-01-08 12:40:09 UTC
TODO: Remove 'find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;' 
      it is not needed

Comment 5 Jitka Plesnikova 2024-01-26 12:56:28 UTC
> URL and Source0
> FIX: Please switch URL and Source0 from search.cpan.org to metacpan.org
>      https://metacpan.org/dist/Protocol-SOCKS
> https://cpan.metacpan.org/authors/id/T/TE/TEAM/Protocol-SOCKS-%{version}.tar.gz
Done

> BuildRequires
> FIX: Add build-require 
>      coreutils - it is needed for %{_fixperms}
>      perl(constant) - lib/Protocol/SOCKS/Constants.pm:25
>      perl(Exporter) - lib/Protocol/SOCKS/Constants.pm:6
>      perl(strict) - Makefile.PL:3
>      perl(warnings) - Makefile.PL:4
Done 
 
> TODO: Use new %make_* macros and remove packlist by ExtUtils::MakeMaker's
>       variable.
> 1) Add
>  NO_PERLLOCAL=1 NO_PACKLIST=1
> to command
>  perl Makefile.PL
> and remove
>  find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
Done

> 2) Replace
>  make %{?_smp_mflags}
> by
>  %{make_build}
Done
 
> 3) Replace
>  make pure_install PERL_INSTALL_ROOT=%{buildroot}
> by
>  %{make_install}
Done

> 4) Add version restriction for perl(ExtUtils::MakeMaker) >= 6.76
>    NO_PACKLIST is provided since this version.
Done
 
The package is in line with Fedora and Perl packaging guide lines.

Resolution:
Approved

Comment 6 Fedora Admin user for bugzilla script actions 2024-01-26 13:52:28 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Protocol-SOCKS

Comment 7 Chris Adams 2024-01-26 14:26:39 UTC
Thanks for the review! And thanks for the pointers for updated perl packaging.

Comment 8 Fedora Update System 2024-01-26 14:39:47 UTC
FEDORA-2024-8bf5001e7b has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-8bf5001e7b

Comment 9 Fedora Update System 2024-01-27 02:34:42 UTC
FEDORA-2024-8bf5001e7b 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-8bf5001e7b \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-8bf5001e7b

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

Comment 10 Fedora Update System 2024-02-05 01:24:40 UTC
FEDORA-2024-8bf5001e7b has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.