Spec URL: https://pagure.io/bign-handheld-thumbnailer-spec SRPM URL: https://copr.fedorainfracloud.org/coprs/mateusrodcosta/bign-handheld-thumbnailer/ (COPR) Description: A thumbnailer for Nintendo handheld systems (Nintendo DS and 3DS) roms and files. Fedora Account System Username: mateusrodcosta
Cannot find any valid SRPM URL for this ticket. Common causes are: - You didn't specify `SRPM URL: ...` in the ticket description or any of your comments - The URL schema isn't HTTP or HTTPS - The SRPM package linked in your URL doesn't match the package name specified in the ticket summary --- 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.
Thanks for wanting to bring these to Fedora. Please ensure that the links for the spec file and srpm are to the raw files, not just to the webpages where the files are hosted. It should be possible to use wget to directly download the files.
Spec URL: https://pagure.io/bign-handheld-thumbnailer-spec/raw/main/f/bign-handheld-thumbnailer.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/mateusrodcosta/bign-handheld-thumbnailer/fedora-41-x86_64/08584653-bign-handheld-thumbnailer/bign-handheld-thumbnailer-1.1.2-2.fc41.src.rpm Description: A thumbnailer for Nintendo handheld systems (Nintendo DS and 3DS) roms and files. Fedora Account System Username: mateusrodcosta
fedora-review-service-build
Copr build: https://copr.fedorainfracloud.org/coprs/build/8587796 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2300113-bign-handheld-thumbnailer/fedora-rawhide-x86_64/08587796-bign-handheld-thumbnailer/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.
Taking for review. From a glance looks good, but I will go through checklist for some rust-specific stuff since I am not familiar with it.
===== MUST items ===== 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. [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", "GNU General Public License, Version 2", "*No copyright* GNU General Public License, Version 2". 22 files have unknown license. Detailed output of licensecheck in /var/lib/copr-rpmbuild/results/bign-handheld- thumbnailer/licensecheck.txt [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. [-]: 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]: 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 2489 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]: 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: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: bign-handheld-thumbnailer-1.1.2-2.fc42.x86_64.rpm bign-handheld-thumbnailer-1.1.2-2.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/tmpz_6c6n9u')] checks: 32, packages: 2 bign-handheld-thumbnailer.src: E: spelling-error ('roms', '%description -l en_US roms -> toms, rims, oms') bign-handheld-thumbnailer.x86_64: E: spelling-error ('roms', '%description -l en_US roms -> toms, rims, oms') bign-handheld-thumbnailer.x86_64: W: no-manual-page-for-binary bign-handheld-thumbnailer 2 packages and 0 specfiles checked; 2 errors, 1 warnings, 7 filtered, 2 badness; has taken 0.3 s Rpmlint (debuginfo) ------------------- rpmlint bign-handheld-thumbnailer-debuginfo-1.1.2-2.fc42.x86_64.rpm (none): E: fatal error while reading bign-handheld-thumbnailer-debuginfo-1.1.2-2.fc42.x86_64.rpm: 'utf-8' codec can't decode byte 0xe1 in position 443: invalid continuation byte Rpmlint (installed packages) ---------------------------- =================================== 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 checks: 32, packages: 1 bign-handheld-thumbnailer.x86_64: E: spelling-error ('roms', '%description -l en_US roms -> toms, rims, oms') bign-handheld-thumbnailer.x86_64: W: no-manual-page-for-binary bign-handheld-thumbnailer Source checksums ---------------- https://github.com/MateusRodCosta/bign-handheld-thumbnailer/archive/refs/tags/v1.1.2.tar.gz : CHECKSUM(SHA256) this package : 1bc2e6aa441cb8e889df797d2cc5fc4d29e929ecd7ed902b27e27b67cea64109 CHECKSUM(SHA256) upstream package : 1bc2e6aa441cb8e889df797d2cc5fc4d29e929ecd7ed902b27e27b67cea64109 Requires -------- bign-handheld-thumbnailer (rpmlib, GLIBC filtered): ld-linux-x86-64.so.2()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libm.so.6()(64bit) rtld(GNU_HASH) Provides -------- bign-handheld-thumbnailer: bign-handheld-thumbnailer bign-handheld-thumbnailer(x86-64) metainfo() metainfo(dev.mateusrodcosta.bign_handheld_thumbnailer.metainfo.xml) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/bin/fedora-review --no-colors --prebuilt --rpm-spec --name bign-handheld-thumbnailer --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic Disabled plugins: Perl, PHP, Java, Ocaml, fonts, SugarActivity, Haskell, C/C++, R, Python Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Looks good, but I am running into issues with debuginfo package. rpmlint gives error both on rpm file (see review text above). rpmlint -i gives more explanation that might be helpful to resolve: ''' Traceback (most recent call last): File "/usr/bin/rpmlint", line 8, in <module> sys.exit(lint()) ~~~~^^ File "/usr/lib/python3.13/site-packages/rpmlint/cli.py", line 176, in lint sys.exit(lint.run()) ~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/rpmlint/lint.py", line 108, in run return self._run() ~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/rpmlint/lint.py", line 73, in _run self.validate_installed_packages(self._load_installed_rpms(self.options['installed'])) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/lint.py", line 226, in validate_installed_packages self.run_checks(pkg, pkg == packages[-1]) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/lint.py", line 281, in run_checks fn(pkg) ~~^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/checks/AbstractCheck.py", line 17, in check return self.check_binary(pkg) ~~~~~~~~~~~~~~~~~^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/checks/BinariesCheck.py", line 698, in check_binary self.run_elf_checks(pkg, pkgfile) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/checks/BinariesCheck.py", line 587, in run_elf_checks self.readelf_parser = ReadelfParser(pkgfile.path, pkgfile.name) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/readelfparser.py", line 357, in __init__ self.program_header_info = ElfProgramHeaderInfo(pkgfile_path, extra_flags) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/rpmlint/readelfparser.py", line 143, in __init__ self.parse() ~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/rpmlint/readelfparser.py", line 146, in parse r = subprocess.run(['readelf', '-W', '-l', self.path] + self.extra_flags, encoding='utf8', capture_output=True, env=ENGLISH_ENVIROMENT) File "/usr/lib64/python3.13/subprocess.py", line 558, in run stdout, stderr = process.communicate(input, timeout=timeout) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/subprocess.py", line 1221, in communicate stdout, stderr = self._communicate(input, endtime, timeout) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/subprocess.py", line 2168, in _communicate stdout = self._translate_newlines(stdout, self.stdout.encoding, self.stdout.errors) File "/usr/lib64/python3.13/subprocess.py", line 1098, in _translate_newlines data = data.decode(encoding, errors) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 443: invalid continuation byte '''
> rpmlint gives error both on rpm file (see review text above). So, about those messages: ``` bign-handheld-thumbnailer.src: E: spelling-error ('roms', '%description -l en_US roms -> toms, rims, oms') bign-handheld-thumbnailer.x86_64: E: spelling-error ('roms', '%description -l en_US roms -> toms, rims, oms') bign-handheld-thumbnailer.x86_64: W: no-manual-page-for-binary bign-handheld-thumbnailer 2 packages and 0 specfiles checked; 2 errors, 1 warnings, 7 filtered, 2 badness; has taken 0.3 s ``` "roms" is a valid word, specially when related to videogames, which is the context here (i.e. "game roms"). So that message can be safely ignored. And, yes, I didn't put the effort yet to create a man page. Since it's just a thumbaniler there might not be as much benefit in having a man page, but I still plan on trying to create one in the future. > Looks good, but I am running into issues with debuginfo package. So, about ``` UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 443: invalid continuation byte ``` I asked on the Fedora Rust SIG Matrix room and they basically said: > 🤷 Don't think it's an important check, particularly on a debuginfo package. They did worrry a bit that since I am using meson and meson macros, the correct Rust build flags are being set. --- IMHO those warning are not important, but you can always ping some Rust packager to confirm.
Further analysis from the Rust SIG Matrix room: Apparently the rpmlint issue with debuginfo is https://github.com/rpm-software-management/rpmlint/issues/202 which gets fixed in rpmlint 2.6.1. The Rust flags are correctly set even when using the meson macros.
Oh, I did not mean those errors about misspelling and no man page, that is waivable IMO too. Just for a good measure I quickly built rpmlint 2.7.0 and tried it again. No errors. So LGTM!
(In reply to Mateus Rodrigues Costa from comment #10) > Apparently the rpmlint issue with debuginfo I might be wrong, but I believe that in the days when Bodhi was using rpmlint (until it was replaced by rpminspect), the -debuginfo packages were ignored. Moreover those are autogenerated, so there are no high changes to influence their content in a way which would be relevant for rpmlint.
Hi, what is the next step here? I guess it's pending I getting a sponsor?
(In reply to Mateus Rodrigues Costa from comment #13) > Hi, what is the next step here? > > I guess it's pending I getting a sponsor? Hi, yeah, it appears so. https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process_for_New_Contributors/#get_sponsored
This section from the docs is relevant: > When the package is APPROVED by the reviewer, you must separately obtain member sponsorship in order to check in and build your package. Sponsorship is not automatic and may require that you further participate in other ways in order to demonstrate your understanding of the packaging guidelines. The key to becoming sponsored is to convince an existing sponsor-level member that you understand and follow the project’s guidelines and processes.
The Pagure repository was created at https://src.fedoraproject.org/rpms/bign-handheld-thumbnailer
This package already made it into F40, F41, F42 and Rawhide.