[Bug 2154918] Review Request: perl-Text-QRCode - Perl module to generate text base QR Code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2154918

Petr Pisar <ppisar@xxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Review Request:             |Review Request:
                   |perl-Text-QRCode - Generate |perl-Text-QRCode - Perl
                   |text base QR Code           |module to generate text
                   |                            |base QR Code



--- Comment #4 from Petr Pisar <ppisar@xxxxxxxxxx> ---
> > FIX: Either unbundle modules found in ./inc ("rm -r ./inc/*" in %prep) and build-require the few inc::Module::Install modules (Makefile.PL:3), or list all dependencies of ./inc code (e.g. perl(Config) at inc/Module/Install/Can.pm:5). I recommend you the first option as it is much easier and Fedora-way.

+BuildRequires: perl(Module::Install)

FIX: Build-require 'perl(inc::Module::Install)' instead of
'perl(Module::Install)'. That's the module which is loaded (Makefile.PL:3).

+BuildRequires: perl-Module-Install

TODO: Although a dependency on an RPM package also works, in Perl we prefer
depending in modules because modules sometimes move between packages. I know
that perl-Module-Install is weird with its automatically loaded plugins. Here
is a list of the modules whose subroutines are called by Makefile.PL:

perl(Module::Install::Metadata)
perl(Module::Install::Compiler)
perl(Module::Install::Can)
perl(Module::Install::AutoInstall)
perl(Module::Install::WriteAll)

Try depending on them instead of perl-Module-Install.


FIX: Build-require 'coreutils' (perl-Text-QRCode.spec:40).

$ rpmlint perl-Text-QRCode.spec ../SRPMS/perl-Text-QRCode-0.05-2.fc38.src.rpm
../RPMS/x86_64/perl-Text-QRCode-*
======================================== 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: 5

========= 4 packages and 1 specfiles checked; 0 errors, 0 warnings, 0 badness;
has taken 0.3 s ========
rpmlint is Ok.


> > FIX: Package also /usr/lib64/perl5/vendor_perl/Text directory.
> I'm not sure I understand. If I add %{perl_vendorarch}/Text to %files I get a rpm build warning that %{perl_vendorarch}/Text/QRCode.pm is listed twice. Using %dir %{perl_vendorarch}/Text is not correct since this module does not own this directory.

Using both "%dir %{perl_vendorarch}/Text" and
"%{perl_vendorarch}/Text/QRCode.pm" is correct. The package will co-own the
directory with other packages. We do it so because the package cannot guarantee
that there will always be another package installed which would own that
directory. Hence what we do is that we own the full path except the top-level
%{perl_vendorarch} which is owned by perl-libs. Strictly reading guidelins,
recursively owning "%{perl_vendorarch}/Text" would be enough. But since the
package is named Text-QRCode, an intention is to occupy Text::QRCode name
space, and therefore we tend to explicitly own all path components under
%{perl_vendorarch} and up to %{perl_vendorarch}/Text/QRCode*.

$ rpm -q -lv -p ../RPMS/x86_64/perl-Text-QRCode-0.05-2.fc38.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Feb  3 01:00
/usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Feb  3 01:00
/usr/lib/.build-id/4c
lrwxrwxrwx    1 root     root                       66 Feb  3 01:00
/usr/lib/.build-id/4c/fb2219d45a654fa167615a162bf353250f0cd5 ->
../../../../usr/lib64/perl5/vendor_perl/auto/Text/QRCode/QRCode.so
-rw-r--r--    1 root     root                     2850 Oct 12  2016
/usr/lib64/perl5/vendor_perl/Text/QRCode.pm
-rwxr-xr-x    1 root     root                    15872 Feb  3 01:00
/usr/lib64/perl5/vendor_perl/auto/Text/QRCode/QRCode.so
drwxr-xr-x    2 root     root                        0 Feb  3 01:00
/usr/share/doc/perl-Text-QRCode
-rw-r--r--    1 root     root                      828 Oct 12  2016
/usr/share/doc/perl-Text-QRCode/Changes
-rw-r--r--    1 root     root                     1396 Oct 12  2016
/usr/share/doc/perl-Text-QRCode/README
-rw-r--r--    1 root     root                     1690 Feb  3 01:00
/usr/share/man/man3/Text::QRCode.3pm.gz

FIX: Own %{perl_vendorarch}/Text and %{perl_vendorarch}/auto/Text directories.

$ rpm -q --requires -p ../RPMS/x86_64/perl-Text-QRCode-0.05-2.fc38.x86_64.rpm |
sort -f | uniq -c 
      1 ld-linux-x86-64.so.2()(64bit)
      1 ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
      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.36()(64bit)
      1 libqrencode.so.4()(64bit)
      1 perl(:MODULE_COMPAT_5.36.0)
      1 perl(base)
      1 perl(Carp)
      1 perl(Exporter)
      1 perl(strict)
      1 perl(vars)
      1 perl(warnings)
      1 perl-libs
      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
      1 rtld(GNU_HASH)

FIX: Explicitly require 'perl(XSLoader)' (lib/Text/QRCode.pm:15). That
dependencies is not automatically generated because it is loaded at run-time.

The package builds in F38
(https://koji.fedoraproject.org/koji/taskinfo?taskID=97181255). Ok.

You did great. The package is almost perfect. Please correct the FIX items,
consider fixing a TODO item, and provide a new spec file.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2154918
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux