Bug 1835258

Summary: Review Request: perl-Crypt-ECB - Encrypt Data using ECB Mode
Product: [Fedora] Fedora Reporter: Charles R. Anderson <cra>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED NEXTRELEASE 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: 2020-05-15 11:50:11 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: 1835263    

Description Charles R. Anderson 2020-05-13 13:53:41 UTC
Spec URL: https://fedorapeople.org/~cra/perl-Crypt-ECB/perl-Crypt-ECB.spec
SRPM URL: https://fedorapeople.org/~cra/perl-Crypt-ECB/perl-Crypt-ECB-2.21-11.fc33.src.rpm
Description: This module is a Perl-only implementation of the ECB mode. In combination with a block cipher such as DES, IDEA or Blowfish, you can encrypt and decrypt messages of arbitrarily long length. Though for security reasons other modes than ECB such as CBC should be preferred. See textbooks on cryptography if you want to know why.

Fedora Account System Username: cra

Comment 1 Charles R. Anderson 2020-05-13 13:58:12 UTC
This is a re-review to unretire this package.

>rpmlint perl-Crypt-ECB.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

>rpmlint perl-Crypt-ECB-2.21-11.fc33.src.rpm
perl-Crypt-ECB.src: W: spelling-error %description -l en_US decrypt -> decry pt, decry-pt, decry
perl-Crypt-ECB.src: W: strange-permission Crypt-ECB-2.21.tar.gz 640
perl-Crypt-ECB.src: W: strange-permission perl-Crypt-ECB.spec 640
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

>rpmlint perl-Crypt-ECB-2.21-11.fc33.noarch.rpm
perl-Crypt-ECB.noarch: W: spelling-error %description -l en_US decrypt -> decry pt, decry-pt, decry
perl-Crypt-ECB.noarch: E: incorrect-fsf-address /usr/share/licenses/perl-Crypt-ECB/GPLv1
1 packages and 0 specfiles checked; 1 errors, 1 warnings.

Comment 2 Charles R. Anderson 2020-05-13 19:07:24 UTC
License statement from the README in the source distribution:

COPYING

Crypt-ECB is Copyright (C) 2000, 2005, 2008, 2016 by Christoph Appel.

This module is distributed using the same terms as Perl itself. It is free
software; you can redistribute it and/or modify it under the terms of either:

a) the GNU General Public License as published by the Free Software
Foundation; either version 1, or (at your option) any later version, or

b) the "Artistic License".

Comment 3 Petr Pisar 2020-05-14 09:07:57 UTC
The previous review was in bug #1168571.
Url and Source0 addresses are Ok.
Source0 archive (SHA-256: 890f8b3040220ea705ee5ca4f9bd23435a1779bc3ffa75533736e6c9c21d1015) is original. Ok.
Summary is Ok.

TODO: Correct a capitalization of the summary: "Encrypt data using ECB mode".

Description is Ok.
License verified from README and ECB.pm. Ok.
No XS code, noarch BuildArch is Ok.

TODO: Reorder perl-interpreter and perl-generators BuildRequires.
TODO: Use plain "perl" command instead of %{__perl} macro.
TODO: Use %{make_build} and %{make_install} as recommend by the guidelines.
TODO: If you pass NO_PACKLIST=1 NO_PELLOCAL=1 arguments to Makefile.PL, you can simplify %install section. See <https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMaker>.

All tests pass. Ok.

$ rpmlint perl-Crypt-ECB.spec ../SRPMS/perl-Crypt-ECB-2.21-11.fc33.src.rpm ../RPMS/noarch/perl-Crypt-ECB-2.21-11.fc33.noarch.rpm 
sh: /usr/bin/python2: No such file or directory
perl-Crypt-ECB.src: W: spelling-error %description -l en_US decrypt -> decry pt, decry-pt, decry
perl-Crypt-ECB.src: W: strange-permission Crypt-ECB-2.21.tar.gz 640
perl-Crypt-ECB.noarch: W: spelling-error %description -l en_US decrypt -> decry pt, decry-pt, decry
perl-Crypt-ECB.noarch: E: incorrect-fsf-address /usr/share/licenses/perl-Crypt-ECB/GPLv1
2 packages and 1 specfiles checked; 1 errors, 3 warnings.
rpmlint is Ok.

TODO: Report the bad FSF address to the upstream.

 rpm -q -lv -p ../RPMS/noarch/perl-Crypt-ECB-2.21-11.fc33.noarch.rpm 
drwxr-xr-x    2 root     root                        0 May 14 10:59 /usr/share/doc/perl-Crypt-ECB
-rw-r--r--    1 root     root                     3153 Sep 23  2016 /usr/share/doc/perl-Crypt-ECB/CHANGES
-rw-r--r--    1 root     root                     2365 Aug 26  2016 /usr/share/doc/perl-Crypt-ECB/README
-rw-r--r--    1 root     root                      744 Mar  8  2016 /usr/share/doc/perl-Crypt-ECB/README.XTEA
drwxr-xr-x    2 root     root                        0 Sep 23  2016 /usr/share/doc/perl-Crypt-ECB/eg
-rw-r--r--    1 root     root                     2247 Sep 23  2016 /usr/share/doc/perl-Crypt-ECB/eg/ecb.pl
drwxr-xr-x    2 root     root                        0 May 14 10:59 /usr/share/licenses/perl-Crypt-ECB
-rw-r--r--    1 root     root                     6106 Aug 26  2016 /usr/share/licenses/perl-Crypt-ECB/ARTISTIC
-rw-r--r--    1 root     root                     9944 Aug 26  2016 /usr/share/licenses/perl-Crypt-ECB/GPLv1
-rw-r--r--    1 root     root                     4871 May 14 10:59 /usr/share/man/man3/Crypt::ECB.3pm.gz
drwxr-xr-x    2 root     root                        0 May 14 10:59 /usr/share/perl5/vendor_perl/Crypt
-rw-r--r--    1 root     root                    21775 Sep 23  2016 /usr/share/perl5/vendor_perl/Crypt/ECB.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Crypt-ECB-2.21-11.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.30.2)
      1 perl(Exporter)
      1 perl(strict)
      1 perl(vars)
      1 perl(warnings)
      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
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/noarch/perl-Crypt-ECB-2.21-11.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(Crypt::ECB) = 2.21
      1 perl-Crypt-ECB = 2.21-11.fc33
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Crypt-ECB-2.21-11.fc33.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package build in F33 (https://koji.fedoraproject.org/koji/taskinfo?taskID=44480779). Ok.

Otherwise the package is in line with Fedora and Perl packaging guidelines.
Please consider fixing the 'TODO' items before building this package.
Resolution: Package APPROVED.

Comment 4 Charles R. Anderson 2020-05-14 10:44:02 UTC
Thanks!

Updated to use the latest perl packaging best practices:

Spec URL: https://fedorapeople.org/~cra/perl-Crypt-ECB/perl-Crypt-ECB.spec
SRPM URL: https://fedorapeople.org/~cra/perl-Crypt-ECB/perl-Crypt-ECB-2.21-12.fc33.src.rpm

and requested unretirement in RelEng ticket:

https://pagure.io/releng/issue/9453

Comment 5 Petr Pisar 2020-05-14 11:04:33 UTC
If you use the two arguments, you should constrain 'perl(ExtUtils::MakeMaker)' build-dependency with '>= 6.76'. They are not supported with older ExtUtils::MakeMaker.

Comment 6 Charles R. Anderson 2020-05-14 11:11:47 UTC
Bug report about FSF address:

https://rt.cpan.org/Public/Bug/Display.html?id=132579

(In reply to Petr Pisar from comment #5)
> If you use the two arguments, you should constrain
> 'perl(ExtUtils::MakeMaker)' build-dependency with '>= 6.76'. They are not
> supported with older ExtUtils::MakeMaker.

Updated locally.  Thanks.