Fedora Account System
Red Hat Associate
Red Hat Customer
Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/vdr-channellogos.spec SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/vdr-channellogos-20260912-1.fc45.src.rpm Description: Channel logos in PNG format for the Astra 19.2E and Hotbird 13E channel lineup, installed in the shared skin independent VDR logo directory where any VDR skin can use them. Fedora Account System Username: martinkg %changelog * Wed Sep 16 2026 Dirk Nehring <dnehring> - 20260912-1 - Render the logos at build time from the picons release 2026-09-12--23-13-54 instead of shipping a pre-converted tarball - Ship the artwork the channel list resolves to rather than the whole 1.3 GiB upstream release, reproducibly cut by channellogos-make-source.sh - Initial release $ rpmlint vdr-channellogos.spec vdr-channellogos-20260912-1.fc45.src.rpm vdr-channellogos-20260912-1.fc45.noarch.rpm ======================== rpmlint session starts ============================ rpmlint: 2.9.0 configuration: /usr/lib/python3.15/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: 3 vdr-channellogos.spec: W: invalid-url Source0: vdr-channellogos-picons-2026-09-12-23-13-54.tar.xz vdr-channellogos.spec: W: invalid-url Source0: vdr-channellogos-picons-2026-09-12-23-13-54.tar.xz ============================== 2 packages and 1 specfiles checked; 0 errors, 2 warnings, 8 filtered, 0 badness; has taken 2.1 s
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Summary ======= The package is in very good shape. It builds cleanly in mock (rawhide), installs, rpmlint reports no errors, %check passes, and Source0 can be regenerated byte for byte from the upstream release with the included script. Only two small spec corrections are needed; both are shown below and were verified with a local build. Package APPROVED, provided the two corrections below are applied before import. Issues ====== 1. License tag (MUST) "License: GPL-3.0-or-later" does not match the sources. - The installed logos are rendered from the picons artwork. Upstream (https://github.com/picons/picons) ships only the plain GPL version 3 text in LICENSE. Neither the README nor any source file grants "or later", and the SVG files carry no license metadata of their own. That makes the artwork GPL-3.0-only. - README.md was written for this package (it is not an upstream file) and is installed as %doc. -> License: GPL-3.0-only 2. Directory ownership (MUST) %files lists %{_datadir}/vdr/logos/*, so /usr/share/vdr and /usr/share/vdr/logos are not owned by this package. Both belong to vdr, which this package deliberately does not require: the logos are plain data and work without vdr. The Packaging Guidelines cover exactly this case ("The directory is owned by a package which is not required for your package to function"): the package co-owns the directories instead of adding a Requires. Mode and owner (0755 root:root) match vdr. -> %dir %{_datadir}/vdr/ %{_datadir}/vdr/logos/ Corrections as a diff against the submitted spec. A local build with this spec gives rpmlint 0 errors / 0 warnings, the License tag above, and both directories owned: --- vdr-channellogos.spec (submitted) +++ vdr-channellogos.spec (corrected) @@ -19,7 +19,10 @@ Release: 1%{?dist} Summary: Channel logos for VDR skins -License: GPL-3.0-or-later +# The logos are rendered from the picons artwork, which upstream ships under +# the bare GPL v3 text without an "or later" grant. +License: GPL-3.0-only URL: https://github.com/picons/picons # The upstream release at @@ -83,7 +86,8 @@ %files %license LICENSE %doc README.md -%{_datadir}/vdr/logos/* +%dir %{_datadir}/vdr/ +%{_datadir}/vdr/logos/ %changelog * Wed Sep 16 2026 Dirk Nehring <dnehring> - 20260912-1 Suggestion (not blocking) ========================= - Supplements: (vdr-skinflatplus or vdr-skindesigner) vdr-skinflatplus is approved (bug 2445737), but vdr-skindesigner is not part of Fedora (it is in RPM Fusion). Weak dependencies should be satisfiable within the Fedora repositories, so consider Supplements: vdr-skinflatplus and adjusting the comment above it accordingly. ===== 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. Note: GPL-3.0-only and CC-BY-SA-4.0 are both allowed in Fedora. The channel logos are trademarks of the respective broadcasters and are used only to identify their channels. [!]: License field in the package spec file matches the actual license. Note: See issue 1. Upstream has no per-file license headers, so licensecheck finds nothing; the only license is the GPL v3 text in LICENSE. [!]: Package must own all directories that it creates. Note: See issue 2. /usr/share/vdr and /usr/share/vdr/logos have to be co-owned, because vdr is intentionally not required. [x]: Package contains no bundled libraries or specifies bundled libraries with Provides: bundled(<libname>) if unbundling is not possible. Note: noarch data package, no code is installed. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. Note: Channel logos shown in the VDR OSD are content that enhances the user experience, comparable to themes or clipart, and are under an open source license. The build helpers (Source2, Source3) are only used at build time and are not installed. [-]: 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. Note: vdr- prefix like the other VDR add-ons. [x]: Package does not generate any conflict. Note: No other package in rawhide ships files below /usr/share/vdr/logos. [x]: Package obeys FHS, except libexecdir and /usr/target. Note: Architecture independent data below /usr/share. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. Note: No Requires on vdr is needed, the logos are plain data. See the suggestion about Supplements. [x]: Spec file is legible and written in American English. Note: Well commented, including how Source0 is produced. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. Note: noarch; all BuildRequires are available on x86_64, aarch64, ppc64le and s390x. [x]: Package complies to the Packaging Guidelines Note: With issues 1 and 2 corrected. [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. Note: With correction 2, /usr/share/vdr and /usr/share/vdr/logos are co-owned with vdr on purpose (see issue 2). [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. Note: Source0 is a subset of the upstream release 2026-09-12--23-13-54. Regenerating it from the upstream tarball with Source3 gives an identical file: sha256 85dded7a3a6256e162ffd893dd4bd9786ce165d9f3c1ddf077888ac01549bf54 Sources 1-4 are files written for this package. [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 1584 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. Note: Upstream ships LICENSE. [x]: Final provides and requires are sane (see attachments). [x]: Package functions as described. Note: 1431 logos, all valid 268x200 PNG images, plus 401 symlinks that all resolve inside the logo directory. File names follow the lowercase channel names the skins look up. The logos are installed in /usr/share/vdr/logos, the shared logo directory of VDR skins, and the package works without vdr itself being installed. [x]: Latest version is packaged. Note: 2026-09-12--23-13-54 is the newest picons logo release; the newer channellists-* tags only carry channel lists. [x]: Package does not include license text files separate from upstream. [x]: SourceX tarball generation or download is documented. Note: The spec comment and Source3 (channellogos-make-source.sh) document how Source0 is cut from the 1.3 GiB upstream release, and the result is reproducible (see above). Sources without a URL are acceptable here. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: Upstream does not publish signatures. [x]: Package should compile and build into binary rpms on all supported architectures. Note: noarch [x]: %check is present and all tests pass. Note: Checks that no symlink dangles and that the logos of the main channels were rendered. [x]: Packages should try to preserve timestamps of original installed files. Note: cp -p for README.md, cp -a for the logos. [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]: 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: No rpmlint messages. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: vdr-channellogos-20260912-1.fc46.noarch.rpm vdr-channellogos-20260912-1.fc46.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.8.0 configuration: /usr/lib/python3.14/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/tmp62tdggnj')] checks: 32, packages: 2 vdr-channellogos.spec: W: invalid-url Source0: vdr-channellogos-picons-2026-09-12-23-13-54.tar.xz 2 packages and 0 specfiles checked; 0 errors, 1 warnings, 7 filtered, 0 badness; has taken 2.6 s Note: The invalid-url warning is expected. Source0 is generated from the upstream release by Source3, as documented in the spec, and is reproducible. Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.10.0 configuration: /usr/lib/python3.15/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: 33, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 3 filtered, 0 badness; has taken 0.2 s Requires -------- vdr-channellogos (rpmlib, GLIBC filtered): Provides -------- vdr-channellogos: vdr-channellogos Generated by fedora-review 0.11.0 (05c5b26) last change: 2025-11-29 Command line :/usr/bin/fedora-review -b 2535836 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic Disabled plugins: C/C++, PHP, R, Java, Perl, Ocaml, Python, SugarActivity, Haskell, fonts Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH