Bug 1797363 - Review Request: perl-Text-Layout - Pango style text formatting
Summary: Review Request: perl-Text-Layout - Pango style text formatting
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: 1797364
Blocks: 1797362
TreeView+ depends on / blocked
 
Reported: 2020-02-02 21:26 UTC by Johan Vromans
Modified: 2020-03-16 20:29 UTC (History)
2 users (show)

Fixed In Version: perl-Text-Layout-0.018.1-3.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-08 00:51:11 UTC
Type: ---
Embargoed:
ppisar: fedora-review+


Attachments (Terms of Use)

Description Johan Vromans 2020-02-02 21:26:15 UTC
Spec URL: https://www.chordpro.org/fedora/perl-Text-Layout.spec
SRPM URL: https://www.chordpro.org/fedora/ perl-Text-Layout-0.016-1.fc29.src.rpm

Description: 

This perl module implements Pango style text formatting, to be used with the chordpro package.

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

I herewith request a review of this package for inclusion into Fedora.

Note that the chordpro package requires a package that is not yet part of Fedora:

perl-HarfBuzz-Shaper

I will make separate review requests for this.

Thanks for you attention.

Fedora Account System Username: sciurius

Comment 1 Petr Pisar 2020-02-24 16:32:21 UTC
URL and Source addresses are usable. Ok.

TODO: The Url points to one of the documentation files. Please change it to <https://metacpan.org/release/Text-Layout> so that it points to the top level of the CPAN distribution.

Source file (SHA-256: 58f8ef35c2e75e2d428f988b35984e807131311628eba01367ee3ea10b349b6a) is original. Ok.
Summary verified from lib/Text/Layout.pm. Ok.
Description verified from README. Ok.

TODO: I recommend you to remove the status of the backends from the description. The status will evolve and the description could become outdated.

FIX: The license tag is wrong. lib/Text/Layout.pm declaes "Artistic 2.0", README declares "GPL+ or Artistic". Please mention both licenses in the tag as "(GPL+ or Artistic) and Artistic 2.0".

TODO: Do not use macros for simple commands. I.e. write "perl" instead of "%{__perl}". The same applies to %{__make}, %{__rm}, %{__chmod}.

FIX: Remove "%{__rm} -rf %{buildroot}" line from %install section. It has no effect because it's a default behavior.
FIX: Remove "find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';'" line from %install section. It has no effect because no supported ExtUtils::MakeMaker creates empty directories.
FIX: Remove %clean section. It has no effect because it's a default behavior.
FIX: Remove %defattr(-,root,root,-) line from %files section. It has no effect because it's a default behavior.
TODO: Call Makefile.PL with "NO_PACKLIST=1 NO_PERLLOCAL=1" arguments and use %{make_build} in %build section and %{make_install} in %install section as recommended in <https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMaker> and <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make>. Then you don't need "find %{buildroot} -type f -name .packlist -exec rm -f {} ';'" line in %install section.

No XS code, noarch BuildArch is Ok.

FIX: Build-require "make" for (perl-Text-Layout.spec:66).
FIX: Constrain "perl(PDF::API2)" dependency with ">= 2.036" (META.json:44).
FIX: Build-require "perl(strict)" (Makefile.PL:3).
FIX: Build-require "perl(warnings)" (Makefile.PL:4).
FIX: "perl(ExtUtils::MakeMaker)" dependency version is incorrect. There should be ">= 6.46" (Makefile.PL:21).
FIX: Build-require "perl(Carp)" (lib/Text/Layout.pm:9).
FIX: Build-require "perl(constant)" (lib/Text/Layout.pm:115).
FIX: Build-require "perl(File::Basename) (lib/Text/Layout/FontConfig.pm:436).
FIX: Build-require "perl(overload)" (lib/Text/Layout/FontDescriptor.pm:197).
FIX: Build-require "perl(utf8)" (lib/Text/Layout.pm:5).

FATAL: "perl(HarfBuzz::Shaper) >= 0.018" dependency is not available in Fedora 33. Please package that dependency first.

Comment 2 Johan Vromans 2020-02-25 13:47:10 UTC
Thanks. Updated:

Spec URL: https://www.chordpro.org/fedora/perl-Text-Layout.spec
SRPM URL: https://www.chordpro.org/fedora/ perl-Text-Layout-0.018-1.fc31.src.rpm

Comment 4 Petr Pisar 2020-02-27 12:54:32 UTC
The package was rebased. I will review it again.

Url and Source0 addresses are usable. Ok.
Source0 archive (SHA-256: 65b0eada14bbfcf687fabc31d162bdf154c803ba8a10d83d118561d4f10c181d) is original. Ok.
License verified from lib/Text/Layout.pm and README. Ok.
Summary verified from lib/Text/Layout.pm. Ok.
Description verified from README. Ok.
No XS code, noarch BuildArch is Ok.

FIX: The minimal perl(ExtUtils::MakeMaker) version should be 6.76. Not 6.46. I made a mistake in my previous comment.

PDF::Builder is optional for tests. Ok.

TODO: Either correct perl(HarfBuzz::Shaper) minimal version to 0.019 (t/00-load.t:14) or remove the version, because the tests continue even without that.

All tests pass. Ok.

$ rpmlint perl-Text-Layout.spec ../SRPMS/perl-Text-Layout-0.018-2.fc33.src.rpm ../RPMS/noarch/perl-Text-Layout-0.018-2.fc33.noarch.rpm 
sh: /usr/bin/python2: No such file or directory
perl-Text-Layout.src: W: spelling-error Summary(en_US) Pango -> Tango, Mango, Pan go
perl-Text-Layout.src: W: spelling-error %description -l en_US Backends -> Back ends, Back-ends, Backhands
perl-Text-Layout.src: W: spelling-error %description -l en_US FontConfig -> Configuration
perl-Text-Layout.noarch: W: spelling-error Summary(en_US) Pango -> Tango, Mango, Pan go
perl-Text-Layout.noarch: W: spelling-error %description -l en_US Backends -> Back ends, Back-ends, Backhands
perl-Text-Layout.noarch: W: spelling-error %description -l en_US FontConfig -> Configuration
2 packages and 1 specfiles checked; 0 errors, 6 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-Text-Layout-0.018-2.fc33.noarch.rpm t@fedora-33 SPECS]$ rpm -q -lv -p ../RPMS/noarch/perl-Text-Layout-0.018-2.fc33.noarch.rpm
drwxr-xr-x    2 root     root                        0 Feb 27 12:52 /usr/share/doc/perl-Text-Layout
-rw-r--r--    1 root     root                      971 Feb  6 16:45 /usr/share/doc/perl-Text-Layout/Changes
-rw-r--r--    1 root     root                     2002 Jan 26 18:53 /usr/share/doc/perl-Text-Layout/README
-rw-r--r--    1 root     root                     6606 Feb 27 12:52 /usr/share/man/man3/Text::Layout.3pm.gz
-rw-r--r--    1 root     root                     2957 Feb 27 12:52 /usr/share/man/man3/Text::Layout::FontConfig.3pm.gz
-rw-r--r--    1 root     root                     1900 Feb 27 12:52 /usr/share/man/man3/Text::Layout::FontDescriptor.3pm.gz
drwxr-xr-x    2 root     root                        0 Feb 27 12:52 /usr/share/perl5/vendor_perl/Text
drwxr-xr-x    2 root     root                        0 Feb 27 12:52 /usr/share/perl5/vendor_perl/Text/Layout
-rw-r--r--    1 root     root                    26583 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout.pm
-rw-r--r--    1 root     root                      154 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout/Cairo.pm
-rw-r--r--    1 root     root                    13480 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout/FontConfig.pm
-rw-r--r--    1 root     root                     3378 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout/FontDescriptor.pm
-rw-r--r--    1 root     root                      967 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout/Markdown.pm
-rw-r--r--    1 root     root                     5484 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout/PDFAPI2.pm
-rw-r--r--    1 root     root                      154 Feb  6 16:45 /usr/share/perl5/vendor_perl/Text/Layout/Pango.pm
A file layout and the permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Text-Layout-0.018-2.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.30.1)
      1 perl(:VERSION) >= 5.10.1
      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
FIX: Run-require:
perl(Carp) lib/Text/Layout.pm:9
perl(constant) lib/Text/Layout.pm:115
perl(File::Basename) lib/Text/Layout/FontConfig.pm:437
perl(overload) lib/Text/Layout/FontDescriptor.pm:197
perl(strict) lib/Text/Layout.pm:3
perl(utf8) lib/Text/Layout.pm:5
perl(warnings) lib/Text/Layout.pm:4
Alternatively stop disabling the depenency generators (AutoReqProv) and they will appear automatically.

$ rpm -q --provides -p ../RPMS/noarch/perl-Text-Layout-0.018-2.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(Font::Config) = 0.018
      1 perl(Font::Descriptor) = 0.018
      1 perl(Text::Layout) = 0.018
      1 perl-Text-Layout = 0.018-2.fc33
FIX: Stop providing 'perl(Font::Config)' and 'perl(Font::Descriptor)'. They are not delivered by this package.
TODO: Provide all the other Text::Layout::* modules. They are there, they have documentation, they are indexed by CPAN.

Maybe should keep AutoReqProv enabled and filter only those that you don't need <https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/>.

$ resolvedeps f33-build ../RPMS/noarch/perl-Text-Layout-0.018-2.fc33.noarch.rpm 
Binary dependencies are resolvable. Ok.

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

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

Please correct all 'FIX' items, consider fixing 'TODO' items and provide a new spec file.
Resolution: Package NOT approved.

Comment 5 Johan Vromans 2020-02-27 15:09:11 UTC
Thanks for your valuable review.

All FIX and TODO items have been addressed.

* The requirement for HarfBuzz::Shaper 0.19 was wrong, fixed in source t/00-load.t.
* AutoReqProv has been enabled and unwanted requires/provides are now dealt with using __requires_exclude and __provides_exclude_from . For the time being I do not want to explicitly provide the backend modules.

New SPEC and SRPMS:
https://www.chordpro.org/fedora/perl-Text-Layout-0.018.1-3.fc31.src.rpm
https://www.chordpro.org/fedora/perl-Text-Layout.spec

Comment 6 Petr Pisar 2020-02-27 16:07:03 UTC
The package was rebased. I will review it again.

Url and Source0 addresses are usable. Ok.
Source0 archive (SHA-256: 781b3d3b7e7b249702f1580b95051762723d2c4ef3941ee8b56661b64d87ee5a) is original. Ok.
Summary verified from lib/Text/Layout.pm. Ok.
Description verified from README. Ok.
License verified from lib/Text/Layout.pm and README. Ok.
No XS code, noarch BuildArch is Ok.

PDF::Builder is optional for tests. Ok.

All tests pass. Ok.

$ rpmlint perl-Text-Layout.spec ../SRPMS/perl-Text-Layout-0.018.1-3.fc33.src.rpm ../RPMS/noarch/perl-Text-Layout-0.018.1-3.fc33.noarch.rpm 
sh: /usr/bin/python2: No such file or directory
perl-Text-Layout.src: W: spelling-error Summary(en_US) Pango -> Tango, Mango, Pan go
perl-Text-Layout.src: W: spelling-error %description -l en_US Backends -> Back ends, Back-ends, Backhands
perl-Text-Layout.src: W: spelling-error %description -l en_US FontConfig -> Configuration
perl-Text-Layout.noarch: W: spelling-error Summary(en_US) Pango -> Tango, Mango, Pan go
perl-Text-Layout.noarch: W: spelling-error %description -l en_US Backends -> Back ends, Back-ends, Backhands
perl-Text-Layout.noarch: W: spelling-error %description -l en_US FontConfig -> Configuration
2 packages and 1 specfiles checked; 0 errors, 6 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-Text-Layout-0.018.1-3.fc33.noarch.rpm 
drwxr-xr-x    2 root     root                        0 Feb 27 16:58 /usr/share/doc/perl-Text-Layout
-rw-r--r--    1 root     root                      973 Feb 27 14:45 /usr/share/doc/perl-Text-Layout/Changes
-rw-r--r--    1 root     root                     2002 Jan 26 18:53 /usr/share/doc/perl-Text-Layout/README
-rw-r--r--    1 root     root                     6606 Feb 27 16:58 /usr/share/man/man3/Text::Layout.3pm.gz
-rw-r--r--    1 root     root                     2957 Feb 27 16:58 /usr/share/man/man3/Text::Layout::FontConfig.3pm.gz
-rw-r--r--    1 root     root                     1900 Feb 27 16:58 /usr/share/man/man3/Text::Layout::FontDescriptor.3pm.gz
drwxr-xr-x    2 root     root                        0 Feb 27 16:58 /usr/share/perl5/vendor_perl/Text
drwxr-xr-x    2 root     root                        0 Feb 27 16:58 /usr/share/perl5/vendor_perl/Text/Layout
-rw-r--r--    1 root     root                    26585 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout.pm
-rw-r--r--    1 root     root                      154 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout/Cairo.pm
-rw-r--r--    1 root     root                    13482 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout/FontConfig.pm
-rw-r--r--    1 root     root                     3380 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout/FontDescriptor.pm
-rw-r--r--    1 root     root                      967 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout/Markdown.pm
-rw-r--r--    1 root     root                     5484 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout/PDFAPI2.pm
-rw-r--r--    1 root     root                      154 Feb 27 14:45 /usr/share/perl5/vendor_perl/Text/Layout/Pango.pm
A file layout and the permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Text-Layout-0.018.1-3.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.30.1)
      1 perl(:VERSION) >= 5.10.1
      1 perl(Carp)
      1 perl(constant)
      1 perl(File::Basename)
      1 perl(overload)
      1 perl(strict)
      1 perl(utf8)
      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-Text-Layout-0.018.1-3.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(Text::Layout) = 0.018.1
      1 perl(Text::Layout::FontConfig) = 0.018.1
      1 perl(Text::Layout::FontDescriptor) = 0.018.1
      1 perl-Text-Layout = 0.018.1-3.fc33
Binary provides are Ok.

$ resolvedeps f33-build ../RPMS/noarch/perl-Text-Layout-0.018.1-3.fc33.noarch.rpm 
Binary dependencies are resolvable. Ok.

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

The package is in line with Fedora and Perl packaging guide lines.
Resolution: Package APPROVED.

Comment 7 Gwyn Ciesla 2020-02-27 16:45:58 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Text-Layout

Comment 8 Fedora Update System 2020-02-28 07:48:03 UTC
FEDORA-2020-64b8c66486 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-64b8c66486

Comment 9 Fedora Update System 2020-02-29 01:22:34 UTC
perl-Text-Layout-0.018.1-3.fc32 has been pushed to the Fedora 32 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-2020-64b8c66486

Comment 10 Fedora Update System 2020-02-29 03:11:38 UTC
perl-Text-Layout-0.018.1-3.fc31 has been pushed to the Fedora 31 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-2020-1b09a7ad0f

Comment 11 Fedora Update System 2020-03-08 00:51:11 UTC
perl-Text-Layout-0.018.1-3.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2020-03-16 20:17:14 UTC
perl-Text-Layout-0.018.1-3.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2020-03-16 20:29:54 UTC
perl-Text-Layout-0.018.1-3.fc32 has been pushed to the Fedora 32 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.