Spec URL: https://jplesnik.fedorapeople.org/perl-YAML-LibYAML-API/perl-YAML-LibYAML-API.spec SRPM URL: https://jplesnik.fedorapeople.org/perl-YAML-LibYAML-API/perl-YAML-LibYAML-API-0.012-1.fc35.src.rpm Description: This module provides a thin wrapper around the C libyaml API. Fedora Account System Username: jplesnik
A standalone spec file differs from the packaged one. I will use packaged one for this review. URL and Source0 addresses are usable. Ok. TODO: Remove a trailing slash for the URL value. Source0 archive (SHA-512: e072d836d2af63200617025e21895c235ea0a81e5e1a719baa114184450a9e09eccf2642ddfb9ea4ad062c6f995aedc1aca5f467b684d173683573f3d0fab340) is original. Ok. Summary verified from lib/YAML/LibYAML/API.pm. Ok. Description verified from lib/YAML/LibYAML/API.pm. Ok. The packages contains an XS code, the package is full-arch. Ok. License verified from lib/YAML/LibYAML/API.pm, LibYAML/ppport.h, Makefile.PL, LICENSE, README. Ok. TODO: Document in the spec file a license of the bundled ./LibYAML files. It's a MIT license. FIX: Do not build-require 'libyaml'. The packages only uses libyaml-devel. FIX: Do not build-require 'perl(YAML::PP)'. It's used nowhere. TODO: Constrain 'perl(YAML::PP::Common)' build-dependency with '>= 0.024' (Makefile.PL:32). Upstream probably mistaken the two modules. TODO: Constrain 'perl(Test::More)' with '>= 0.98' (META.json:38). TODO: I recommend unsetting AUTHOR_TESTING environment variable in the %check section (t/00.compile.t:37). All tests pass. Ok. $ rpmlint perl-YAML-LibYAML-API.spec ../SRPMS/perl-YAML-LibYAML-API-0.012-1.fc35.src.rpm ../RPMS/x86_64/perl-YAML-LibYAML-API-* 4 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpm -q -lv -p ../RPMS/x86_64/perl-YAML-LibYAML-API-0.012-1.fc35.x86_64.rpm drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib/.build-id/ea lrwxrwxrwx 1 root root 70 Apr 16 11:00 /usr/lib/.build-id/ea/751a0c94108058f8599a4705ba31c83968a01d -> ../../../../usr/lib64/perl5/vendor_perl/auto/YAML/LibYAML/API/XS/XS.so drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/YAML drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/YAML/LibYAML drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/YAML/LibYAML/API -rw-r--r-- 1 root root 5101 Sep 8 2020 /usr/lib64/perl5/vendor_perl/YAML/LibYAML/API.pm -rw-r--r-- 1 root root 312 Sep 8 2020 /usr/lib64/perl5/vendor_perl/YAML/LibYAML/API/XS.pm drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/auto/YAML drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/auto/YAML/LibYAML drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/auto/YAML/LibYAML/API drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/auto/YAML/LibYAML/API/XS -rwxr-xr-x 1 root root 31768 Apr 16 11:00 /usr/lib64/perl5/vendor_perl/auto/YAML/LibYAML/API/XS/XS.so drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/share/doc/perl-YAML-LibYAML-API -rw-r--r-- 1 root root 1533 Sep 8 2020 /usr/share/doc/perl-YAML-LibYAML-API/Changes -rw-r--r-- 1 root root 374 Sep 8 2020 /usr/share/doc/perl-YAML-LibYAML-API/README drwxr-xr-x 2 root root 0 Apr 16 11:00 /usr/share/licenses/perl-YAML-LibYAML-API -rw-r--r-- 1 root root 18349 Sep 8 2020 /usr/share/licenses/perl-YAML-LibYAML-API/LICENSE -rw-r--r-- 1 root root 1918 Apr 16 11:00 /usr/share/man/man3/YAML::LibYAML::API.3pm.gz -rw-r--r-- 1 root root 1128 Apr 16 11:00 /usr/share/man/man3/YAML::LibYAML::API::XS.3pm.gz File layout and permissions are Ok. $ rpm -q --requires -p ../RPMS/x86_64/perl-YAML-LibYAML-API-0.012-1.fc35.x86_64.rpm | sort -f | uniq -c 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.11)(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libperl.so.5.32()(64bit) 1 libpthread.so.0()(64bit) 1 libpthread.so.0(GLIBC_2.2.5)(64bit) 1 libyaml >= 0.2.5 1 libyaml-0.so.2()(64bit) 1 perl(:MODULE_COMPAT_5.32.1) 1 perl(strict) 1 perl(warnings) 1 perl(XSLoader) 1 perl(YAML::PP::Common) 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: Do not run-require 'libyaml'. The dependency is automatically generated from a library SONAME (libyaml-0.so.2()(64bit)). TODO: Constrain 'perl(YAML::PP::Common)' dependency with '>= 0.024' (Makefile.PL:32). Upstream probably mistaken the two modules. $ rpm -q --provides -p ../RPMS/x86_64/perl-YAML-LibYAML-API-0.012-1.fc35.x86_64.rpm | sort -f | uniq -c 1 perl(YAML::LibYAML::API) = 0.012 1 perl(YAML::LibYAML::API::XS) = 0.012 1 perl-YAML-LibYAML-API = 0.012-1.fc35 1 perl-YAML-LibYAML-API(x86-64) = 0.012-1.fc35 Binary provides are Ok. $ resolvedeps rawhide ../RPMS/x86_64/perl-YAML-LibYAML-API-0.012-1.fc35.x86_64.rpm Binary dependencies are resolvable. Ok. The package does not build in F35 (https://koji.fedoraproject.org/koji/taskinfo?taskID=66052232): DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/f35-build-26780150-3357443/root/', '--setopt=install_weak_deps=0', '--disableplugin=local', '--disableplugin=spacewalk', '/var/lib/mock/f35-build-26780150-3357443/root//builddir/build/SRPMS/perl-YAML-LibYAML-API-0.012-1.fc35.src.rpm'] DEBUG util.py:624: child environment: None DEBUG util.py:542: Executing command: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/f35-build-26780150-3357443/root/', '--setopt=install_weak_deps=0', '--disableplugin=local', '--disableplugin=spacewalk', '/var/lib/mock/f35-build-26780150-3357443/root//builddir/build/SRPMS/perl-YAML-LibYAML-API-0.012-1.fc35.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/f35-build-26780150-3357443/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8', 'LD_PRELOAD': '/var/tmp/tmp.mock.f4hua02m/$LIB/nosync.so'} and shell False DEBUG util.py:444: No matches found for the following disable plugin patterns: local, spacewalk DEBUG util.py:446: Package coreutils-8.32-22.fc35.x86_64 is already installed. DEBUG util.py:446: Package findutils-1:4.8.0-2.fc34.x86_64 is already installed. DEBUG util.py:444: Error: DEBUG util.py:444: Problem: package perl-devel-4:5.32.1-474.fc35.x86_64 requires redhat-rpm-config, but none of the providers can be installed DEBUG util.py:444: - package redhat-rpm-config-183-1.fc35.noarch requires (annobin if (gcc or clang)), but none of the providers can be installed DEBUG util.py:444: - conflicting requests We need to wait until the build root is fixed. Otherwise the package is in line with Fedora and Perl packaging guidelines. Resolution: NOT approved.
Update files on the same place.
Spec file changes: --- perl-YAML-LibYAML-API.spec.old 2021-04-12 19:03:08.000000000 +0200 +++ perl-YAML-LibYAML-API.spec 2021-04-16 12:03:02.000000000 +0200 @@ -8,7 +8,6 @@ BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc -BuildRequires: libyaml >= 0.2.5 BuildRequires: libyaml-devel >= 0.2.5 BuildRequires: make BuildRequires: perl-devel @@ -22,8 +21,7 @@ BuildRequires: perl(warnings) # Run-time BuildRequires: perl(XSLoader) -BuildRequires: perl(YAML::PP) >= 0.024 -BuildRequires: perl(YAML::PP::Common) +BuildRequires: perl(YAML::PP::Common) >= 0.024 # Tests BuildRequires: perl(blib) BuildRequires: perl(Encode) @@ -31,9 +29,12 @@ BuildRequires: perl(FindBin) BuildRequires: perl(IO::Handle) BuildRequires: perl(IPC::Open3) -BuildRequires: perl(Test::More) +BuildRequires: perl(Test::More) >= 0.98 Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) -Requires: libyaml >= 0.2.5 +Requires: perl(YAML::PP::Common) >= 0.024 + +# Filter unversioned require +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(YAML::PP::Common\\) %description This module provides a thin wrapper around the C libyaml API. @@ -59,6 +60,7 @@ %{_fixperms} $RPM_BUILD_ROOT/* %check +unset AUTHOR_TESTING export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') make test > TODO: Remove a trailing slash for the URL value. Not addressed. > TODO: Document in the spec file a license of the bundled ./LibYAML files. It's a MIT license. Not addreseed. > FIX: Do not build-require 'libyaml'. The packages only uses libyaml-devel. Ok. > FIX: Do not build-require 'perl(YAML::PP)'. It's used nowhere. Ok. > TODO: Constrain 'perl(YAML::PP::Common)' build-dependency with '>= 0.024' (Makefile.PL:32). Upstream probably mistaken the two modules. Ok. > TODO: Constrain 'perl(Test::More)' with '>= 0.98' (META.json:38). Ok. > TODO: I recommend unsetting AUTHOR_TESTING environment variable in the %check section (t/00.compile.t:37). Ok. $ rpmlint perl-YAML-LibYAML-API.spec ../SRPMS/perl-YAML-LibYAML-API-0.012-1.fc35.src.rpm ../RPMS/x86_64/perl-YAML-LibYAML-API-* 4 packages and 1 specfiles checked; 0 errors, 0 warnings. rpmlint is Ok. > FIX: Do not run-require 'libyaml'. The dependency is automatically generated from a library SONAME (libyaml-0.so.2()(64bit)). > TODO: Constrain 'perl(YAML::PP::Common)' dependency with '>= 0.024' (Makefile.PL:32). Upstream probably mistaken the two modules. $ rpm -q --requires -p ../RPMS/x86_64/perl-YAML-LibYAML-API-0.012-1.fc35.x86_64.rpm | sort -f | uniq -c 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.11)(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libperl.so.5.32()(64bit) 1 libpthread.so.0()(64bit) 1 libpthread.so.0(GLIBC_2.2.5)(64bit) 1 libyaml-0.so.2()(64bit) 1 perl(:MODULE_COMPAT_5.32.1) 1 perl(strict) 1 perl(warnings) 1 perl(XSLoader) 1 perl(YAML::PP::Common) >= 0.024 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) Binary requires are Ok. $ resolvedeps rawhide ../RPMS/x86_64/perl-YAML-LibYAML-API-0.012-1.fc35.x86_64.rpm Binary dependencies are resolvable. Ok. It still fails to build in F35 <https://koji.fedoraproject.org/koji/taskinfo?taskID=66054894>. The full error message as seen in my machine is: Problém: problem with installed package redhat-rpm-config-183-1.fc35.noarch - cannot install the best update candidate for package redhat-rpm-config-183-1.fc35.noarch - package redhat-rpm-config-183-1.fc35.noarch requires (annobin if (gcc or clang)), but none of the providers can be installed - cannot install the best update candidate for package annobin-9.65-2.fc35.x86_64 - package annobin-docs-9.66-2.fc35.noarch obsoletes annobin < 9.66-2.fc35 provided by annobin-9.65-2.fc35.x86_64 - problem with installed package gcc-11.0.1-0.4.fc35.x86_64 - cannot install the best update candidate for package gcc-11.0.1-0.4.fc35.x86_64 This seems to be an annobin bug #1949570. Resolution: Package APPROVED.
https://pagure.io/releng/fedora-scm-requests/issue/33571
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-YAML-LibYAML-API
Thank you for review and repository.