Bug 2011825

Summary: Review Request: perl-Compress-Stream-Zstd - Perl interface to the Zstd (Zstandard) (de)compressor
Product: [Fedora] Fedora Reporter: Xavier Bachelot <xavier>
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: 2021-10-31 01:01:26 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: 2011828    

Description Xavier Bachelot 2021-10-07 13:35:27 UTC
Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Compress-Stream-Zstd.spec
SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Compress-Stream-Zstd-0.202-1.fc35.src.rpm

Description:
The Compress::Stream::Zstd module provides an interface to the Zstd
(de)compressor.

Fedora Account System Username: xavierb

Comment 1 Jitka Plesnikova 2021-10-21 12:42:33 UTC
Source file is ok
Summary is ok
License is ok
Description is ok
URL is ok

FIX: Please switch source from www.cpan.org to metacpan.org
     https://cpan.metacpan.org/modules/by-module/Compress/Compress-Stream-Zstd-%{version}.tar.gz

All tests passed
BuildRequires

FIX: Please add build-requires:
     coreutils - perl-Compress-Stream-Zstd.spec (line 42)
     findutils - perl-Compress-Stream-Zstd.spec (line 39,40)
     perl-interpreter - perl-Compress-Stream-Zstd.spec (line 20,33)
     perl(Config) - builder/MyBuilder.pm:7
     perl(Devel::PPPort) - builder/MyBuilder.pm:50
     perl(File::Basename) - Build.PL:14
     perl(File::Spec) - Build.PL:15
     perl(utf8) - Build.PL:10

FIX: Use 'perl(:VERSION) >= 5.8.1' instead of 'perl >= 5.008001' because
     the package has an epoch.

$ rpm -qp --requires perl-Compress-Stream-Zstd-0.202-1.fc36.x86_64.rpm | sort | uniq -c | grep -v rpmlib
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.14)(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.3.2)(64bit)
      1 libc.so.6(GLIBC_2.34)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 perl(Compress::Stream::Zstd)
      1 perl(Exporter)
      1 perl(:MODULE_COMPAT_5.34.0)
      1 perl(parent)
      1 perl(strict)
      1 perl(:VERSION) >= 5.8.1
      1 perl(warnings)
      1 perl(XSLoader)
      1 rtld(GNU_HASH)
Binary requires are almost Ok.
FIX: Please remove run-require 'perl(parent)'. It is used only for build (builder/MyBuilder.pm:5).

$ rpm -qp --provides perl-Compress-Stream-Zstd-0.202-1.fc36.x86_64.rpm | sort | uniq -c
      1 perl(Compress::Stream::Zstd) = 0.202
      1 perl-Compress-Stream-Zstd = 0.202-1.fc36
      1 perl(Compress::Stream::Zstd::CompressionContext)
      1 perl(Compress::Stream::Zstd::CompressionDictionary)
      1 perl(Compress::Stream::Zstd::Compressor)
      1 perl(Compress::Stream::Zstd::DecompressionContext)
      1 perl(Compress::Stream::Zstd::DecompressionDictionary)
      1 perl(Compress::Stream::Zstd::Decompressor)
      1 perl-Compress-Stream-Zstd(x86-64) = 0.202-1.fc36
Binary provides

FIX: The package uses bundled source of 'zstd', so you have to added it to
     provides. See info:
     https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling

     Unbundling is not possible, because libzstd-devel doesn't not contains
     'compress/zstdmt_compress.h', which is used by lib/Compress/Stream/Zstd.xs 

$ rpmlint ./perl-Compress-Stream-Zstd*
perl-Compress-Stream-Zstd.src: W: spelling-error Summary(en_US) de -> DE, ed, d
perl-Compress-Stream-Zstd.src: W: spelling-error %description -l en_US de -> DE, ed, d
perl-Compress-Stream-Zstd.x86_64: W: spelling-error Summary(en_US) de -> DE, ed, d
perl-Compress-Stream-Zstd.x86_64: W: spelling-error %description -l en_US de -> DE, ed, d
2 packages and 1 specfiles checked; 0 errors, 4 warnings.
Rpmlint is ok

TODO: Remove the deleting empty directories in %install section. This is
      default behavior for Fedoras.

TODO: Removing *.bs file could be simplified
      find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -delete

TODO: Please consider adding 'eg/' to %doc

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 Xavier Bachelot 2021-10-21 13:40:54 UTC
Thanks for the review.
I have addressed all but :
TODO: Remove the deleting empty directories in %install section. This is
      default behavior for Fedoras.

TODO: Removing *.bs file could be simplified
      find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -delete

If I changes that, will that still work for EL7 ?

Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Compress-Stream-Zstd.spec
SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Compress-Stream-Zstd-0.202-2.fc36.src.rpm

Comment 3 Jitka Plesnikova 2021-10-21 14:37:49 UTC
> FIX: Please switch source from www.cpan.org to metacpan.org
> https://cpan.metacpan.org/modules/by-module/Compress/Compress-Stream-Zstd-
> %{version}.tar.gz
-Source0:        https://www.cpan.org/modules/by-module/Compress/Compress-Stream-Zstd-%{version}.tar.gz
+Source0:        https://cpan.metacpan.org/modules/by-module/Compress/Compress-Stream-Zstd-%{version}.tar.gz
Ok.

> FIX: Please add build-requires:
>      coreutils - perl-Compress-Stream-Zstd.spec (line 42)
>      findutils - perl-Compress-Stream-Zstd.spec (line 39,40)
>      perl-interpreter - perl-Compress-Stream-Zstd.spec (line 20,33)
>      perl(Config) - builder/MyBuilder.pm:7
>      perl(Devel::PPPort) - builder/MyBuilder.pm:50
>      perl(File::Basename) - Build.PL:14
>      perl(File::Spec) - Build.PL:15
>      perl(utf8) - Build.PL:10
+BuildRequires:  coreutils
+BuildRequires:  findutils
+BuildRequires:  perl-interpreter
+BuildRequires:  perl(Config)
+BuildRequires:  perl(Devel::PPPort)
+BuildRequires:  perl(ExtUtils::CBuilder)
+BuildRequires:  perl(File::Basename)
+BuildRequires:  perl(File::Spec)
+BuildRequires:  perl(utf8)
Ok

> FIX: Use 'perl(:VERSION) >= 5.8.1' instead of 'perl >= 5.008001' because
>      the package has an epoch.
-BuildRequires:  perl >= 0:5.008001
+BuildRequires:  perl(:VERSION) >= 5.8.1
Ok.

> FIX: Please remove run-require 'perl(parent)'. It is used only for build
> (builder/MyBuilder.pm:5).
-Requires:       perl(parent)
Ok

> FIX: The package uses bundled source of 'zstd', so you have to added it to
>      provides. See info:
>      https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling
+# Unbundling is not possible, because libzstd-devel doesn't not contains
+# 'compress/zstdmt_compress.h', which is used by lib/Compress/Stream/Zstd.xs 
+Provides:       bundled(zstd) = 1.4.3
Ok.
 
> TODO: Remove the deleting empty directories in %install section. This is
>       default behavior for Fedoras.
Ignore it for EPEL 7.

> TODO: Removing *.bs file could be simplified
>       find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -delete
It can be used in EPEL 7.

> TODO: Please consider adding 'eg/' to %doc
+%doc Changes README.md eg/
Ok

I missed one thing.
FIX: Please add build-requires perl-devel and gcc, because it is XS package.

Otherwise the package is in line with Fedora and Perl packaging guidelines.
Please correct the last 'FIX' item.

Resolution:
Approved

Comment 4 Gwyn Ciesla 2021-10-22 13:17:04 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Compress-Stream-Zstd

Comment 5 Fedora Update System 2021-10-22 14:08:46 UTC
FEDORA-2021-97c0c0dae1 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-97c0c0dae1

Comment 6 Fedora Update System 2021-10-22 14:08:47 UTC
FEDORA-2021-b04da59a34 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-b04da59a34

Comment 7 Fedora Update System 2021-10-22 14:08:47 UTC
FEDORA-2021-3921834dbe has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-3921834dbe

Comment 8 Fedora Update System 2021-10-23 02:23:45 UTC
FEDORA-2021-b04da59a34 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-b04da59a34 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-b04da59a34

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

Comment 9 Fedora Update System 2021-10-23 03:31:47 UTC
FEDORA-EPEL-2021-d34a8848ca has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-d34a8848ca

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

Comment 10 Fedora Update System 2021-10-23 03:45:19 UTC
FEDORA-2021-97c0c0dae1 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-97c0c0dae1 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-97c0c0dae1

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

Comment 11 Fedora Update System 2021-10-23 04:05:07 UTC
FEDORA-2021-3921834dbe has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-3921834dbe \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-3921834dbe

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

Comment 12 Fedora Update System 2021-10-31 01:01:26 UTC
FEDORA-2021-97c0c0dae1 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 13 Fedora Update System 2021-10-31 01:08:15 UTC
FEDORA-2021-b04da59a34 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 14 Fedora Update System 2021-10-31 01:14:38 UTC
FEDORA-2021-3921834dbe has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 15 Fedora Update System 2021-10-31 01:31:21 UTC
FEDORA-EPEL-2021-d34a8848ca has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.