Bug 1437588 - Review Request: perl-List-MoreUtils-XS - Provide compiled List::MoreUtils functions
Summary: Review Request: perl-List-MoreUtils-XS - Provide compiled List::MoreUtils fun...
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:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-03-30 15:29 UTC by Paul Howarth
Modified: 2017-04-15 18:28 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-04-15 18:28:03 UTC
Type: ---
Embargoed:
ppisar: fedora-review+


Attachments (Terms of Use)

Description Paul Howarth 2017-03-30 15:29:59 UTC
Spec URL: http://subversion.city-fan.org/repos/cfo-repo/perl-List-MoreUtils-XS/branches/fedora/perl-List-MoreUtils-XS.spec
SRPM URL: http://www.city-fan.org/~paul/extras/perl-List-MoreUtils-XS/perl-List-MoreUtils-XS-0.418-2.fc27.src.rpm
Description:

This module provides accelerated versions of functions in List::MoreUtils.

Fedora Account System Username: pghmcfc

The XS functionality has been split out from the main perl-List-MoreUtils package, hence this review request. There's some debate going on upstream (https://github.com/perl5-utils/List-MoreUtils/issues/25) about how to manage the interdependencies between List::MoreUtils and List::MoreUtils::XS, so I don't intend doing anything with this outside Rawhide to start with.

Comment 1 Petr Pisar 2017-04-03 11:36:35 UTC
FIX: The URL is wrong. It points to List-MoreUtils distribution.

Source address is usable. Ok.
Source archive (SHA-256: 0aa41a90337bb1ec48db50e5c73875b960685ff4dd49c26ed39dea0d52752d4f) is original. Ok.
Summary verified from lib/List/MoreUtils/XS.pm. Ok.
Description is Ok.
License verified from XS.xs, t/lib/Test/LMU.pm, t/lib/LMU/Test/XS.pm, t/lib/LMU/Test/Import.pm, t/lib/LMU/Test/Functions.pm, t/lib/LMU/Test/ab.pm, README.md, ppport.h, lib/List/MoreUtils/XS.pm, inc/latest/private.pm, inc/inc_Config-AutoConf/Config/AutoConf.pm, inc/inc_Capture-Tiny/Capture/Tiny.pm, t/LICENSE, LICENSE, ARTISTIC-1.0, GPL-1. Ok.
Notice: File::Path is not used. Ok.
All tests pass. Ok.

$ rpmlint perl-List-MoreUtils-XS.spec ../SRPMS/perl-List-MoreUtils-XS-0.418-2.fc27.src.rpm ../RPMS/x86_64/perl-List-MoreUtils-XS-*
perl-List-MoreUtils-XS.x86_64: W: hidden-file-or-dir /usr/lib/.build-id
perl-List-MoreUtils-XS.x86_64: W: hidden-file-or-dir /usr/lib/.build-id
3 packages and 1 specfiles checked; 0 errors, 2 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/x86_64/perl-List-MoreUtils-XS-0.418-2.fc27.x86_64.rpm 
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib/.build-id
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib/.build-id/48
lrwxrwxrwx    1 root    root                       68 Apr  3 13:28 /usr/lib/.build-id/48/66d04df647b74a489fb3e3da79ba11ac1059e1 -> ../../../../usr/lib64/perl5/vendor_perl/auto/List/MoreUtils/XS/XS.so
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib64/perl5/vendor_perl/List
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib64/perl5/vendor_perl/List/MoreUtils
-rw-r--r--    1 root    root                     1754 Mar 29 19:49 /usr/lib64/perl5/vendor_perl/List/MoreUtils/XS.pm
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib64/perl5/vendor_perl/auto/List
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib64/perl5/vendor_perl/auto/List/MoreUtils
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/lib64/perl5/vendor_perl/auto/List/MoreUtils/XS
-rwxr-xr-x    1 root    root                    85856 Apr  3 13:28 /usr/lib64/perl5/vendor_perl/auto/List/MoreUtils/XS/XS.so
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/share/doc/perl-List-MoreUtils-XS
-rw-r--r--    1 root    root                      307 Mar 29 19:50 /usr/share/doc/perl-List-MoreUtils-XS/Changes
-rw-r--r--    1 root    root                    22947 Feb 18 20:22 /usr/share/doc/perl-List-MoreUtils-XS/README.md
drwxr-xr-x    2 root    root                        0 Apr  3 13:28 /usr/share/licenses/perl-List-MoreUtils-XS
-rw-r--r--    1 root    root                     6320 Mar  7  2016 /usr/share/licenses/perl-List-MoreUtils-XS/ARTISTIC-1.0
-rw-r--r--    1 root    root                    12633 Mar  7  2016 /usr/share/licenses/perl-List-MoreUtils-XS/GPL-1
-rw-r--r--    1 root    root                    11357 Feb 18 19:01 /usr/share/licenses/perl-List-MoreUtils-XS/LICENSE
-rw-r--r--    1 root    root                     1720 Apr  3 13:28 /usr/share/man/man3/List::MoreUtils::XS.3pm.gz
File permissions and layout are Ok.

$ rpm -q --requires -p ../RPMS/x86_64/perl-List-MoreUtils-XS-0.418-2.fc27.x86_64.rpm | sort -f | uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 libperl.so.5.24()(64bit)
      1 perl(:MODULE_COMPAT_5.24.1)
      1 perl(:VERSION) >= 5.8.0
      1 perl(List::MoreUtils) >= 0.418
      1 perl(strict)
      1 perl(vars)
      1 perl(warnings)
      1 perl(XSLoader)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
      1 rtld(GNU_HASH)
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/x86_64/perl-List-MoreUtils-XS-0.418-2.fc27.x86_64.rpm | sort -f | uniq -c
      1 perl(List::MoreUtils::XS) = 0.418
      1 perl-List-MoreUtils-XS = 0.418-2.fc27
      1 perl-List-MoreUtils-XS(x86-64) = 0.418-2.fc27
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/x86_64/perl-List-MoreUtils-XS-0.418-2.fc27.x86_64.rpm 
Binary dependencies resolvable. Ok.

Package builds in F27 (https://koji.fedoraproject.org/koji/taskinfo?taskID=18761781). Ok.

Otherwise the package is in line with Fedora and Perl packaging guidelines.

Please correct the `FIX' item before building this package.
Resolution: Package APPROVED.

Comment 2 Petr Pisar 2017-04-03 11:46:34 UTC
Yet another thing: I checked all the ./inc modules and all of them are available in Fedora. Only inc/Config/AutoConf/LMU.pm file is a one-shot code that is genuine to List-MoreUtils-XS. I recommend to unbundle them so that you can simplify build-requires and bring this package closer to the the build-from-source philosophy.

Comment 3 Paul Howarth 2017-04-03 13:59:13 UTC
(In reply to Petr Pisar from comment #2)
> Yet another thing: I checked all the ./inc modules and all of them are
> available in Fedora. Only inc/Config/AutoConf/LMU.pm file is a one-shot code
> that is genuine to List-MoreUtils-XS. I recommend to unbundle them so that
> you can simplify build-requires and bring this package closer to the the
> build-from-source philosophy.

I'm struggling to make this work. I added BRs for inc::latest, Capture::Tiny and Config::AutoConf, and deleted the files under inc/ other than LMU.pm, but when running Makefile.PL, it falls over with:

Capture::Tiny is not installed at /usr/share/perl5/vendor_perl/inc/latest.pm line 91.

I can't find any other examples of unbundling inc::latest, unlike inc::Module::Install, which looks to be done fairly commonly.

Any tips for making this work?

Comment 4 Petr Pisar 2017-04-03 15:51:51 UTC
The tip is to remove the inc::latest call from Makefile.PL.

The reason is the inc::latest uses a packlist to locate installed distributions by a module name to bundle them under ./inc. Because Fedora does not maintain the packlist (we delete it actively), inc::latest does not work.

Once a time I was thinking about maintaining packlist using postscriptlets, but since it would add a performance penalty and scriptlets are deemed bad (OSTree), I abandoned the idea.

Comment 5 Paul Howarth 2017-04-03 18:10:24 UTC
(In reply to Petr Pisar from comment #4)
> The tip is to remove the inc::latest call from Makefile.PL.

Thanks, fixed in -3:

Spec URL: http://subversion.city-fan.org/repos/cfo-repo/perl-List-MoreUtils-XS/branches/fedora/perl-List-MoreUtils-XS.spec
SRPM URL: http://www.city-fan.org/~paul/extras/perl-List-MoreUtils-XS/perl-List-MoreUtils-XS-0.418-3.fc27.src.rpm

Comment 6 Gwyn Ciesla 2017-04-03 18:24:06 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/perl-List-MoreUtils-XS

Comment 7 Fedora Update System 2017-04-14 10:08:24 UTC
perl-List-MoreUtils-XS-0.418-3.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-44c3afb24f

Comment 8 Fedora Update System 2017-04-15 01:50:38 UTC
perl-List-MoreUtils-XS-0.418-3.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-44c3afb24f

Comment 9 Fedora Update System 2017-04-15 18:28:03 UTC
perl-List-MoreUtils-XS-0.418-3.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, 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.