Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.1.0-1.fc41.src.rpm Description: Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed to provide fast access to the graphics frame buffer and audio device. This is a simple library to load images of various formats as SDL surfaces. It can load BMP, GIF, JPEG, LBM, PCX, PNG, PNM (PPM/PGM/PBM), QOI, TGA, XCF, XPM, and simple SVG format images. It can also load AVIF, JPEG-XL, TIFF, and WebP images. Fedora Account System Username: slaanesh
Not 100% sure about the license part, it has been copied over from SDL2_image (same Github repository).
Copr build: https://copr.fedorainfracloud.org/coprs/build/8519430 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08519430-SDL3_image/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'LicenseRef-Callaway-LGPLv2+ AND Zlib'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Some drive-by comments: BuildRequires: chrpath Looks unused. Build log shows no calls to chrpath. Provides: bundled(miniz) = 1.15 Would it be feasible to unbundle miniz? The code licenses should be verified and tag updated.
> %{_mandir}/man3/IMG_*.3* This needs to be brought up with upstream to correctly prefix it. Otherwise there's a risk of collisions.
(In reply to Dominik 'Rathann' Mierzejewski from comment #3) > Some drive-by comments: > > BuildRequires: chrpath > > Looks unused. Build log shows no calls to chrpath. Fixed, leftover from previous version. > > Provides: bundled(miniz) = 1.15 > > Would it be feasible to unbundle miniz? Nope, version 1.15, any version or fork is not compatible. > The code licenses should be verified and tag updated. Fixed, checked each file. (In reply to Neal Gompa from comment #4) > > %{_mandir}/man3/IMG_*.3* > > This needs to be brought up with upstream to correctly prefix it. Otherwise > there's a risk of collisions. At the moment `dnf provides /usr/share/man3/IMG_*` yields nothing. The man pages are autogenerated from the cmake/sdlmanpages.cmake file, and historically instead of man pages they autogenerate the documentation for the wiki, hosted here: https://wiki.libsdl.org/SDL3_image/CategoryAPI To be honest I would not change them, worst case we disable the man pages. In SDL2 the documentation was generated only for the Wiki. Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.1.0-1.fc41.src.rpm
Created attachment 2067040 [details] The .spec file difference from Copr build 8519430 to 8559167
Copr build: https://copr.fedorainfracloud.org/coprs/build/8559167 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08559167-SDL3_image/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'LicenseRef-Fedora-Public-Domain AND LGPLv2+ AND Zlib'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.1.1-1.fc41.src.rpm Updated SPEC file to match latest changes for 3.1.1.
Created attachment 2074309 [details] The .spec file difference from Copr build 8559167 to 8583573
Copr build: https://copr.fedorainfracloud.org/coprs/build/8583573 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08583573-SDL3_image/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'LicenseRef-Fedora-Public-Domain AND LGPLv2+ AND Zlib'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - The License field must be a valid SPDX expression. Note: Not a valid SPDX expression 'LicenseRef-Fedora-Public-Domain AND LGPLv2+ AND Zlib'. See: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 This is still outstanding. Please also see licensecheck output. It found some additional licenses, too: Licenses found: "Unknown or generated", "zlib License", "*No copyright* zlib License", "Boost Software License 1.0", "mit_whatever", "NTP License and/or zlib License", "*No copyright* The Unlicense", "MIT License and/or The Unlicense", "libtiff License", "BSD 2-Clause License", "BSD 3-Clause License", "Khronos License and/or zlib License", "MIT License and/or zlib License", "Khronos License and/or MIT License", "MIT License", "Apache License 2.0", "Khronos License". - No known owner of /usr/include/SDL3_image - Directories without known owners: /usr/include/SDL3_image Please either add %dir %{_includedir}/%{name} or change %{_includedir}/%{name}/SDL_image.h to %{_includedir}/%{name}/. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [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]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [x]: 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", "zlib License", "*No copyright* zlib License", "Boost Software License 1.0", "mit_whatever", "NTP License and/or zlib License", "*No copyright* The Unlicense", "MIT License and/or The Unlicense", "libtiff License", "BSD 2-Clause License", "BSD 3-Clause License", "Khronos License and/or zlib License", "MIT License and/or zlib License", "Khronos License and/or MIT License", "MIT License", "Apache License 2.0", "Khronos License". 146 files have unknown license. Detailed output of licensecheck in /var/lib/copr- rpmbuild/results/SDL3_image/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/include/SDL3_image [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/include/SDL3_image [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. [-]: Package contains desktop file if it is a GUI application. [x]: 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. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [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]: 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 784 bytes in 2 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [-]: 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). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [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]: The placement of pkgconfig(.pc) files are correct. [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: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: SDL3_image-3.1.1-1.fc42.x86_64.rpm SDL3_image-devel-3.1.1-1.fc42.x86_64.rpm SDL3_image-3.1.1-1.fc42.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.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 rpmlintrc: [PosixPath('/tmp/tmpigymu9p5')] checks: 32, packages: 3 SDL3_image.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/SDL3_image/CHANGES.txt SDL3_image.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/SDL3_image/README.md SDL3_image.spec:27: W: unversioned-explicit-provides bundled(nanosvg) SDL3_image-devel.x86_64: W: no-manual-page-for-binary showanim SDL3_image-devel.x86_64: W: no-manual-page-for-binary showimage SDL3_image.src: W: invalid-license LGPLv2+ SDL3_image.x86_64: W: invalid-license LGPLv2+ SDL3_image-devel.x86_64: W: invalid-license LGPLv2+ 3 packages and 0 specfiles checked; 0 errors, 8 warnings, 18 filtered, 0 badness; has taken 0.3 s Rpmlint (debuginfo) ------------------- Cannot parse rpmlint output: Rpmlint (installed packages) ---------------------------- (none): E: there is no installed rpm "SDL3_image". (none): E: there is no installed rpm "SDL3_image-devel". (none): E: there is no installed rpm "SDL3_image-debuginfo". (none): E: there is no installed rpm "SDL3_image-devel-debuginfo". There are no files to process nor additional arguments. Nothing to do, aborting. ============================ rpmlint session starts ============================ rpmlint: 2.6.1 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.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: 4 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s Source checksums ---------------- https://github.com/libsdl-org/SDL_image/releases/download/prerelease-3.1.1/SDL3_image-3.1.1.tar.gz : CHECKSUM(SHA256) this package : d5685f220d5ae99439d710d808d8c478c6ccfaac539876929239b875a6723792 CHECKSUM(SHA256) upstream package : d5685f220d5ae99439d710d808d8c478c6ccfaac539876929239b875a6723792 Requires -------- SDL3_image (rpmlib, GLIBC filtered): libSDL3.so.0()(64bit) libSDL3.so.0(SDL3_0.0.0)(64bit) libc.so.6()(64bit) rtld(GNU_HASH) SDL3_image-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config SDL3_image(x86-64) cmake-filesystem cmake-filesystem(x86-64) libSDL3.so.0()(64bit) libSDL3.so.0(SDL3_0.0.0)(64bit) libSDL3_image.so.0()(64bit) libSDL3_image.so.0(SDL3_image_0.0.0)(64bit) libc.so.6()(64bit) pkgconfig(sdl3) rtld(GNU_HASH) Provides -------- SDL3_image: SDL3_image SDL3_image(x86-64) bundled(miniz) bundled(nanosvg) libSDL3_image.so.0()(64bit) libSDL3_image.so.0(SDL3_image_0.0.0)(64bit) SDL3_image-devel: SDL3_image-devel SDL3_image-devel(x86-64) cmake(SDL3_image) cmake(sdl3_image) pkgconfig(sdl3-image) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/bin/fedora-review --no-colors --prebuilt --rpm-spec --name SDL3_image --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: Perl, SugarActivity, Java, Python, Haskell, fonts, PHP, Ocaml, R Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Sorry for the delay, got scattered on a million things. Will pick it up again later today. Thanks.
> - No known owner of /usr/include/SDL3_image > - Directories without known owners: /usr/include/SDL3_image Fixed. > - The License field must be a valid SPDX expression. > Note: Not a valid SPDX expression 'LicenseRef-Fedora-Public-Domain AND > LGPLv2+ AND Zlib'. > See: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 > > This is still outstanding. Please also see licensecheck output. > It found some additional licenses, too: > Licenses found: "Unknown or generated", "zlib License", "*No copyright* zlib > License", "Boost Software License 1.0", "mit_whatever", "NTP License > and/or zlib License", "*No copyright* The Unlicense", "MIT License > and/or The Unlicense", "libtiff License", "BSD 2-Clause License", "BSD > 3-Clause License", "Khronos License and/or zlib License", "MIT License > and/or zlib License", "Khronos License and/or MIT License", "MIT > License", "Apache License 2.0", "Khronos License". Urgh: $ licensecheck -r SDL3_image-3.2.0 | cut -d ':' -f 2 - | sort | uniq Apache License 2.0 Boost Software License 1.0 BSD 2-Clause License BSD 3-Clause License Khronos License Khronos License and/or MIT License Khronos License and/or zlib License libtiff License MIT License MIT License and/or The Unlicense MIT License and/or zlib License mit_whatever *No copyright* The Unlicense *No copyright* UNKNOWN *No copyright* UNKNOWN [generated file] *No copyright* zlib License NTP License and/or zlib License UNKNOWN zlib License Not an expert here, but I guess this is fine? $ cat SDL3_image.spec | grep License License: Apache-2.0 and BSD-2-clause and BSD-3-clause and Khronos and MIT and Unlicense and MIT~whatever and libtiff and Zlib $ licensecheck SDL3_image.spec SDL3_image.spec: *No copyright* Apache License 2.0 Not sure what that licensecheck message means.
Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.0-1.fc41.src.rpm - Update to first stable release 3.2.0.. - Adjusted ownership of /usr/include/SDL3_image. - Attempt at fixing the license field.
Created attachment 2075736 [details] The .spec file difference from Copr build 8583573 to 8631823
Copr build: https://copr.fedorainfracloud.org/coprs/build/8631823 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08631823-SDL3_image/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'Apache-2.0 and BSD-2-clause and BSD-3-clause and Khronos and MIT and Unlicense and MIT~whatever and libtiff and Zlib'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
(In reply to Fedora Review Service from comment #16) > Found issues: > > - Not a valid SPDX expression 'Apache-2.0 and BSD-2-clause and BSD-3-clause > and Khronos and MIT and Unlicense and MIT~whatever and libtiff and Zlib'. > Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 I'm at a loss with the license field, anyone has any pointer?
(In reply to Simone Caronni from comment #17) > (In reply to Fedora Review Service from comment #16) > > Found issues: > > > > - Not a valid SPDX expression 'Apache-2.0 and BSD-2-clause and BSD-3-clause > > and Khronos and MIT and Unlicense and MIT~whatever and libtiff and Zlib'. > > Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 > > I'm at a loss with the license field, anyone has any pointer? Yes. Each identifier must be present on Fedora allowed list (https://docs.fedoraproject.org/en-US/legal/allowed-licenses/). Let's check: Apache-2.0: present BSD-2-clause: present, but I guess you want BSD-2-Clause (note the capital C) BSD-3-clause: as above Khronos: not present MIT: present Unlicense: present MIT~whatever: not present libtiff: present Zlib: present So, you have two identifiers not listed among Fedora allowed licenses, meaning the expression is invalid. I think you need to check which files come up as having Khronos and mit_whatever license in licensecheck and investigating what they actually are.
(In reply to Dominik 'Rathann' Mierzejewski from comment #18) > Yes. Each identifier must be present on Fedora allowed list > (https://docs.fedoraproject.org/en-US/legal/allowed-licenses/). Let's check: > > Apache-2.0: present > BSD-2-clause: present, but I guess you want BSD-2-Clause (note the capital C) > BSD-3-clause: as above > Khronos: not present > MIT: present > Unlicense: present > MIT~whatever: not present > libtiff: present > Zlib: present > > So, you have two identifiers not listed among Fedora allowed licenses, > meaning the expression is invalid. Khronos and MIT~whatever are already present, I'm only missing the capital Cs. Let me add them and try again.
Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.0-1.fc41.src.rpm - Correct BSD-2-Clause and BSD-3-Clause characters in the license field.
Created attachment 2076106 [details] The .spec file difference from Copr build 8631823 to 8643430
Copr build: https://copr.fedorainfracloud.org/coprs/build/8643430 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08643430-SDL3_image/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'Apache-2.0 and BSD-2-Clause and BSD-3-Clause and Khronos and MIT and Unlicense and MIT~whatever and libtiff and Zlib'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
"MIT~whatever" is not a valid SPDX identifier. It is not present on the license list upstream: https://spdx.org/licenses/ Nor is it present in Fedora: https://docs.fedoraproject.org/en-US/legal/allowed-licenses/
Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.0-1.fc41.src.rpm Let me try without, I *assume* it's enough having MIT to cover that.
Created attachment 2076136 [details] The .spec file difference from Copr build 8643430 to 8648010
Copr build: https://copr.fedorainfracloud.org/coprs/build/8648010 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08648010-SDL3_image/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'Apache-2.0 and BSD-2-Clause and BSD-3-Clause and Khronos and MIT and Unlicense and libtiff and Zlib'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Khronos is also not present in SPDX.
:(
@ngompa13 thanks for pointing out. I find this information regarding the Khronos license: "This is the same text as the MIT license with minor modifications. In the first paragraph "this software and/or associated documentation" is used instead of "this software and associated documentation" The words "the Software" are replaced by the words "the Materials"." So I guess MIT covers also that. Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.0-1.fc41.src.rpm
Created attachment 2076270 [details] The .spec file difference from Copr build 8648010 to 8651195
Copr build: https://copr.fedorainfracloud.org/coprs/build/8651195 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08651195-SDL3_image/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
(In reply to Simone Caronni from comment #29) > @ngompa13 thanks for pointing out. I find this information > regarding the Khronos license: > > "This is the same text as the MIT license with minor modifications. In the > first paragraph "this software and/or associated documentation" is used > instead of "this software and associated documentation" The words "the > Software" are replaced by the words "the Materials"." > > So I guess MIT covers also that. > Makes sense to me.
All errors are gone from the automated review.
@dominik can we proceed? Thanks.
These are still not reflected in the License: field: ./src/IMG_gif.c: NTP and/or Zlib ./src/stb_image.h: MIT and/or Unlicense
Based on the list of sources included in the debugsource RPM, here's what the License: field should look like: License: Zlib AND (NTP AND Zlib) AND Unlicense AND MIT AND (MIT OR Unlicense) AND LicenseRef-Fedora-Public-Domain Breakdown: ./examples/showanim.c: Zlib ./examples/showimage.c: Zlib ./include/SDL3_image/SDL_image.h: Zlib ./src/IMG_avif.c: Zlib ./src/IMG_bmp.c: Zlib ./src/IMG.c: Zlib ./src/IMG_gif.c: NTP AND Zlib ./src/IMG_jpg.c: Zlib ./src/IMG_jxl.c: Zlib ./src/IMG_lbm.c: Zlib ./src/IMG_pcx.c: Zlib ./src/IMG_png.c: Zlib ./src/IMG_pnm.c: Zlib ./src/IMG_qoi.c: Zlib ./src/IMG_stb.c: Zlib ./src/IMG_svg.c: Zlib ./src/IMG_tga.c: Zlib ./src/IMG_tif.c: Zlib ./src/IMG_webp.c: Zlib ./src/IMG_WIC.c: Zlib ./src/IMG_xcf.c: Zlib ./src/IMG_xpm.c: Zlib ./src/IMG_xv.c: Zlib ./src/miniz.h: Unlicense ./src/nanosvg.h: Zlib ./src/nanosvgrast.h: Zlib ./src/qoi.h: MIT ./src/stb_image.h: MIT OR Unlicense ./src/tiny_jpeg.h: Public Domain However, taking a closer look at: ./src/IMG_gif.c: NTP AND Zlib I found something concerning. The "NTP" license header comes from Xpaint source code and it's not exactly NTP. https://github.com/libsdl-org/SDL_image/blob/main/src/IMG_gif.c#L28C1-L38C76 /* Code from here to end of file has been adapted from XPaint: */ /* +-------------------------------------------------------------------+ */ /* | Copyright 1990, 1991, 1993 David Koblas. | */ /* | Copyright 1996 Torsten Martinsen. | */ /* | Permission to use, copy, modify, and distribute this software | */ /* | and its documentation for any purpose and without fee is hereby | */ /* | granted, provided that the above copyright notice appear in all | */ /* | copies and that both that copyright notice and this permission | */ /* | notice appear in supporting documentation. This software is | */ /* | provided "as is" without express or implied warranty. | */ /* +-------------------------------------------------------------------+ */ The original NTP license (https://spdx.org/licenses/NTP.html) reads: Copyright (c) (CopyrightHoldersName) (From 4-digit-year)-(To 4-digit-year) Permission to use, copy, modify, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice appears in all copies and that both the copyright notice and this permission notice appear in supporting documentation, and that the name (TrademarkedName) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. (TrademarkedName) makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. Notice the lack of "with or" before "without fee" in Xpaint-derived code. I think we need some expert review if this is substantially different from the original NTP to constitute a new license and if it's allowed in Fedora. If I understand correctly, the authors of that code did not give explicit permission to distribute it for a fee.
Never mind, I found this particular license has been reviewed and approved already: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/292 It's called HPND-Pbmplus. So, the final license field is: License: Zlib AND (HPND-Pbmplus AND Zlib) AND Unlicense AND MIT AND (MIT OR Unlicense) AND LicenseRef-Fedora-Public-Domain and the IMG_gif.c file should be listed as: ./src/IMG_gif.c: HPND-Pbmplus AND Zlib
One more small nitpick: BuildRequires: libavif-devel BuildRequires: libjpeg-devel BuildRequires: libjxl-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel BuildRequires: libwebp-devel BuildRequires: SDL3-devel It'd be advisable to convert the above to cmake() equivalents. They're being detected with cmake's find_package() calls. Not a blocker, though. Otherwise, the package looks good. Please correct the license field, add the licensing break-down and I'll approve. Note: per https://docs.fedoraproject.org/en-US/legal/license-field/#_basic_rule only the license tags for the code actually compiled into the binary RPM should be included, so I'm omitting e.g. the MIT-Khronos-old, libtiff, and others found in Xcode/ and VisualC/. 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]: 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]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: 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", "zlib License", "*No copyright* zlib License", "Boost Software License 1.0", "mit_whatever", "NTP License and/or zlib License", "*No copyright* The Unlicense", "MIT License and/or The Unlicense", "libtiff License", "BSD 2-Clause License", "BSD 3-Clause License", "Khronos License and/or zlib License", "MIT License and/or zlib License", "Khronos License and/or MIT License", "MIT License", "Apache License 2.0", "Khronos License". 149 files have unknown license. Detailed output of licensecheck in /var/lib/copr- rpmbuild/results/SDL3_image/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [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. [-]: Package contains desktop file if it is a GUI application. [x]: 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. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [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]: The License field must be a valid SPDX expression. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [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]: 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 784 bytes in 2 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [x]: 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). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [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]: The placement of pkgconfig(.pc) files are correct. [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: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: SDL3_image-3.2.0-1.fc43.x86_64.rpm SDL3_image-devel-3.2.0-1.fc43.x86_64.rpm SDL3_image-3.2.0-1.fc43.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.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 rpmlintrc: [PosixPath('/tmp/tmp1npfmtr4')] checks: 32, packages: 3 SDL3_image.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/SDL3_image/CHANGES.txt SDL3_image.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/SDL3_image/README.md SDL3_image.spec:25: W: unversioned-explicit-provides bundled(nanosvg) SDL3_image-devel.x86_64: W: no-manual-page-for-binary showanim SDL3_image-devel.x86_64: W: no-manual-page-for-binary showimage 3 packages and 0 specfiles checked; 0 errors, 5 warnings, 17 filtered, 0 badness; has taken 0.6 s Rpmlint (debuginfo) ------------------- Checking: SDL3_image-devel-debuginfo-3.2.0-1.fc43.x86_64.rpm SDL3_image-debuginfo-3.2.0-1.fc43.x86_64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.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 rpmlintrc: [PosixPath('/tmp/tmp9m0fdvz6')] checks: 32, packages: 2 2 packages and 0 specfiles checked; 0 errors, 0 warnings, 18 filtered, 0 badness; has taken 0.3 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.7.0 configuration: /usr/lib/python3.13/site-packages/rpmlint/configdefaults.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: 4 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 s Source checksums ---------------- https://github.com/libsdl-org/SDL_image/releases/download/release-3.2.0/SDL3_image-3.2.0.tar.gz : CHECKSUM(SHA256) this package : 1690baea71b2b4ded9895126cddbc03a1000b027d099a4fb4669c4d23d73b19f CHECKSUM(SHA256) upstream package : 1690baea71b2b4ded9895126cddbc03a1000b027d099a4fb4669c4d23d73b19f Requires -------- SDL3_image (rpmlib, GLIBC filtered): libSDL3.so.0()(64bit) libSDL3.so.0(SDL3_0.0.0)(64bit) libc.so.6()(64bit) rtld(GNU_HASH) SDL3_image-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config SDL3_image(x86-64) cmake-filesystem cmake-filesystem(x86-64) libSDL3.so.0()(64bit) libSDL3.so.0(SDL3_0.0.0)(64bit) libSDL3_image.so.0()(64bit) libSDL3_image.so.0(SDL3_image_0.0.0)(64bit) libc.so.6()(64bit) pkgconfig(sdl3) rtld(GNU_HASH) Provides -------- SDL3_image: SDL3_image SDL3_image(x86-64) bundled(miniz) bundled(nanosvg) libSDL3_image.so.0()(64bit) libSDL3_image.so.0(SDL3_image_0.0.0)(64bit) SDL3_image-devel: SDL3_image-devel SDL3_image-devel(x86-64) cmake(SDL3_image) cmake(sdl3_image) pkgconfig(sdl3-image) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/bin/fedora-review --no-colors --prebuilt --rpm-spec --name SDL3_image --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Shell-api, Generic Disabled plugins: Perl, Ocaml, Haskell, Java, PHP, Python, SugarActivity, fonts, R Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Spec URL: https://slaanesh.fedorapeople.org/review/SDL3_image.spec SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.4-1.fc42.src.rpm - Updated to 3.2.4 (requires SDL3 >= 3.2.4 for building). - Convert build requirements that are available in cmake(lib) format to it. - Updated license, added license breakdown. (In reply to Dominik 'Rathann' Mierzejewski from comment #38) > One more small nitpick: > > BuildRequires: libavif-devel > BuildRequires: libjpeg-devel > BuildRequires: libjxl-devel > BuildRequires: libpng-devel > BuildRequires: libtiff-devel > BuildRequires: libwebp-devel > BuildRequires: SDL3-devel > > It'd be advisable to convert the above to cmake() equivalents. > They're being detected with cmake's find_package() calls. > Not a blocker, though. Done for all the packages which are provding cmake(lib). Not all of them unfortunately. > Otherwise, the package looks good. Please correct the license field, > add the licensing break-down and I'll approve. > > Note: per > https://docs.fedoraproject.org/en-US/legal/license-field/#_basic_rule > only the license tags for the code actually compiled into the binary RPM > should > be included, so I'm omitting e.g. the MIT-Khronos-old, libtiff, and others > found > in Xcode/ and VisualC/. Thank you very much for the license work, much appreciated.
There seems to be some problem with the following file. SRPM URL: https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.4-1.fc42.src.rpm Fetching it results in a 404 Not Found error. Please make sure the URL is correct and publicly available. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
(In reply to Fedora Review Service from comment #40) > There seems to be some problem with the following file. > SRPM URL: > https://slaanesh.fedorapeople.org/review/SDL3_image-3.2.4-1.fc42.src.rpm > Fetching it results in a 404 Not Found error. > Please make sure the URL is correct and publicly available. Fixed, was missing permissions. Side tags with SDL3 3.2.8, needed for build, in it: f42-build-side-107980 f41-build-side-107982 f40-build-side-107984
Created attachment 2080461 [details] The .spec file difference from Copr build 8651195 to 8772063
Copr build: https://copr.fedorainfracloud.org/coprs/build/8772063 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2338412-sdl3_image/fedora-rawhide-x86_64/08772063-SDL3_image/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Looks good now, approved. BuildRequires: libjxl-devel is not sorted alphabetically now, please fix when importing. You can replace # ./src/IMG_bmp.c: Zlib # ./src/IMG.c: Zlib # ./src/IMG_gif.c: HPND-Pbmplus AND Zlib and others in src/IMG_* with: # ./src/IMG*.c: Zlib # except: # ./src/IMG_gif.c: HPND-Pbmplus AND Zlib to make it shorter.
(In reply to Dominik 'Rathann' Mierzejewski from comment #44) > Looks good now, approved. > > BuildRequires: libjxl-devel > > is not sorted alphabetically now, please fix when importing. > > You can replace > > # ./src/IMG_bmp.c: Zlib > # ./src/IMG.c: Zlib > # ./src/IMG_gif.c: HPND-Pbmplus AND Zlib > > and others in src/IMG_* with: > > # ./src/IMG*.c: Zlib > # except: > # ./src/IMG_gif.c: HPND-Pbmplus AND Zlib > > to make it shorter. Will do both, thank you!
The Pagure repository was created at https://src.fedoraproject.org/rpms/SDL3_image
Opened a releng issue as I can´t seem to release an update from the f41 and f40 side tags, the f42 one worked fine: https://pagure.io/releng/issue/12641
FEDORA-2025-49cb1e1e73 (mingw-SDL3-3.2.8-1.fc42, sdl2-compat-2.32.52-1.fc42, and 2 more) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2025-49cb1e1e73
FEDORA-2025-0a70cdd350 (mingw-SDL3-3.2.8-1.fc41, SDL3-3.2.8-1.fc41, and 1 more) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2025-0a70cdd350
FEDORA-2025-00d63ce903 (mingw-SDL3-3.2.8-1.fc40, SDL3-3.2.8-1.fc40, and 1 more) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2025-00d63ce903
FEDORA-2025-49cb1e1e73 (mingw-SDL3-3.2.8-1.fc42, sdl2-compat-2.32.52-1.fc42, and 2 more) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2025-00d63ce903 has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-00d63ce903` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-00d63ce903 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2025-0a70cdd350 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-0a70cdd350` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-0a70cdd350 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2025-0a70cdd350 (mingw-SDL3-3.2.8-1.fc41, SDL3-3.2.8-1.fc41, and 1 more) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2025-00d63ce903 (mingw-SDL3-3.2.8-1.fc40, SDL3-3.2.8-1.fc40, and 1 more) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.