Spec URL: https://pagure.io/rpm-openriichi/raw/rawhide/f/openriichi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04177109-openriichi/openriichi-0.2.1.1-1.fc37.src.rpm Description: OpenRiichi is an open source Japanese Mahjong client written in the Vala programming language. It supports singleplayer and multiplayer, with or without bots. It features all the standard riichi rules, as well as some optional ones. It also supports game logging, so games can be viewed again. Fedora Account System Username: jrische Source RPM repo: https://pagure.io/rpm-openriichi Copr: https://copr.fedorainfracloud.org/coprs/jrische/openriichi/ The source RPM includes 3 patches in order to: - Use lower case for program name - Move icons to system's standard icon path - Remove font files and define them as dependencies
Easy one - Tue Mar 3 2022 is a non existing date. You remove the font files in install section . Is it possible to remove them in the prep section to ensure they are not being used - it may not be possible. There looks to be two versioned sources in here: %global forgeurl0 https://github.com/FluffyStuff/Engine %global commit0 e495846970a1b38d00c81a3f74568030f976ed31 %global forgeurl1 https://github.com/FluffyStuff/OpenRiichi %global version1 %{version} why not two packages ? That version of the Engine is going to be lost as things stand. While openriichi-data package can be installed without openriichi the openriichi package requires the -data package. Is the data package ever useful on its own ? Is there any point having a sub package ? # rpmlint ./openriichi-0.2.1.1-1.fc37.x86_64.rpm openriichi.x86_64: E: invalid-desktopfile /usr/share/applications/openriichi.desktop value "1.5" for key "Version" in group "Desktop Entry" is not a known version can this be addressed ? The desktop file I believe needs some commands called on it , see https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files (though I now realise I have this missing from one of my packages)
I fixed the error in the date and removed the font files from the git repository in the %prep section. I also used desktop-file-install to install the .desktop file. I doubt the Engine code is meant to be compiled as a standalone library. When I try to do so, I get: ERROR: First statement must be a call to project There are no version tags in the Engine repository, so I just used the commit hash reference in the game repository. I separated the data files to a dedicated package following the example of 0ad[1] and wesnoth[2] which are using the same approach. Should there be a single package instead? I am using rpmlint 2.2.0. It does not raise any warning about the .desktop file version. I used 1.5 because this is the current value for this attribute as documented in the Freedesktop documentaton[3]. [1] https://src.fedoraproject.org/rpms/0ad-data/blob/rawhide/f/0ad-data.spec#_3 [2] https://src.fedoraproject.org/rpms/wesnoth/blob/rawhide/f/wesnoth.spec#_73 [3] https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
Looks neat, are you open to a review swap? https://bugzilla.redhat.com/show_bug.cgi?id=2090823
=> I don't believe this review can proceed without the Engine code being appropriately licensed. At present, the repository does not contain a License file (https://github.com/FluffyStuff/Engine) Please also fix: 1) No Requires: %{name}%{?_isa} = %{version}-%{release} in openriichi-data 2) Patches should be commented in spec with justification or reference to issue/bug report Attached is the remainder of the auto-generated review Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [!]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* GNU General Public License, Version 3", "MIT License", "zlib License", "SIL Open Font License 1.1". 324 files have unknown license. Detailed output of licensecheck in /home/fuller/fedora- review/2074401-openriichi/licensecheck.txt [ ]: License file installed when any subpackage combination is installed. [ ]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/openriichi [ ]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/openriichi [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [!]: Sources contain only permissible code or content. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [ ]: Package is not known to require an ExcludeArch tag. [ ]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [ ]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [ ]: Final provides and requires are sane (see attachments). [ ]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in openriichi-data [ ]: Package functions as described. [x]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [ ]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [x]: Rpmlint is run on debuginfo package(s). Note: There are rpmlint messages (see attachment). [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Cannot parse rpmlint output: Rpmlint (debuginfo) ------------------- Cannot parse rpmlint output: Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Source checksums ---------------- https://github.com/FluffyStuff/OpenRiichi/archive/v0.2.1.1/OpenRiichi-0.2.1.1.tar.gz : CHECKSUM(SHA256) this package : 646766dd08255c3411d84e29d26c54e952404d93282c0d44569e5b05046da01e CHECKSUM(SHA256) upstream package : 646766dd08255c3411d84e29d26c54e952404d93282c0d44569e5b05046da01e https://github.com/FluffyStuff/Engine/archive/e495846970a1b38d00c81a3f74568030f976ed31/Engine-e495846970a1b38d00c81a3f74568030f976ed31.tar.gz : CHECKSUM(SHA256) this package : e3a8ba0960ddb1d8a9e5719a1f993f5e473ecd0b47c239c244efaf8d4b6d51e7 CHECKSUM(SHA256) upstream package : e3a8ba0960ddb1d8a9e5719a1f993f5e473ecd0b47c239c244efaf8d4b6d51e7 Requires -------- openriichi (rpmlib, GLIBC filtered): google-noto-sans-cjk-jp-fonts libGL.so.1()(64bit) libGLEW.so.2.2()(64bit) libSDL2-2.0.so.0()(64bit) libSDL2_image-2.0.so.0()(64bit) libSDL2_mixer-2.0.so.0()(64bit) libc.so.6()(64bit) libfontconfig.so.1()(64bit) libgee-0.8.so.2()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libm.so.6()(64bit) libpango-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libz.so.1()(64bit) openriichi-data rtld(GNU_HASH) openriichi-data (rpmlib, GLIBC filtered): openriichi-debuginfo (rpmlib, GLIBC filtered): openriichi-debugsource (rpmlib, GLIBC filtered): Provides -------- openriichi: application() application(openriichi.desktop) openriichi openriichi(x86-64) openriichi-data: openriichi-data openriichi-debuginfo: debuginfo(build-id) openriichi-debuginfo openriichi-debuginfo(x86-64) openriichi-debugsource: openriichi-debugsource openriichi-debugsource(x86-64) Diff spec file in url and in SRPM --------------------------------- --- /home/fuller/fedora-review/2074401-openriichi/srpm/openriichi.spec 2022-06-18 20:00:05.522624313 +0300 +++ /home/fuller/fedora-review/2074401-openriichi/srpm-unpacked/openriichi.spec 2022-04-11 18:24:42.000000000 +0300 @@ -27,5 +27,4 @@ BuildRequires: SDL2_mixer-devel BuildRequires: SDL2-devel -BuildRequires: desktop-file-utils Requires: %{name}-data = %{version} @@ -59,5 +58,5 @@ %prep %forgesetup -a -rm -r Engine bin/Data/Fonts +rm -rf Engine mv ../Engine-%{commit0} Engine %autopatch -p1 @@ -71,6 +70,7 @@ mkdir -p %{buildroot}%{_datadir}/pixmaps mv %{buildroot}%{_datadir}/%{name}/Data/Icon.png %{buildroot}%{_datadir}/pixmaps/%{name}.png +rm -rf %{buildroot}%{_datadir}/%{name}/Data/Fonts mkdir -p %{buildroot}%{_datadir}/applications -desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} +install -pm 644 %{SOURCE2} %{buildroot}%{_datadir}/applications/%{name}.desktop %check @@ -89,4 +89,4 @@ %changelog -* Thu Mar 3 2022 Julien Rische <jrische> - 0.2.1.1-1 +* Tue Mar 3 2022 Julien Rische <jrische> - 0.2.1.1-1 - Initial package release Generated by fedora-review 0.8.0 (e988316) last change: 2022-04-07 Command line :/usr/bin/fedora-review -b 2074401 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, C/C++, Shell-api Disabled plugins: R, Python, fonts, Perl, Haskell, PHP, Ocaml, Java, SugarActivity Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
I added comments justifying the presence of each patch (I didn't open upstream issues because I believe such changes would be kind of irrelevant there). I also added "Requires: %{name}%{?_isa} = %{version}-%{release}" for openriichi-data. I opened an issue[1] regarding the missing license, but I am not sure the repo owner will answer. He has been inactive for almost 2 years. Spec URL: https://pagure.io/rpm-openriichi/raw/rawhide/f/openriichi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04594118-openriichi/openriichi-0.2.1.1-1.fc37.src.rpm Fedora review: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04594118-openriichi/fedora-review/review.txt [1] https://github.com/FluffyStuff/Engine/issues/2
The upstream repo owner assigned a license to the game engine. I updated the spec file accordingly: Spec URL: https://pagure.io/rpm-openriichi/raw/rawhide/f/openriichi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04640416-openriichi/openriichi-0.2.1.1-1.fc37.src.rpm Fedora review: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04640416-openriichi/fedora-review/review.txt
You and or I need to follow up on this issue: "No known owner of /usr/share/openriichi" [ ]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/openriichi [ ]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/openriichi As soon as I have time, I will look and see show this is best resolved. Once that is done, package is approved. RPMlint is clean Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* GNU General Public License, Version 3", "MIT License", "zlib License". 325 files have unknown license. Detailed output of licensecheck in /home/fuller/fedora-review/2074401-openriichi/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [ ]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/openriichi [ ]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/openriichi [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [-]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: Package should compile and build into binary rpms on all supported architectures. [ ]: %check is present and all tests pass. [ ]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Fully versioned dependency in subpackages if applicable. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: There are rpmlint messages (see attachment). [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Source checksums ---------------- https://github.com/FluffyStuff/OpenRiichi/archive/v0.2.1.1/OpenRiichi-0.2.1.1.tar.gz : CHECKSUM(SHA256) this package : 646766dd08255c3411d84e29d26c54e952404d93282c0d44569e5b05046da01e CHECKSUM(SHA256) upstream package : 646766dd08255c3411d84e29d26c54e952404d93282c0d44569e5b05046da01e https://github.com/FluffyStuff/Engine/archive/0bd410550600a2a0858ca327576bdd32116da188/Engine-0bd410550600a2a0858ca327576bdd32116da188.tar.gz : CHECKSUM(SHA256) this package : b2a778b723ccae18ac90dd520ce9229b794086388a0e3152670ef9f6d4b9f97d CHECKSUM(SHA256) upstream package : b2a778b723ccae18ac90dd520ce9229b794086388a0e3152670ef9f6d4b9f97d Requires -------- openriichi (rpmlib, GLIBC filtered): google-noto-sans-cjk-jp-fonts libGL.so.1()(64bit) libGLEW.so.2.2()(64bit) libSDL2-2.0.so.0()(64bit) libSDL2_image-2.0.so.0()(64bit) libSDL2_mixer-2.0.so.0()(64bit) libc.so.6()(64bit) libfontconfig.so.1()(64bit) libgee-0.8.so.2()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libm.so.6()(64bit) libpango-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libz.so.1()(64bit) openriichi-data rtld(GNU_HASH) openriichi-data (rpmlib, GLIBC filtered): openriichi(x86-64) openriichi-debuginfo (rpmlib, GLIBC filtered): openriichi-debugsource (rpmlib, GLIBC filtered): Provides -------- openriichi: application() application(openriichi.desktop) openriichi openriichi(x86-64) openriichi-data: openriichi-data openriichi-debuginfo: debuginfo(build-id) openriichi-debuginfo openriichi-debuginfo(x86-64) openriichi-debugsource: openriichi-debugsource openriichi-debugsource(x86-64) Generated by fedora-review 0.8.0 (e988316) last change: 2022-04-07 Command line :/usr/bin/fedora-review -b 2074401 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Shell-api, Generic Disabled plugins: Java, SugarActivity, Python, fonts, Haskell, PHP, Perl, R, Ocaml Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
I think the issue was I wrote "%{_datadir}/%{name}/*" instead of "%{_datadir}/%{name}" in %files section. I fixed that, the note is no longer there. Spec URL: https://pagure.io/rpm-openriichi/raw/rawhide/f/openriichi.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04684289-openriichi/openriichi-0.2.1.1-1.fc37.src.rpm Fedora review: https://download.copr.fedorainfracloud.org/results/jrische/openriichi/fedora-rawhide-x86_64/04684289-openriichi/fedora-review/review.txt
Thanks - approved
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/openriichi
FEDORA-2022-8de964fc0a has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-8de964fc0a
FEDORA-2022-8de964fc0a has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-2fff8d9904 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-2fff8d9904
FEDORA-2022-2fff8d9904 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-2fff8d9904 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-2fff8d9904 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-27a55d5969 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-27a55d5969 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-27a55d5969 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-2fff8d9904 has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-27a55d5969 has been pushed to the Fedora 35 stable repository. If problem still persists, please make note of it in this bug report.