Bug 1874286 - Review Request: perl-Acme-Alien-DontPanic2 - Test module for Alien::Base + Alien::Build
Summary: Review Request: perl-Acme-Alien-DontPanic2 - Test module for Alien::Base + Al...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1874274
Blocks: 1873584
TreeView+ depends on / blocked
 
Reported: 2020-08-31 22:16 UTC by Jitka Plesnikova
Modified: 2020-09-25 16:44 UTC (History)
2 users (show)

Fixed In Version: perl-Acme-Alien-DontPanic2-2.290.1-1.fc34
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-02 06:14:08 UTC
Type: ---
Embargoed:
ppisar: fedora-review+


Attachments (Terms of Use)

Description Jitka Plesnikova 2020-08-31 22:16:49 UTC
Spec URL: 
https://jplesnik.fedorapeople.org/perl-Acme-Alien-DontPanic2/perl-Acme-Alien-DontPanic2.spec
SRPM URL: https://jplesnik.fedorapeople.org/perl-Acme-Alien-DontPanic2/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.src.rpm

Description:
Alien::Base comprises base classes to help in the construction of Alien::
modules. Modules in the Alien namespace are used to locate and install (if
necessary) external libraries needed by other Perl modules.

Fedora Account System Username: jplesnik

Comment 1 Petr Pisar 2020-09-01 14:22:55 UTC
The URL and Source0 addresses are usable. Ok.
TODO: Remove a trailing slash from the URL value.

Source0 archive (SHA-256: eb15ac418262a05d824c23c365a3c61911ff16f1fd51964d13847317c6e2681c) is original. Ok.
Summary verified from lib/Acme/Alien/DontPanic2.pm. Ok.

FIX: The description talks about Alien::Build. Not about Acme::Alien::DontPanic2. Please use the second paragraph from the POD like this:

  This module is a toy module to test the efficacy of the Alien::Base
  system.

License verified from: Build.PL, README, LICENSE, and lib/Acme/Alien/DontPanic2.pm. Ok.

FIX: Build-require 'coreutils' (perl-Acme-Alien-DontPanic2.spec:61).
FIX: Build-require 'base' (lib/Acme/Alien/DontPanic2.pm:5).
FIX: Do not build-require 'perl(Sort::Versions)'. It's not used anywhere.

If you build-require some Alien::Build plugins, please buil-require all of them:
FIX: Build-require 'perl(Alien::Build::Plugin::PkgConfig)' (alienfile:3).
FIX: Build-require 'perl(Alien::Build::Plugin::Download)' (alienfile:12).
FIX: Build-require 'perl(Alien::Build::Plugin::Extract)' (alienfile:16).

All tests pass. Ok.

$ rpmlint perl-Acme-Alien-DontPanic2.spec ../SRPMS/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.src.rpm ../RPMS/x86_64/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.x86_64.rpm 
sh: /usr/bin/python2: No such file or directory
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/x86_64/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/Acme
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/Acme/Alien
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/Acme/Alien/DontPanic2
-rw-r--r--    1 root     root                     1337 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/Acme/Alien/DontPanic2.pm
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/Acme/Alien/DontPanic2/Install
-rw-r--r--    1 root     root                      169 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/Acme/Alien/DontPanic2/Install/Files.pm
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/Acme
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/Acme/Alien
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/Acme/Alien/DontPanic2
-rw-r--r--    1 root     root                       65 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/Acme/Alien/DontPanic2/DontPanic2.txt
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/share
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/share/dist
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/share/dist/Acme-Alien-DontPanic2
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/share/dist/Acme-Alien-DontPanic2/_alien
-rw-r--r--    1 root     root                      664 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/share/dist/Acme-Alien-DontPanic2/_alien/alien.json
-rw-r--r--    1 root     root                      879 Sep  1 16:05 /usr/lib64/perl5/vendor_perl/auto/share/dist/Acme-Alien-DontPanic2/_alien/alienfile
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/share/doc/perl-Acme-Alien-DontPanic2
-rw-r--r--    1 root     root                     1563 Aug 28 18:37 /usr/share/doc/perl-Acme-Alien-DontPanic2/Changes
-rw-r--r--    1 root     root                     1053 Aug 28 18:37 /usr/share/doc/perl-Acme-Alien-DontPanic2/README
drwxr-xr-x    2 root     root                        0 Sep  1 16:05 /usr/share/licenses/perl-Acme-Alien-DontPanic2
-rw-r--r--    1 root     root                    18352 Aug 28 18:37 /usr/share/licenses/perl-Acme-Alien-DontPanic2/LICENSE
-rw-r--r--    1 root     root                     2358 Sep  1 16:05 /usr/share/man/man3/Acme::Alien::DontPanic2.3pm.gz
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/x86_64/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.x86_64.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.32.0)
      1 perl(Acme::Alien::DontPanic2)
      1 perl(Alien::Base) >= 0.038
      1 perl(base)
      1 perl(strict)
      1 perl(warnings)
      1 pkgconfig(dontpanic)
      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/x86_64/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.x86_64.rpm | sort -f | uniq -c
      1 perl(Acme::Alien::DontPanic2) = 2.2901
      1 perl(Acme::Alien::DontPanic2::Install::Files)
      1 perl-Acme-Alien-DontPanic2 = 2.290.1-1.fc34
      1 perl-Acme-Alien-DontPanic2(x86-64) = 2.290.1-1.fc34
Binary provides are Ok.

$ resolvedeps f34-build ../RPMS/x86_64/perl-Acme-Alien-DontPanic2-2.290.1-1.fc34.x86_64.rpm 
Binary dependencies are resolvable. Ok.

The package build in Fedora 34 (https://koji.fedoraproject.org/koji/taskinfo?taskID=50569245). Ok.
Otherwise the package is in line with Fedora and Perl packaging guidelines.
Please correct the 'FIX' items, and consider fixing the 'TODO' item before buidling this packaage.
Resolution: Package APPROVED.

Comment 2 Gwyn Ciesla 2020-09-01 20:21:09 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Acme-Alien-DontPanic2

Comment 3 Jitka Plesnikova 2020-09-02 06:14:08 UTC
Thank you for the review and the repository.

Comment 4 Fedora Update System 2020-09-03 07:24:43 UTC
FEDORA-2020-66b75466bb has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-66b75466bb

Comment 5 Fedora Update System 2020-09-03 18:10:00 UTC
FEDORA-2020-66b75466bb has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-66b75466bb`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-66b75466bb

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

Comment 6 Petr Pisar 2020-09-04 06:22:11 UTC
(In reply to Petr Pisar from comment #1)
> If you build-require some Alien::Build plugins, please buil-require all of
> them:
> FIX: Build-require 'perl(Alien::Build::Plugin::PkgConfig)' (alienfile:3).
> FIX: Build-require 'perl(Alien::Build::Plugin::Download)' (alienfile:12).
> FIX: Build-require 'perl(Alien::Build::Plugin::Extract)' (alienfile:16).
> 
Those modules do not exist. There are perl(Alien::Build::Plugin::*::Negotiate) modules instead. First Alien::Build->apply_plugin() attempts to load the Negotiate modules, and then it tries the original name:

  if($name !~ /::/ && !$found)
  {
    foreach my $inc (@INC)
    { 
      # TODO: allow negotiators to work with @INC hooks
      next if ref $inc;
      my $file = Path::Tiny->new("$inc/Alien/Build/Plugin/$name/Negotiate.pm");
      if(-r $file)
      { 
        $class = "Alien::Build::Plugin::${name}::Negotiate";
        $pm    = "Alien/Build/Plugin/$name/Negotiate.pm";
        $found = 1;
        last;
      }
    }
  }

  unless($found)
  {
    $class = "Alien::Build::Plugin::$name";
    $pm    = "Alien/Build/Plugin/$name.pm";
    $pm    =~ s{::}{/}g;
  }

Perhaps perl-Alien-Module package could provide perl-Alien-Module(PkgConfig) and then the alienfile users could require it. Or provide an artificial perl(Alien::Build::Plugin::PkgConfig). perl-Alien-Module is becoming pretty big with many dependencies, like cmake and libffi. Splitting it into many plugin-specific subpackages could make the dependency tree smaller.

Comment 7 Fedora Update System 2020-09-25 16:44:08 UTC
FEDORA-2020-66b75466bb has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.