Spec URL: https://atim.fedorapeople.org/mat2.spec SRPM URL: https://atim.fedorapeople.org/mat2-0.13.4-3.fc39.src.rpm Description: Metadata consist of information that characterizes data. Metadata are used to provide documentation for data products. In essence, metadata answer who, what, when, where, why, and how about every facet of the data that are being documented. Metadata within a file can tell a lot about you. Cameras record data about when a picture was taken and what camera was used. Office documents like PDF or Office automatically adds author and company information to documents and spreadsheets. Maybe you don't want to disclose those information. This is precisely the job of mat2: getting rid, as much as possible, of metadata. mat2 provides: - a library called 'libmat2'; - a command line tool called 'mat2', - a service menu for Dolphin, KDE's default file manager If you prefer a regular graphical user interface, you might be interested in 'Metadata Cleaner', which is using mat2 under the hood. Fedora Account System Username: atim
This package built on koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=107323544
Maybe antoine.tenart would like to co-maintain package or any help appreciated. E-mailed.
Quick fixes: Spec URL: https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06516524-mat2/mat2.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06516524-mat2/mat2-0.13.4-3.fc39.src.rpm
Created attachment 1993476 [details] The .spec file difference from Copr build 6514243 to 6516535
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs a %{name}.desktop using desktop-file-install or desktop- file-validate if there is such a file. ===== MUST items ===== 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. [!]: 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 Lesser General Public License, Version 3", "GNU General Public License, Version 3 GNU Lesser General Public License v3.0 or later", "*No copyright* GNU Lesser General Public License v3.0 or later". 80 files have unknown license. Detailed output of licensecheck in /home/fedora/2243093-mat2/licensecheck.txt [ ]: License file installed when any subpackage combination is installed. [ ]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/kservices5/ServiceMenus [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). [ ]: Package is named according to the Package Naming Guidelines. [ ]: Package does not generate any conflict. [ ]: 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]: 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: Test run failed [ ]: 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]: The License field must be a valid SPDX expression. [x]: Package requires other packages for directories it uses. [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]: 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 Python: [ ]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [ ]: Python eggs must not download any dependencies during the build process. [ ]: A package which is used by another package via an egg interface should provide egg info. [ ]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files ===== 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. [ ]: 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. [ ]: 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 all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: mat2-0.13.4-3.fc40.noarch.rpm mat2-dolphin-0.13.4-3.fc40.noarch.rpm mat2-0.13.4-3.fc40.src.rpm ================================= rpmlint session starts ================================ rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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/tmp0d0gdruv')] checks: 31, packages: 3 mat2.noarch: E: explicit-lib-dependency librsvg2 mat2.noarch: E: explicit-lib-dependency poppler-glib mat2-dolphin.noarch: W: description-shorter-than-summary == 3 packages and 0 specfiles checked; 2 errors, 1 warnings, 2 badness; has taken 0.5 s = Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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: 31, packages: 2 mat2.noarch: E: explicit-lib-dependency librsvg2 mat2.noarch: E: explicit-lib-dependency poppler-glib mat2-dolphin.noarch: W: description-shorter-than-summary 2 packages and 0 specfiles checked; 2 errors, 1 warnings, 2 badness; has taken 0.1 s Source checksums ---------------- https://0xacab.org/jvoisin/mat2/uploads/95d1f3782dfc731545fd9b467c594cb2/mat2-0.13.4.tar.gz.asc : CHECKSUM(SHA256) this package : b2100acfcdadf2d5b3bc116298e4bd0a073954d04f9c455c04b01590aaa680bf CHECKSUM(SHA256) upstream package : b2100acfcdadf2d5b3bc116298e4bd0a073954d04f9c455c04b01590aaa680bf https://0xacab.org/jvoisin/mat2/-/archive/0.13.4/mat2-0.13.4.tar.gz : CHECKSUM(SHA256) this package : dbd30f33edd9b99042b3d9ec2b5e7e9c9a08bba4318bcf3fa63be8854cc871db CHECKSUM(SHA256) upstream package : dbd30f33edd9b99042b3d9ec2b5e7e9c9a08bba4318bcf3fa63be8854cc871db Requires -------- mat2 (rpmlib, GLIBC filtered): /usr/bin/python3 bubblewrap gdk-pixbuf2-modules librsvg2 mailcap perl-Image-ExifTool poppler-glib python(abi) python3.12dist(mutagen) python3.12dist(pycairo) python3.12dist(pygobject) mat2-dolphin (rpmlib, GLIBC filtered): dolphin mat2 Provides -------- mat2: mat2 python-mat2 python3-mat2 python3.12-mat2 python3.12dist(mat) python3dist(mat) mat2-dolphin: mat2-dolphin Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2243093 Buildroot used: fedora-rawhide-aarch64 Active plugins: Generic, Python, Shell-api Disabled plugins: R, Perl, C/C++, Ocaml, fonts, Haskell, Java, PHP, SugarActivity Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) License seems to be LGPL-3.0-or-later b) Should use desktop-file-validate see https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files
Warnings in build log: /usr/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgn oreField: `description` defined outside of `pyproject.toml` would be ignored. !! ******************************************************************************** ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `description = 'A handy tool to trash your metadata'` According to the spec (see the link below), however, setuptools CANNOT consider this value unless `description` is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools wil l follow strictly the standard. To prevent this warning, you can list `description` under `dynamic` or alternativ ely remove the `[project]` table from your file and rely entirely on other means of configuration. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. ******************************************************************************** !! _handle_missing_dynamic(dist, project_table) /usr/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgn oreField: `authors` defined outside of `pyproject.toml` would be ignored. !! ******************************************************************************** ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `authors = 'Julien (jvoisin) Voisin'` According to the spec (see the link below), however, setuptools CANNOT consider this value unless `authors` is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools wil l follow strictly the standard. To prevent this warning, you can list `authors` under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. ******************************************************************************** !! _handle_missing_dynamic(dist, project_table) /usr/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgn oreField: `classifiers` defined outside of `pyproject.toml` would be ignored. !! ******************************************************************************** ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `classifiers = ['Development Status :: 3 - Alpha', 'Environment :: Console', 'Lic ense :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)', 'Operat ing System :: OS Independent', 'Programming Language :: Python :: 3 :: Only', 'Topic :: S ecurity', 'Intended Audience :: End Users/Desktop']` According to the spec (see the link below), however, setuptools CANNOT consider this value unless `classifiers` is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools wil l follow strictly the standard. To prevent this warning, you can list `classifiers` under `dynamic` or alternativ ely remove the `[project]` table from your file and rely entirely on other means of configuration. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. ******************************************************************************** !! _handle_missing_dynamic(dist, project_table) /usr/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgn oreField: `urls` defined outside of `pyproject.toml` would be ignored. !! ******************************************************************************** ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `urls = {'bugtacker': 'https://0xacab.org/jvoisin/mat2/issues'}` According to the spec (see the link below), however, setuptools CANNOT consider this value unless `urls` is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools wil l follow strictly the standard. To prevent this warning, you can list `urls` under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. ******************************************************************************** !! _handle_missing_dynamic(dist, project_table) /usr/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgn oreField: `dependencies` defined outside of `pyproject.toml` would be ignored. !! ******************************************************************************** ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## The following seems to be defined outside of `pyproject.toml`: `dependencies = ['mutagen', 'PyGObject', 'pycairo']` According to the spec (see the link below), however, setuptools CANNOT consider this value unless `dependencies` is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools wil l follow strictly the standard. To prevent this warning, you can list `dependencies` under `dynamic` or alternati vely remove the `[project]` table from your file and rely entirely on other means of configuration. By 2023-Oct-30, you need to update your project and remove deprecated calls or your builds will no longer be supported. ******************************************************************************** !! _handle_missing_dynamic(dist, project_table) Tests pass. There is no dist-info directory, though there is an egg-info directory. Can the new packaging macros be used to generate a dist.info directory? See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/
Thanks for review! New build: Spec URL: https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06524035-mat2/mat2.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06524035-mat2/mat2-0.13.4-3.fc39.src.rpm I've also splitted into library sub-package, this look like more canonical for Fedora packaging Python apps/modules. As for desktop file validation not sure if we really should to validate it in this case since this is Dolphin plugin.
Created attachment 1993780 [details] The .spec file difference from Copr build 6516535 to 6524040
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ ===== MUST items ===== 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", "GNU Lesser General Public License, Version 3", "GNU General Public License, Version 3 GNU Lesser General Public License v3.0 or later", "*No copyright* GNU Lesser General Public License v3.0 or later". 80 files have unknown license. Detailed output of licensecheck in /home/fedora/temp/review- mat2/licensecheck.txt [ ]: License file installed when any subpackage combination is installed. [ ]: Package contains no bundled libraries without FPC exception. [ ]: Changelog in prescribed format. [ ]: Sources contain only permissible code or content. [ ]: Development files must be in a -devel package [ ]: Package uses nothing in %doc for runtime. [ ]: Package consistently uses macros (instead of hard-coded directory names). [ ]: Package is named according to the Package Naming Guidelines. [ ]: Package does not generate any conflict. [ ]: Package obeys FHS, except libexecdir and /usr/target. [ ]: If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: Requires correct, justified where necessary. [ ]: Spec file is legible and written in American English. [ ]: Package contains systemd file(s) if in need. [ ]: 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 23593 bytes in 6 files. [ ]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [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]: 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 Python: [ ]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [ ]: Python eggs must not download any dependencies during the build process. [ ]: A package which is used by another package via an egg interface should provide egg info. [ ]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files ===== 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 python3-libmat2 [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: 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. [ ]: 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]: 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: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_use_rpmlint [x]: Spec file according to URL is the same as in SRPM. Installation errors ------------------- INFO: mock.py version 5.2 starting (python version = 3.11.6, NVR = mock-5.2-1.fc38), args: /usr/libexec/mock/mock -r fedora-rawhide-aarch64 --no-cleanup-after --no-clean --resultdir=/home/fedora/temp/review-mat2/results install /home/fedora/temp/review-mat2/results/python3-libmat2-0.13.4-3.fc40.noarch.rpm /home/fedora/temp/review-mat2/results/mat2-dolphin-0.13.4-3.fc40.noarch.rpm /home/fedora/temp/review-mat2/results/mat2-0.13.4-3.fc40.noarch.rpm Start(bootstrap): init plugins INFO: selinux enabled Finish(bootstrap): init plugins Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Mock Version: 5.2 INFO: Mock Version: 5.2 Start(bootstrap): chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Package manager dnf detected and used (fallback) Finish(bootstrap): chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf detected and used (direct choice) Finish: chroot init INFO: installing package(s): /builddir/python3-libmat2-0.13.4-3.fc40.noarch.rpm /builddir/mat2-dolphin-0.13.4-3.fc40.noarch.rpm /builddir/mat2-0.13.4-3.fc40.noarch.rpm ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M c4e5e6ec2b82484780416353b566bb06 -D /var/lib/mock/fedora-rawhide-aarch64-bootstrap/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.zesb5ljz:/etc/resolv.conf --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/fedora-rawhide-aarch64/root/installation-homedir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 --resolv-conf=off /usr/bin/dnf-3 --installroot /var/lib/mock/fedora-rawhide-aarch64/root/ --releasever 40 --setopt=deltarpm=False --setopt=allow_vendor_change=yes --allowerasing --disableplugin=local --disableplugin=spacewalk --disableplugin=versionlock install /builddir/python3-libmat2-0.13.4-3.fc40.noarch.rpm /builddir/mat2-dolphin-0.13.4-3.fc40.noarch.rpm /builddir/mat2-0.13.4-3.fc40.noarch.rpm --setopt=tsflags=nocontexts Rpmlint ------- Checking: mat2-0.13.4-3.fc40.noarch.rpm python3-libmat2-0.13.4-3.fc40.noarch.rpm mat2-dolphin-0.13.4-3.fc40.noarch.rpm mat2-0.13.4-3.fc40.src.rpm ================================================== rpmlint session starts ================================================= rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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/tmprqbw5ftx')] checks: 31, packages: 4 mat2.spec:164: W: macro-in-%changelog %{py3_test_envvars} mat2.noarch: E: explicit-lib-dependency librsvg2 mat2.noarch: E: explicit-lib-dependency poppler-glib =================== 4 packages and 0 specfiles checked; 2 errors, 1 warnings, 2 badness; has taken 0.4 s ================== Source checksums ---------------- https://0xacab.org/jvoisin/mat2/uploads/95d1f3782dfc731545fd9b467c594cb2/mat2-0.13.4.tar.gz.asc : CHECKSUM(SHA256) this package : b2100acfcdadf2d5b3bc116298e4bd0a073954d04f9c455c04b01590aaa680bf CHECKSUM(SHA256) upstream package : b2100acfcdadf2d5b3bc116298e4bd0a073954d04f9c455c04b01590aaa680bf https://0xacab.org/jvoisin/mat2/-/archive/0.13.4/mat2-0.13.4.tar.gz : CHECKSUM(SHA256) this package : dbd30f33edd9b99042b3d9ec2b5e7e9c9a08bba4318bcf3fa63be8854cc871db CHECKSUM(SHA256) upstream package : dbd30f33edd9b99042b3d9ec2b5e7e9c9a08bba4318bcf3fa63be8854cc871db Requires -------- mat2 (rpmlib, GLIBC filtered): /usr/bin/python3 gdk-pixbuf2-modules librsvg2 mailcap perl-Image-ExifTool poppler-glib python3-libmat2 python3-libmat2 (rpmlib, GLIBC filtered): /usr/bin/python3 python(abi) python3.12dist(mutagen) python3.12dist(pycairo) python3.12dist(pygobject) mat2-dolphin (rpmlib, GLIBC filtered): dolphin kf5-filesystem libmat2 Provides -------- mat2: mat2 python-mat2 python3-mat2 python3.12-mat2 python3-libmat2: python-libmat2 python3-libmat2 python3.12-libmat2 python3.12dist(mat) python3dist(mat) mat2-dolphin: mat2-dolphin Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -n mat2 Buildroot used: fedora-rawhide-aarch64 Active plugins: Python, Generic, Shell-api Disabled plugins: Ocaml, Haskell, Java, PHP, Perl, fonts, SugarActivity, R, C/C++ Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) Does not install correctly b) Main package does not have a license file nor does it require a package with a license file rpm -qL mat2-0.13.4-3.fc40.noarch.rpm c) Change %files -n python3-%{modname} -f %{pyproject_files} %license LICENSE %doc README.md CHANGELOG.md doc/*.md to %files -n python3-%{modname} -f %{pyproject_files} %doc README.md CHANGELOG.md doc/*.md License file is included correctly: $ rpm -qL python3-libmat2-0.13.4-3.fc40.noarch.rpm /usr/lib/python3.12/site-packages/mat-0.13.4.dist-info/LICENSE /usr/share/licenses/python3-libmat2/LICENSE d) desktop-file-install should be used. See the packaging guidelines: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files
a) Package install correctly for me on f39 x86_64. Maybe f40 aarch64 bug? b) Main package depend on: Requires: python3-%{modname} = %{version}-%{release} python3-%{modname} (python3-libmat2) contain license file. Maybe this is linter bug? I removed %license LICENSE as you recommended since license file installed automatically with python module: ❯ rpm -qL python3-libmat2-0.13.4-3.fc39.noarch.rpm /usr/lib/python3.12/site-packages/mat-0.13.4.dist-info/LICENSE d) This TODO/HELP WANTED for future area for me. https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06528338-mat2/mat2.spec https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06528338-mat2/mat2-0.13.4-3.fc39.src.rpm
Created attachment 1994097 [details] The .spec file difference from Copr build 6524040 to 6528348
No need to validate .desktop file for KDE services. Answer in Matrix from KDE devs: > That's expected. No you should NOT validate those files. Only files in %{_datadir}/applications. I've added annotation about .desktop file and license file. https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06529374-mat2/mat2.spec https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06529374-mat2/mat2-0.13.4-3.fc39.src.rpm
Probably worth adding a section on KDE applications to packaging guidelines: https://docs.fedoraproject.org/en-US/packaging-guidelines The desktop file seems to have the correct format: https://0xacab.org/jvoisin/mat2/-/blob/master/dolphin/mat2.desktop?ref_type=heads Maybe the desktop-file validate tool needs to be updated? Desktop file has a reference to an icon which does not seem to be packaged: mat2.svg This is in the sources: https://0xacab.org/jvoisin/mat2/-/tree/master/data?ref_type=heads so maybe worth packaging it in the location indicated in the desktop file and requiring hicolor-icon-theme Can BuildRequires: python3-gobject BuildRequires: python3dist(mutagen) BuildRequires: python3dist(pycairo) be installed automatically as they are in setup.py? https://0xacab.org/jvoisin/mat2/-/blob/master/setup.py?ref_type=heads This means they are likely not needed in the spec file.
Thanks for tips! 1. Added icon file for Dolphin integration. But did't tested at all this Dolphin integration plugin. Would be nice if someone help with testing. 2. Indeed, python3dist(mutagen), python3dist(pycairo) catches by new Python macroses which generate BR. It didn't worked with 201x-era. But python3-gobject still MUST explicitly required. 3. For updating desktop-file validate tool I remember a long time ago there was talk about that needed to be done various things. Maybe let's discuss this with Fedora KDE devs there? https://matrix.to/#/#kde:fedoraproject.org
https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06530776-mat2/mat2.spec https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06530776-mat2/mat2-0.13.4-3.fc39.src.rpm
I've tested Dolphin plugin and it works. Icon also visible in Dolphin. Also fixed "Does not install correctly", the problem was with dolphin sub-package. https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06532020-mat2/mat2.spec https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06532020-mat2/mat2-0.13.4-3.fc39.src.rpm
Created attachment 1994224 [details] The .spec file difference from Copr build 6532622 to 6532626
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs a %{name}.desktop using desktop-file-install or desktop- file-validate if there is such a file. ===== MUST items ===== 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", "GNU Lesser General Public License, Version 3", "GNU General Public License, Version 3 GNU Lesser General Public License v3.0 or later", "*No copyright* GNU Lesser General Public License v3.0 or later". 80 files have unknown license. Detailed output of licensecheck in /home/fedora/2243093-mat2/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/icons/hicolor/scalable/apps, /usr/share/icons/hicolor/scalable, /usr/share/icons/hicolor [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). [ ]: 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. [ ]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: 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 23593 bytes in 6 files. [ ]: 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]: The License field must be a valid SPDX expression. [x]: Package requires other packages for directories it uses. [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]: 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 Python: [-]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [-]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [ ]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files ===== 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). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-libmat2 [ ]: 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]: 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: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: mat2-0.13.4-3.fc40.noarch.rpm python3-libmat2-0.13.4-3.fc40.noarch.rpm mat2-dolphin-0.13.4-3.fc40.noarch.rpm mat2-0.13.4-3.fc40.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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/tmpxqexu2p7')] checks: 31, packages: 4 mat2.noarch: E: explicit-lib-dependency librsvg2 mat2.noarch: E: explicit-lib-dependency poppler-glib 4 packages and 0 specfiles checked; 2 errors, 0 warnings, 2 badness; has taken 0.4 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.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: 31, packages: 3 mat2.noarch: E: explicit-lib-dependency librsvg2 mat2.noarch: E: explicit-lib-dependency poppler-glib 3 packages and 0 specfiles checked; 2 errors, 0 warnings, 2 badness; has taken 0.1 s Source checksums ---------------- https://0xacab.org/jvoisin/mat2/uploads/95d1f3782dfc731545fd9b467c594cb2/mat2-0.13.4.tar.gz.asc : CHECKSUM(SHA256) this package : b2100acfcdadf2d5b3bc116298e4bd0a073954d04f9c455c04b01590aaa680bf CHECKSUM(SHA256) upstream package : b2100acfcdadf2d5b3bc116298e4bd0a073954d04f9c455c04b01590aaa680bf https://0xacab.org/jvoisin/mat2/-/archive/0.13.4/mat2-0.13.4.tar.gz : CHECKSUM(SHA256) this package : dbd30f33edd9b99042b3d9ec2b5e7e9c9a08bba4318bcf3fa63be8854cc871db CHECKSUM(SHA256) upstream package : dbd30f33edd9b99042b3d9ec2b5e7e9c9a08bba4318bcf3fa63be8854cc871db Requires -------- mat2 (rpmlib, GLIBC filtered): /usr/bin/python3 gdk-pixbuf2-modules hicolor-icon-theme librsvg2 mailcap perl-Image-ExifTool poppler-glib python3-libmat2 python3-libmat2 (rpmlib, GLIBC filtered): /usr/bin/python3 python(abi) python3.12dist(mutagen) python3.12dist(pycairo) python3.12dist(pygobject) mat2-dolphin (rpmlib, GLIBC filtered): dolphin kf5-filesystem python3-libmat2 Provides -------- mat2: mat2 python-mat2 python3-mat2 python3.12-mat2 python3-libmat2: python-libmat2 python3-libmat2 python3.12-libmat2 python3.12dist(mat) python3dist(mat) mat2-dolphin: mat2-dolphin Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2243093 Buildroot used: fedora-rawhide-aarch64 Active plugins: Generic, Python, Shell-api Disabled plugins: Ocaml, Perl, C/C++, R, fonts, Java, SugarActivity, PHP, Haskell Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) This seems no longer needed # *** WARNING: ./usr/share/kservices5/ServiceMenus/mat2.desktop is executable but has no shebang, removing executable bit b) To ensure icon directories have owners, the section # For Dolphin integration icon: mat2.svg Requires: hicolor-icon-theme should be in the dolphin subpackage, not in the main package c) Rather than: # No need to validate .desktop file for KDE services. Answer in Matrix from KDE # devs: # Maybe refer to KDE documentation: https://develop.kde.org/docs/apps/dolphin/service-menus/ Also, should the file go into /usr/share/kservices5 The current service desktop files does not validate correctly, and probably will not, but checking this. d) Can the build warnings in the log be fixed? Upstream does not test on python3.12 but probably should: https://0xacab.org/jvoisin/mat2/-/blob/master/.gitlab-ci.yml? e) The %{gpgverify} macro must be used: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_verifying_signatures
Thanks, fixed: a, b, c, e. Also added 'kdialog' dep required for Dolphin sub-package. d) Can't fix. Can't even register on https://0xacab.org/ due: Email is not allowed for sign-up. Tried Gmail, Protonmail. https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06576630-mat2/mat2.spec https://download.copr.fedorainfracloud.org/results/atim/playground/fedora-39-x86_64/06576630-mat2/mat2-0.13.4-3.fc39.src.rpm
Created attachment 1996075 [details] The .spec file difference from Copr build 6532626 to 6577377
Copr build: https://copr.fedorainfracloud.org/coprs/build/6577377 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2243093-mat2/fedora-rawhide-x86_64/06577377-mat2/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.
For d, contact information for maintainer is in the README https://0xacab.org/jvoisin/mat2
(In reply to Benson Muite from comment #22) Contacted via e-email. I've also emailed since day one antoine.tenart (current COPR maintainer) and invited as co-maintainer but did not receive any answer yet unfortunately.
(In reply to Benson Muite from comment #18) > d) Can the build warnings in the log be fixed? Upstream does not test on > python3.12 but probably should: > https://0xacab.org/jvoisin/mat2/-/blob/master/.gitlab-ci.yml? https://0xacab.org/jvoisin/mat2/-/merge_requests/113
To remove: mat2.noarch: E: explicit-lib-dependency librsvg2 mat2.noarch: E: explicit-lib-dependency poppler-glib Can you modify the spec file to add -devel packages for the libraries for example: %global non_auto_gen_deps gdk-pixbuf2-modules mailcap perl-Image-ExifTool %global non_auto_gen_lib_deps librsvg2-devel poppler-glib-devel ... %endif BuildRequires: %{non_auto_gen_lib_deps} Requires: %{non_auto_gen_deps}
(In reply to Benson Muite from comment #25) Did you tested this? IIRC it will not work, we need librsvg2 explicitly as runtime dep, not librsvg2-devel just for BR. Where is this documented and MUST fixed? "E: explicit-lib-dependency" for noarch package is usual thing and there half of Fedora package if official repo have this linter error which could be ignored.
Seems ok. Sorry. Approved.
Thank you! No prob at all. Appreciate thorough review. And IIRC -devel package not needed there either for BR. This deps needed for tests and for app itself to work properly. I'll test it ASAP. I still think we missed something and could fix/improve build. I hope we can fix what's left later if there some. And RHBZ always help with that and bug reports or PR.
Thanks. Probably "E: explicit-lib-dependency"should be changed to indicate that it only applies for compiled arched packages.
The Pagure repository was created at https://src.fedoraproject.org/rpms/mat2
FEDORA-2023-5cc2728e94 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-5cc2728e94
FEDORA-2023-5cc2728e94 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-5cc2728e94 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-5cc2728e94 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-5cc2728e94 has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.