https://bugzilla.redhat.com/show_bug.cgi?id=2251479 --- Comment #5 from Petr Pisar <ppisar@xxxxxxxxxx> --- URL and Source0 addresses are Ok. Discovered licenses: contrib/stringsx.c: MIT OR GPL-1.0-or-later contrib/stringsx.pl: MIT OR GPL-1.0-or-later file_unpack2.pl: GPL-1.0-or-later OR Artistic-1.0-Perl Makefile.PL: GPL-1.0-or-later OR Artistic-1.0-Perl LICENSES/MIT.txt: MIT README: GPL-1.0-or-later OR Artistic-1.0-Perl Unpack2.pm: GPL-1.0-or-later OR Artistic-1.0-Perl FIX: file-unpack license should be "(MIT OR GPL-1.0-or-later) AND (GPL-1.0-or-later OR Artistic-1.0-Perl)". TODO: Remove a leading and incorrect "An" article from Summary. FIX: Replace "File::Unpack" with "File::Unpack2" in the Description text. TODO: Use uppercase form "Perl" in file-unpack description text. The word refers to a programming language. Not to /usr/bin/perl. TODO: Use plain "perl" command instead of "%{__perl}" macro. TODO: Use "%{make_build}" macro instead of "%{__make} %{?_smp_mflags}" line. Also use it instead of "%{__make}" in "%{__make} stringsx" as it handles parallelism. FIX: Build-require "coreutils" (Makefile.PL:58). TODO: Append "NO_PACKLIST=1 NO_PERLLOCAL=1" arguments to Makefile.PL invocation, appewnd ">= 6.76" to "BuildRequires: perl(ExtUtils::MakeMaker)" and replace "%{__make} pure_install PERL_INSTALL_ROOT=%{buildroot} create_packlist=0" line with "%{make_install}" macro and remove the two "find %{buildroot}..." lines. See <https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMaker> for an example. FIX: Build-require "perl-podlators" (perl-File-Unpack2.spec:179). TODO: Do not use top-level globs in %files sections <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists>. You should list direct childs of %{perl_vendorlib}/, %_mandir/man3/, %_mandir/man1/, and %{_bindir}/ explicitly. FIX: Remove run-time and test-time dependencies from BuildRequires (e.g. "perl(Test::CheckManifest)") because you do not perform any tests. FIX: The explicit run-time dependency on "perl(File::Unpack) == %version" is wrong. In Fedora we use a dependency on a package name qualified with an exact version and release "%{name}%{?_isa} = %{version}-%{release}". FIX: Escape per-cent character in spec file comments: Macro expanded in comment on line 9: %{commit}/%{name}-%{shortcommit}.tar.gz Macro expanded in comment on line 10: %{name}-%{shortcommit}.tar.gz Macro expanded in comment on line 11: %{commit}/t Macro expanded in comment on line 12: %{name}-%{shortcommit}-repackaged.tar.gz perl-File-Unpack2-%{commit} TODO: Building /usr/share/man/man1/file-unpack.1.gz fails: + cat + perl file-unpack.pl --help Can't open perl script "file-unpack.pl": No such file or directory + cat + pod2man file-unpack.pod + rm file-unpack.pod As a result the manual page is missing a text with file-unpack options. $ rpmlint perl-File-Unpack2.spec ../SRPMS/perl-File-Unpack2-0.70-1.fc40.src.rpm ../RPMS/x86_64/perl-File-Unpack2-* ../RPMS/x86_64/file-unpack-* warning: Macro expanded in comment on line 9: %{commit}/%{name}-%{shortcommit}.tar.gz warning: Macro expanded in comment on line 10: %{name}-%{shortcommit}.tar.gz warning: Macro expanded in comment on line 11: %{commit}/t warning: Macro expanded in comment on line 12: %{name}-%{shortcommit}-repackaged.tar.gz perl-File-Unpack2-%{commit} warning: Macro expanded in comment on line 9: %{commit}/%{name}-%{shortcommit}.tar.gz warning: Macro expanded in comment on line 10: %{name}-%{shortcommit}.tar.gz warning: Macro expanded in comment on line 11: %{commit}/t warning: Macro expanded in comment on line 12: %{name}-%{shortcommit}-repackaged.tar.gz perl-File-Unpack2-%{commit} ========================================================== rpmlint session starts ========================================================= rpmlint: 2.5.0 configuration: /usr/lib/python3.12/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: 32, packages: 6 file-unpack.x86_64: E: spelling-error ('frontend', '%description -l en_US frontend -> fronted, front end, front-end') file-unpack.x86_64: E: spelling-error ('perl', '%description -l en_US perl -> Perl, peel, perk') perl-File-Unpack2.x86_64: E: spelling-error ('unpacker', 'Summary(en_US) unpacker -> unpacked, unpack er, unpack-er') perl-File-Unpack2.x86_64: E: spelling-error ('unpacker', '%description -l en_US unpacker -> unpacked, unpack er, unpack-er') perl-File-Unpack2.x86_64: E: spelling-error ('gz', '%description -l en_US gz -> g, z, gs') perl-File-Unpack2.x86_64: E: spelling-error ('cpio', '%description -l en_US cpio -> CPI') perl-File-Unpack2.x86_64: E: spelling-error ('iso', '%description -l en_US iso -> ISO, is, so') perl-File-Unpack2.x86_64: E: spelling-error ('lzma', '%description -l en_US lzma -> lama') perl-File-Unpack2.x86_64: E: spelling-error ('rar', '%description -l en_US rar -> arr, ear, tar') perl-File-Unpack2.x86_64: E: spelling-error ('recursivly', '%description -l en_US recursivly -> recursively, recursive, excursively') perl-File-Unpack2.x86_64: E: spelling-error ('unpackable', '%description -l en_US unpackable -> unpack able, unpack-able, unshockable') perl-File-Unpack2.x86_64: E: spelling-error ('logfile', '%description -l en_US logfile -> log file, log-file, misfile') perl-File-Unpack2.x86_64: E: spelling-error ('mimetypes', '%description -l en_US mimetypes -> mime types, mime-types, mistypes') perl-File-Unpack2.x86_64: E: spelling-error ('additinal', '%description -l en_US additinal -> additional, traditional, attitudinal') perl-File-Unpack2.src: E: spelling-error ('unpacker', 'Summary(en_US) unpacker -> unpacked, unpack er, unpack-er') perl-File-Unpack2.src: E: spelling-error ('unpacker', '%description -l en_US unpacker -> unpacked, unpack er, unpack-er') perl-File-Unpack2.src: E: spelling-error ('gz', '%description -l en_US gz -> g, z, gs') perl-File-Unpack2.src: E: spelling-error ('cpio', '%description -l en_US cpio -> CPI') perl-File-Unpack2.src: E: spelling-error ('iso', '%description -l en_US iso -> ISO, is, so') perl-File-Unpack2.src: E: spelling-error ('lzma', '%description -l en_US lzma -> lama') perl-File-Unpack2.src: E: spelling-error ('rar', '%description -l en_US rar -> arr, ear, tar') perl-File-Unpack2.src: E: spelling-error ('recursivly', '%description -l en_US recursivly -> recursively, recursive, excursively') perl-File-Unpack2.src: E: spelling-error ('unpackable', '%description -l en_US unpackable -> unpack able, unpack-able, unshockable') perl-File-Unpack2.src: E: spelling-error ('logfile', '%description -l en_US logfile -> log file, log-file, misfile') perl-File-Unpack2.src: E: spelling-error ('mimetypes', '%description -l en_US mimetypes -> mime types, mime-types, mistypes') perl-File-Unpack2.src: E: spelling-error ('additinal', '%description -l en_US additinal -> additional, traditional, attitudinal') file-unpack.x86_64: W: no-manual-page-for-binary file-unpack-deep file-unpack.x86_64: W: no-manual-page-for-binary file_unpack file-unpack.x86_64: W: no-manual-page-for-binary stringsx file-unpack.x86_64: W: no-manual-page-for-binary unpack-deep file-unpack.x86_64: W: no-manual-page-for-binary unpack-file file-unpack.x86_64: W: no-manual-page-for-binary unpack-file-deep perl-File-Unpack2.x86_64: E: no-binary perl-File-Unpack2.spec: W: more-than-one-%changelog-section perl-File-Unpack2.spec:189: W: make-check-outside-check-section rm contrib/stringsx # so that the Manifest in make check is not confused. perl-File-Unpack2.spec:189: W: make-check-outside-check-section rm contrib/stringsx # so that the Manifest in make check is not confused. perl-File-Unpack2.spec:9: W: macro-in-comment %{commit} perl-File-Unpack2.spec:9: W: macro-in-comment %{name} perl-File-Unpack2.spec:9: W: macro-in-comment %{shortcommit} perl-File-Unpack2.spec:10: W: macro-in-comment %{name} perl-File-Unpack2.spec:10: W: macro-in-comment %{shortcommit} perl-File-Unpack2.spec:11: W: macro-in-comment %{commit} perl-File-Unpack2.spec:12: W: macro-in-comment %{name} perl-File-Unpack2.spec:12: W: macro-in-comment %{shortcommit} perl-File-Unpack2.spec:12: W: macro-in-comment %{commit} perl-File-Unpack2.spec:201: W: macro-in-comment %{__make} perl-File-Unpack2.spec:9: W: macro-in-comment %{commit} perl-File-Unpack2.spec:9: W: macro-in-comment %{name} perl-File-Unpack2.spec:9: W: macro-in-comment %{shortcommit} perl-File-Unpack2.spec:10: W: macro-in-comment %{name} perl-File-Unpack2.spec:10: W: macro-in-comment %{shortcommit} perl-File-Unpack2.spec:11: W: macro-in-comment %{commit} perl-File-Unpack2.spec:12: W: macro-in-comment %{name} perl-File-Unpack2.spec:12: W: macro-in-comment %{shortcommit} perl-File-Unpack2.spec:12: W: macro-in-comment %{commit} perl-File-Unpack2.spec:201: W: macro-in-comment %{__make} perl-File-Unpack2.spec:1: W: macro-in-%changelog %global perl-File-Unpack2.spec:2: W: macro-in-%changelog %global perl-File-Unpack2.spec:2: W: macro-in-%changelog %{commit} perl-File-Unpack2.spec:6: W: macro-in-%changelog %autorelease perl-File-Unpack2.spec:9: W: macro-in-%changelog %{commit} perl-File-Unpack2.spec:9: W: macro-in-%changelog %{name} perl-File-Unpack2.spec:9: W: macro-in-%changelog %{shortcommit} perl-File-Unpack2.spec:10: W: macro-in-%changelog %{name} perl-File-Unpack2.spec:10: W: macro-in-%changelog %{shortcommit} perl-File-Unpack2.spec:11: W: macro-in-%changelog %{commit} perl-File-Unpack2.spec:12: W: macro-in-%changelog %{name} perl-File-Unpack2.spec:12: W: macro-in-%changelog %{shortcommit} perl-File-Unpack2.spec:12: W: macro-in-%changelog %{commit} perl-File-Unpack2.spec:13: W: macro-in-%changelog %{name} perl-File-Unpack2.spec:13: W: macro-in-%changelog %{shortcommit} perl-File-Unpack2.spec:113: W: macro-in-%changelog %version perl-File-Unpack2.spec: W: invalid-url Source0: perl-File-Unpack2-4bcdc19-repackaged.tar.gz perl-File-Unpack2.spec: W: invalid-url Source0: perl-File-Unpack2-4bcdc19-repackaged.tar.gz perl-File-Unpack2.x86_64: E: description-line-too-long it strong, because it is not fooled by file suffixes, or multiply wrapped packages. perl-File-Unpack2.src: E: description-line-too-long it strong, because it is not fooled by file suffixes, or multiply wrapped packages. file-unpack.x86_64: W: dangling-relative-symlink /usr/bin/file-unpack-deep file-unpack file-unpack.x86_64: W: dangling-relative-symlink /usr/bin/file_unpack file-unpack file-unpack.x86_64: W: dangling-relative-symlink /usr/bin/unpack-deep file-unpack file-unpack.x86_64: W: dangling-relative-symlink /usr/bin/unpack-file file-unpack file-unpack.x86_64: W: dangling-relative-symlink /usr/bin/unpack-file-deep file-unpack =================== 5 packages and 1 specfiles checked; 29 errors, 52 warnings, 15 filtered, 29 badness; has taken 0.7 s ================== rpmlint is very unhappy. FIX: Fix the typos, %-escapes, overlong descriptions. $ rpm -q -lv -p ../RPMS/x86_64/perl-File-Unpack2-0.70-1.fc40.x86_64.rpm drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/share/File-Unpack drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/share/File-Unpack/helper -rwxr-xr-x 1 root root 273 Jan 3 01:00 /usr/share/File-Unpack/helper/application=msword -rwxr-xr-x 1 root root 1288 Jan 3 01:00 /usr/share/File-Unpack/helper/application=x-iso9660-image -rwxr-xr-x 2 root root 8461 Jan 3 01:00 /usr/share/File-Unpack/helper/application=x-shellscript -rwxr-xr-x 2 root root 8461 Jan 3 01:00 /usr/share/File-Unpack/helper/text=x-shellscript drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/share/doc/perl-File-Unpack2 -rw-r--r-- 1 root root 14612 Dec 2 14:01 /usr/share/doc/perl-File-Unpack2/Changes -rw-r--r-- 1 root root 3158 Dec 2 14:01 /usr/share/doc/perl-File-Unpack2/README -rw-r--r-- 1 root root 11103 Jan 3 01:00 /usr/share/man/man3/File::Unpack2.3pm.gz drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/share/perl5/vendor_perl/File -rw-r--r-- 1 root root 93834 Dec 2 14:01 /usr/share/perl5/vendor_perl/File/Unpack2.pm -rwxr-xr-x 1 root root 2434 Dec 2 14:01 /usr/share/perl5/vendor_perl/File/children_fuser2.pl -rwxr-xr-x 1 root root 7911 Dec 2 14:01 /usr/share/perl5/vendor_perl/File/file_unpack2.pl $ rpm -q -lv -p ../RPMS/x86_64/file-unpack-0.70-1.fc40.x86_64.rpm lrwxrwxrwx 1 root root 11 Jan 3 01:00 /usr/bin/file-unpack-deep -> file-unpack lrwxrwxrwx 1 root root 11 Jan 3 01:00 /usr/bin/file_unpack -> file-unpack -rwxr-xr-x 1 root root 7911 Jan 3 01:00 /usr/bin/file_unpack2 -rwxr-xr-x 1 root root 15984 Jan 3 01:00 /usr/bin/stringsx lrwxrwxrwx 1 root root 11 Jan 3 01:00 /usr/bin/unpack-deep -> file-unpack lrwxrwxrwx 1 root root 11 Jan 3 01:00 /usr/bin/unpack-file -> file-unpack lrwxrwxrwx 1 root root 11 Jan 3 01:00 /usr/bin/unpack-file-deep -> file-unpack drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/lib/.build-id/88 lrwxrwxrwx 1 root root 28 Jan 3 01:00 /usr/lib/.build-id/88/8739ec2f40e60d4b16e08aa2beea4771f67493 -> ../../../../usr/bin/stringsx drwxr-xr-x 2 root root 0 Jan 3 01:00 /usr/share/licenses/file-unpack -rw-r--r-- 1 root root 1104 Dec 2 14:01 /usr/share/licenses/file-unpack/MIT.txt -rw-r--r-- 1 root root 884 Jan 3 01:00 /usr/share/man/man1/file-unpack.1.gz -rw-r--r-- 1 root root 1495 Jan 3 01:00 /usr/share/man/man1/file_unpack2.1.gz lrwxrwxrwx 1 root root 16 Jan 3 01:00 /usr/share/man/man1/unpack_file.1.gz -> file-unpack.1.gz File layout and permissions are Ok. FIX: /usr/bin/file_unpack and /usr/bin/file-unpack-deep are dangling symlinks. They point to a nonexisting file-unpack. Did you mean /usr/bin/file_unpack2? TODO: /usr/share/perl5/vendor_perl/File/children_fuser2.pl and /usr/share/perl5/vendor_perl/File/file_unpack2.pl should not be packaged. Those are mistakes in the installation script. Moreover, /usr/share/perl5/vendor_perl/File/file_unpack2.pl is identical to /usr/bin/file_unpack2. $ rpm -q --requires -p ../RPMS/x86_64/perl-File-Unpack2-0.70-1.fc40.x86_64.rpm | sort -f | uniq -c 1 /usr/bin/perl 1 /usr/bin/sh 1 binutils 1 bzip2 1 cabextract 1 cpio 1 file >= 5.03 1 genisoimage 1 gzip 1 lzip 1 p7zip 1 perl(BSD::Resource) 2 perl(Carp) 1 perl(Compress::Raw::Bzip2) 1 perl(Compress::Raw::Lzma) 1 perl(Compress::Raw::Zlib) 1 perl(Compress::Raw::Zlib) >= 2.024 1 perl(Config) 2 perl(Cwd) 1 perl(Data::Dumper) 1 perl(File::Compare) 1 perl(File::Copy) 1 perl(File::LibMagic) 1 perl(File::MimeInfo::Magic) 2 perl(File::Path) 2 perl(File::Temp) 1 perl(File::Unpack2) 1 perl(Filesys::Statvfs) 1 perl(FindBin) 1 perl(Getopt::Long) 2 perl(IPC::Run) 2 perl(JSON) 1 perl(lib) 1 perl(Pod::Usage) 1 perl(POSIX) 1 perl(strict) 1 perl(String::ShellQuote) 2 perl(Text::Sprintf::Named) 1 perl(warnings) 1 perl-libs 1 perl-String-ShellQuote 1 poppler-utils 1 rpm 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsZstd) <= 5.4.18-1 1 shared-mime-info >= 0.60 1 sharutils 1 tar 1 unzip 1 xz FIX: Are you sure "binutils" belongs to binary requires? FIX: Depend on "p7zip-plugins" instead of p7zip (Unpack2.pm:152). FIX: Remove Recommends on "poppler-tools". That package does not exist in Fedora. Did you mean "poppler-utils" (Unpack2.pm:165)? FIX: Remove Recommends on "xar". It's not used anywhere. FIX: Remove duplicate or suboptimal dependencies: perl(Carp), perl(Compress::Raw::Zlib), perl(Cwd), perl(File::Path), perl(File::Temp), perl(IPC::Run), perl(JSON), perl(Text::Sprintf::Named), perl-String-ShellQuote. $ rpm -q --requires -p ../RPMS/x86_64/file-unpack-0.70-1.fc40.x86_64.rpm | sort -f | uniq -c 1 /usr/bin/perl 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 libc.so.6(GLIBC_2.3.4)(64bit) 1 libc.so.6(GLIBC_2.34)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libc.so.6(GLIBC_ABI_DT_RELR)(64bit) 1 perl(Data::Dumper) 1 perl(File::Unpack) = 0.70 1 perl(File::Unpack2) 1 perl(FindBin) 1 perl(Getopt::Long) 1 perl(lib) 1 perl(Pod::Usage) 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: Replace explicit "perl(File::Unpack) == %version" dependency with %{name}%{?_isa} = %{version}-%{release}". $ rpm -q --provides -p ../RPMS/x86_64/perl-File-Unpack2-0.70-1.fc40.x86_64.rpm | sort -f | uniq -c 1 perl(File::Unpack2) = 1.0 1 perl-File-Unpack2 = 0.70-1.fc40 1 perl-File-Unpack2(x86-64) = 0.70-1.fc40 $ rpm -q --provides -p ../RPMS/x86_64/file-unpack-0.70-1.fc40.x86_64.rpm | sort -f | uniq -c 1 file-unpack = 0.70-1.fc40 1 file-unpack(x86-64) = 0.70-1.fc40 Binary provides are Ok. $ resolvedeps rawhide ../RPMS/x86_64/perl-File-Unpack2-0.70-1.fc40.x86_64.rpm ../RPMS/x86_64/file-unpack-0.70-1.fc40.x86_64.rpm Unresolved dependency: perl(File::Unpack) = 0.70 Unresolved dependency: poppler-tools The package builds in Fedora Rawhide (https://koji.fedoraproject.org/koji/taskinfo?taskID=111242493). Ok. Otherwise, the package seems to be in line with Fedora and Perl packaging guidelines. Please correct all FIX items, consider fixing TODO items, and provide an updated spec file. -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2251479 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202251479%23c5 -- _______________________________________________ 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