Spec URL: https://dcavalca.fedorapeople.org/review/qpress/qpress.spec SRPM URL: https://dcavalca.fedorapeople.org/review/qpress/qpress-11-1.fc35.src.rpm Description: qpress is a portable file archiver using QuickLZ and designed to utilize fast storage systems to their max. It's often faster than file copy because the destination is smaller than the source. Fedora Account System Username: dcavalca
This package built on koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=72529747
Hi David, note, that I'm not a member of the packager group yet and this is one of the reviews I have to write to become one. Therefore, some of my suggestions or remarks may not be perfect. Thank you for understanding and patience until some official member responds to your review request (and reviews my review). The spec file looks great! I have only two remarks: * No license file is installed or present in the sources. From guidelines: "If the source package does not include the text of the license(s), the packager should contact upstream and encourage them to correct this mistake." See https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text. * Just a nitpick: It may be useful to replace all occurrences of qpress by %{name} and 11 by %{version}, e.g. %{name}-%{version}-source.zip.
Unfortunately upstream isn't really active anymore, I haven't had much luck in getting the license text included. Spec URL: https://dcavalca.fedorapeople.org/review/qpress/qpress.spec SRPM URL: https://dcavalca.fedorapeople.org/review/qpress/qpress-11-1.fc37.src.rpm Changelog: - use %{name} and %{version}
I haven't look at the sources, but this is suspicious: License: GPLv1 and GPLv2 and GPLv3 [...] %files %{_bindir}/%{name} How can an executable be (GPLv1 and GPLv2 and GPLv2)? That does not makes sense. The GPL licenses are mutually exclusive.
> How can an executable be (GPLv1 and GPLv2 and GPLv2)? That does not makes sense. The GPL licenses are mutually exclusive. Good catch, that was supposed to be "or", not "and". Spec URL: https://dcavalca.fedorapeople.org/review/qpress/qpress.spec SRPM URL: https://dcavalca.fedorapeople.org/review/qpress/qpress-11-1.fc37.src.rpm Changelog: - Fix license
URL and Source0 addresses are usable. Ok. TODO: Add a trailing slash to URL. TODO: Consider using HTTPS schema in URL and Source0. TODO: The Source0 cannot be downloaded with command-line tools like wget. The server returns "406: Not Acceptable". Inform upstream that this discrimination hinders automation. You won't probably be able to use <https://release-monitoring.org/> service for reporting new releases to Fedora Bugzilla. Source archive (SHA512: 986754cca8bb2cdcfc7e197f7e123c6b2da90db840642a6385f14613f49f7ec6b2c18944838405fe35d5382d71fcd5d69050a036dda4c5de2e588d144e16ea6b) is original. Ok. Summary is Ok. Description verified from the home page. Ok. Found licenses: aio.cpp: GPLv1 and GPLv2 aio.hpp: GPLv1 and GPLv2 quicklz.h: GPLv1 or GPLv2 quicklz.c: GPLv1 or GPLv2 qpress.cpp: GPLv1 and GPLv2 and GPLv3 01-include-unistd.patch: GPLv2 I believe that an author meant "or" instead of "and". It would be great to confirm this assumption by asking the author and packaging the confirmation e-mail message using %license macro. FIX: Provided the assumption is correct and because all these files are compiled into a single executable, the License tag should be "GPLv2". FIX: Build-require "coreutils" (qpress.spec:26). TODO: You can remove -lpthread from the g++ command. Current glibc does not have a separate pthread library. $ rpmlint qpress.spec ../SRPMS/qpress-11-1.fc37.src.rpm ../RPMS/x86_64/qpress-11-1.fc37.x86_64.rpm ======================================== rpmlint session starts ======================================= rpmlint: 2.2.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/licenses.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 3 qpress.x86_64: W: no-manual-page-for-binary qpress qpress.x86_64: W: no-documentation ========= 2 packages and 1 specfiles checked; 0 errors, 2 warnings, 0 badness; has taken 0.3 s ======== rpmlint is Ok. The package builds in Fedora 37 (https://koji.fedoraproject.org/koji/taskinfo?taskID=89491525). Ok. $ rpm -qlvp ../RPMS/x86_64/qpress-11-1.fc37.x86_64.rpm -rwxr-xr-x 1 root root 70544 Jul 14 13:08 /usr/bin/qpress drwxr-xr-x 2 root root 0 Jul 14 13:08 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Jul 14 13:08 /usr/lib/.build-id/40 lrwxrwxrwx 1 root root 26 Jul 14 13:08 /usr/lib/.build-id/40/6e66d91ee0b39692eab31bf301cf2c01cce29f -> ../../../../usr/bin/qpress File layout and permissions are Ok. $ rpm -q --requires -p ../RPMS/x86_64/qpress-11-1.fc37.x86_64.rpm | sort -f | uniq -c 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.14)(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.33)(64bit) 1 libc.so.6(GLIBC_2.34)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libgcc_s.so.1()(64bit) 1 libgcc_s.so.1(GCC_3.0)(64bit) 1 libgcc_s.so.1(GCC_3.3.1)(64bit) 1 libstdc++.so.6()(64bit) 1 libstdc++.so.6(CXXABI_1.3.9)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.20)(64bit) 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. $ rpm -q --provides -p ../RPMS/x86_64/qpress-11-1.fc37.x86_64.rpm | sort -f | uniq -c 1 qpress = 11-1.fc37 1 qpress(x86-64) = 11-1.fc37 FIX: qpress-11 bundles quicklz-1.4.1. There is a separate QuickLZ project downloadable from <http://www.quicklz.com/download.html>. Please add "Provides: bundled(quicklz) = 1.4.1" <https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling>. TODO: Consider packaging quicklz at the latest version as a dynamic library and building qpress against it. $ resolvedeps rawhide ../RPMS/x86_64/qpress-11-1.fc37.x86_64.rpm Binary dependencies are resolvable. Ok. Otherwise, this package is in line with Fedora packaging guidelines. Please correct all "FIX" items, consider fixing "TODO" items, and provide a new spec file. Resolution: Package NOT approved.
Spec URL: https://dcavalca.fedorapeople.org/review/qpress/qpress.spec SRPM URL: https://dcavalca.fedorapeople.org/review/qpress/qpress-11-1.fc37.src.rpm Changelog: - Update license - Use https for URL - Add missing coreutils BR - Add missing bundled provides for quicklz - Drop -lpthread
Changes in the spec file: --- qpress.spec.old 2022-07-14 13:20:55.219000000 +0200 +++ qpress.spec 2022-07-16 17:47:48.000000000 +0200 @@ -3,12 +3,15 @@ Release: %autorelease Summary: A portable file archiver using QuickLZ -License: GPLv1 or GPLv2 or GPLv3 -URL: http://www.quicklz.com +License: GPLv2 +URL: https://www.quicklz.com Source0: %{url}/%{name}-%{version}-source.zip Patch0: 01-include-unistd.patch BuildRequires: gcc-c++ +BuildRequires: coreutils + +Provides: bundled(quicklz) = 1.4.1 %description qpress is a portable file archiver using QuickLZ and designed to utilize fast @@ -20,7 +23,7 @@ %build %set_build_flags -$CXX $CXXFLAGS -o qpress qpress.cpp aio.cpp quicklz.c utilities.cpp $LDFLAGS -lpthread +$CXX $CXXFLAGS -o qpress qpress.cpp aio.cpp quicklz.c utilities.cpp $LDFLAGS %install install -Dpm0755 -t %{buildroot}/%{_bindir} %{name} $ rpmlint qpress.spec ../SRPMS/qpress-11-1.fc37.src.rpm ../RPMS/x86_64/qpress-11-1.fc37.x86_64.rpm ======================================== rpmlint session starts ======================================= rpmlint: 2.2.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/licenses.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 3 qpress.x86_64: W: no-manual-page-for-binary qpress qpress.x86_64: W: no-documentation ========= 2 packages and 1 specfiles checked; 0 errors, 2 warnings, 0 badness; has taken 0.8 s ======== rpmlint is Ok. The package builds in F37 (https://koji.fedoraproject.org/koji/taskinfo?taskID=89641580). Ok. The package is in line with Fedora packaging guidelines. Resolution: Package APPROVED.
Thanks! $ fedpkg request-repo qpress 1985573 https://pagure.io/releng/fedora-scm-requests/issue/45840 $ fedpkg request-branch --repo qpress f36 https://pagure.io/releng/fedora-scm-requests/issue/45841 $ fedpkg request-branch --repo qpress f35 https://pagure.io/releng/fedora-scm-requests/issue/45842 $ fedpkg request-branch --repo qpress epel8 https://pagure.io/releng/fedora-scm-requests/issue/45843 $ fedpkg request-branch --repo qpress epel9 https://pagure.io/releng/fedora-scm-requests/issue/45844
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/qpress
FEDORA-2022-0b05f17be5 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-0b05f17be5
FEDORA-2022-0b05f17be5 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-fd80b5c096 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-fd80b5c096
FEDORA-EPEL-2022-6713d6cf10 has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-6713d6cf10
FEDORA-2022-6390b11a93 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-6390b11a93
FEDORA-EPEL-2022-1c28d7c3a0 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-1c28d7c3a0
FEDORA-EPEL-2022-1c28d7c3a0 has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-1c28d7c3a0 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-fd80b5c096 has been pushed to the Fedora 35 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-fd80b5c096 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-fd80b5c096 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2022-6713d6cf10 has been pushed to the Fedora EPEL 9 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-6713d6cf10 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-6390b11a93 has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-6390b11a93 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-6390b11a93 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-6390b11a93 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2022-1c28d7c3a0 has been pushed to the Fedora EPEL 8 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2022-6713d6cf10 has been pushed to the Fedora EPEL 9 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-fd80b5c096 has been pushed to the Fedora 35 stable repository. If problem still persists, please make note of it in this bug report.