Fedora Account System
Red Hat Associate
Red Hat Customer
Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.2/linuxpods.spec SRPM URL: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-1.fc43.src.rpm Description: LinuxPods is a native Linux application for Apple AirPods management via the reverse-engineered Apple Accessory Protocol (AAP) over Bluetooth L2CAP. It provides a headless D-Bus daemon and a native KDE Plasma 6 system tray widget. Features: - Battery monitoring - Noise control (ANC/Transparency/Adaptive) - Ear detection with auto-pause - Conversational Awareness Upstream: https://github.com/Explor3Universe/LinuxPods COPR: https://copr.fedorainfracloud.org/coprs/explor3universe/linuxpods/ License: GPL-3.0-or-later This is my first package, I need a sponsor. Fedora Account System Username: explor3universe
Copr build: https://copr.fedorainfracloud.org/coprs/build/10308826 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10308826-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
The spec file doesn't follow the guidelines for the Source tag, please see https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/
1: Change Source0: %{name}-%{version}.tar.gz to Source0: %{URL}/%{name}-%{version}.tar.gz 2: Add this to the main package Requires: hicolor-icon-theme 3: Change Requires: %{name} = %{version}-%{release} to Requires: %{name}%{?_isa} = %{version}-%{release} 4: change, you must own the directory %{_datadir}/librepods/translations/librepods_tr.qm to %{_datadir}/librepods/
Thanks Dan and Leigh for the review — much appreciated, especially as this is my first package. I updated the spec addressing all points: * Source0 now follows the SourceURL guideline (%{URL}/...) * Removed the need for hicolor-icon-theme (GUI front-end is no longer shipped) * Updated sub-package dependency to use %{?_isa} * Fixed directory ownership (no longer creating /usr/share/librepods/) I also addressed several rpmlint issues and improved licensing: * Added SPDX headers to project files * Removed non-redistributable assets (SF Symbols font) * Added man pages and a basic %check section * Declared bundled QR library Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/main/linuxpods.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/explor3universe/linuxpods/srpm-builds/10311771/linuxpods-0.2.0-2.fc43.src.rpm COPR build: https://copr.fedorainfracloud.org/coprs/build/10311771 Please let me know if anything else needs to be fixed. Thanks again!
Created attachment 2136589 [details] The .spec file difference from Copr build 10308826 to 10311860
Copr build: https://copr.fedorainfracloud.org/coprs/build/10311860 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10311860-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
hey Nick! Thanks for packaging it. - looks like url in the spec file is 404 [1]. Doesn't match the upstream url you mentioned above. - considering that upstream doesn't have any versioning I think you shouldn't use it in the package either (you have it set to 0.2.0). - check out Versioning Guidelines and snapshot type of it [2] if you want to refer to a specific commit (e.g 0^commitsha) - as far as I understand you're the upstream's author, is there anything that blocks you from making a release? (it's not a blocker though, it's ok if there is no release) [1] https://github.com/Puerh0x1/LinuxPods [2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
Hi Ruslan, thanks for the review! Both issues have been addressed in the v1.0.0 release: 1. URL: The spec now points to the correct upstream: https://github.com/Explor3Universe/LinuxPods The previous reference was stale due to upstream repository relocation. 2. Versioning: Switched to a proper upstream release (v1.0.0) instead of snapshot versioning. The project is now tagged, and Source0 fetches the archive from: %{URL}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Updated package: * Spec: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.0/linuxpods.spec * SRPM: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.0/linuxpods-1.0.0-1.fc43.src.rpm * Release: https://github.com/Explor3Universe/LinuxPods/releases/tag/v1.0.0 Verification: * spectool --get-files resolves Source0 successfully * rpmbuild -ba builds cleanly from the release tarball * Copr build (10313908) succeeded for fedora-42, fedora-43, and rawhide: https://copr.fedorainfracloud.org/coprs/build/10313908 Please let me know if anything else needs to be addressed.
Hello. Looking forward for this package to land! Although I was quite hyped about GUI in the tray. What made you stop shipping it? IMO it loses all point? How to control modes etc without it?
> Please let me know if anything else needs to be addressed. I guess description, if there is no widget anymore. inuxpods.spec: > Summary: AirPods control daemon and KDE Plasma 6 widget
My bad GUI frontend != plasmoid widget. Nvm. Although I have few things to point after testing: 1. Why is ctl called *libre*pods and main daemon *linux*pods? 2. librepods-ctl does not work for me: > $ librepods-ctl noise:off > Could not connect to librepods (is it running?) - Yes it is, in a second terminal. 3. Would be nice if there was some 'usage' hints. 4. My personal nitpick: let me control modes from tray icon:)
Hi Andrei, thanks a lot for testing and for the detailed feedback! You were absolutely right — the CLI issue was a real bug caused by a mismatch between the socket name used by the CLI and the daemon. I’ve fixed this along with a few related improvements and updated the package to a new upstream release (v1.0.1), which now supersedes the previously submitted version for this review. Changes relevant to your feedback: * Fixed CLI connectivity issue * Renamed CLI for consistency (linuxpods) * Added basic usage/help output * Improved runtime handling ($XDG_RUNTIME_DIR) Documentation and usage examples are also available in the upstream repository: https://github.com/Explor3Universe/LinuxPods Updated package: * Spec: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.1/linuxpods.spec * SRPM: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.1/linuxpods-1.0.1-1.fc43.src.rpm * Copr build: https://copr.fedorainfracloud.org/coprs/explor3universe/linuxpods/build/10319280/ * Release: https://github.com/Explor3Universe/LinuxPods/releases/tag/v1.0.1 Please let me know if anything else needs to be addressed.
Created attachment 2136998 [details] The .spec file difference from Copr build 10311860 to 10319924
Copr build: https://copr.fedorainfracloud.org/coprs/build/10319924 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10319924-linuxpods/fedora-review/review.txt Found issues: - Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/linuxpods/diff.txt Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
Updated package (v1.0.1) with fixes for review comments: Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.1/linuxpods.spec SRPM URL: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.1/linuxpods-1.0.1-1.fc43.src.rpm [ fedora-review-service-build ]
Copr build: https://copr.fedorainfracloud.org/coprs/build/10320450 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10320450-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
Hi, me again. - It says I am supposed to see a popup from tray icon allowing to control modes: does not happen, only battery % on hover. - Its still possible to run linuxpods noise:off when AirPods are disconnected with no error, might want to check that. - Another nitpick: `linuxpods noise:off` does not have any autocomplete options by pressing tab, needing to type whole thing every time. - No option to disable conversation awareness. I should have probably typed it into issues of the repo as improvement suggestions, but well, at least first point is a legit bug for me.
Hi Andrei, thanks again for your testing — this helped clarify the situation. There was a misunderstanding related to how the plasmoid is intended to be used. The widget integrates into the system tray automatically via: X-Plasma-NotificationArea: "true" So normally: * the icon appears automatically when AirPods are connected * clicking it opens the popup UI If the system tray plasmoid (org.kde.plasma.systemtray) is not present, the icon will not appear automatically. In that case it may look like there is no GUI. What likely happened is that the plasmoid was added manually as a standalone widget. In this mode it is not managed by the system tray, and originally click handling was not implemented, since the tray itself provides that behavior. To avoid this confusion, I’ve now updated the plasmoid: * click handling works even when added manually * the popup opens in both tray and standalone modes Regarding other points: * CLI behavior when disconnected The CLI communicates with the daemon via a one-way Unix socket and currently does not receive a response. The plasmoid, on the other hand, uses D-Bus and has full state awareness. I agree this can be improved and plan to address it. * Autocomplete Not implemented yet, noted as an improvement. * Conversation Awareness Available in the GUI. It was missing in the CLI before — now implemented, and usage is included in the CLI help output. Updated package: * Spec: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.2/linuxpods.spec * SRPM: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-1.fc43.src.rpm * Copr build: https://copr.fedorainfracloud.org/coprs/explor3universe/linuxpods/build/10332586/ * Release: https://github.com/Explor3Universe/LinuxPods/releases/tag/v1.0.2 Thanks again for your feedback.
Updated package (v1.0.2): Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.2/linuxpods.spec SRPM URL: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-1.fc43.src.rpm [fedora-review-service-build]
Some spec feedback here: > Source0: %{URL}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz This should be "%{url}/archive/v%{version}/%{name}-%{version}.tar.gz" Cf. https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_git_tags > BuildRequires: qt6-qtbase-devel > BuildRequires: qt6-qtconnectivity-devel These should be converted to their "cmake()" virtual names. For example, your CMakeLists has the following: > find_package(Qt6 REQUIRED COMPONENTS Core Bluetooth DBus) That would become: BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Bluetooth) BuildRequires: cmake(Qt6DBus) > BuildRequires: pulseaudio-libs-devel This is requested via pkgconfig in CMake, it seems: > pkg_check_modules(PULSEAUDIO REQUIRED libpulse) So this would become BuildRequires: pkgconfig(libpulse) > %build > pushd src > %cmake -DLINUXPODS_BUILD_GUI=OFF > %cmake_build > popd This should be broken up into %conf and %build like so %conf pushd src %cmake -DLINUXPODS_BUILD_GUI=OFF popd %build pushd %cmake_build popd > * Wed Apr 15 2026 Nick <noreply> - 1.0.2-1%{?dist} This formatting isn't correct. The author needs to be *you* with a contactable email address. You are permitted to obscure it from spam harvesting, but the idea is that people need to be able to contact you if needed. You also shouldn't put "%{?dist}" there. Cf. https://docs.fedoraproject.org/en-US/packaging-guidelines/manual-changelog/
Also, just as a tip, I notice you have a lot of section comments. You can structure a spec file such that all the declarative parts are grouped together. You can see a simple example of that here: https://src.fedoraproject.org/rpms/redhat-systemd-presets/blob/rawhide/f/redhat-systemd-presets.spec
Oh and one more thing: > %{_userpresetdir}/90-linuxpods.preset This is *not allowed* in any package *except* redhat-systemd-presets. Please drop this file and follow the process described below once your package is in Fedora to get the service enabled. Cf. https://docs.fedoraproject.org/en-US/packaging-guidelines/DefaultServices/#_how_to_enable_a_service_by_default
Copr build: https://copr.fedorainfracloud.org/coprs/build/10339524 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10339524-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10339549 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10339549-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
Hi Neal, thanks a lot for taking the time to review this — really appreciate the detailed feedback. I’ve gone through all your points and pushed an updated build (1.0.2-3). Changes: Source0 updated to: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz BuildRequires switched to virtual provides: cmake(Qt6Core), cmake(Qt6Bluetooth), cmake(Qt6DBus), cmake(Qt6Network), pkgconfig(openssl), pkgconfig(libpulse) CMake macros split into %conf and %build Changelog cleaned up and updated with proper maintainer info Section comments simplified Removed the preset file; the daemon is now enabled manually via: systemctl --user enable --now linuxpods-daemon Additionally: License tag updated to GPL-3.0-or-later AND MIT (bundled components) Dropped %{?_isa} from the noarch plasmoid subpackage Updated package: Spec: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.2/linuxpods.spec SRPM: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-3.fc43.src.rpm Copr build: https://copr.fedorainfracloud.org/coprs/build/10339679 Release: https://github.com/Explor3Universe/LinuxPods/releases/tag/v1.0.2 Let me know if there’s anything else I should adjust.
Created attachment 2137374 [details] The .spec file difference from Copr build 10339549 to 10339850
Copr build: https://copr.fedorainfracloud.org/coprs/build/10339850 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10339850-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
Hi Neal, just a gentle ping in case this got buried. I believe I’ve addressed the points from your previous review. Would appreciate a look when you have time. Thanks!
FWIW now daemon works correctly and that plasmoid appeared finally for me. [fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/10477020 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2456922-linuxpods/fedora-rawhide-x86_64/10477020-linuxpods/fedora-review/review.txt Found issues: - Systemd user unit service file(s) in linuxpods Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units 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.
Hi Neal (ngompa13), just a gentle ping — the package has been waiting for further review feedback since mid-May. All the points from your previous comments appear to have been addressed, and recent testing (comment 29) confirms that the daemon and plasmoid now work correctly. Would really appreciate a look when you have a moment. Thanks a lot!
This is an automatic action taken by review-stats script. The ticket reviewer failed to clear the NEEDINFO flag in a month. As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews we reset the status and the assignee of this ticket.
Hi, I hope you haven't abandoned this request. I can take review from here if you'd like.
Hi Andrei,still here, sorry for the radio silence — just didn't want to keep pinging the same ticket.Yes, please take the review, that would be great.Current files: Spec: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.2/linuxpods.spec SRPM: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-3.fc43.src.rpmThis is still 1.0.2-3, the one after Neal's spec comments. I can do a new build if you want something refreshed against current rawhide.[fedora-review-service-build]
[fedora-review-service-build]
Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/v1.0.2/linuxpods.spec SRPM URL: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-3.fc43.src.rpm [fedora-review-service-build]
Hi Andrei, fedora-review-service never commented after the last two [fedora-review-service-build] triggers, so there's no new review.txt from it. Don't wait on the bot. Files are still the 1.0.2-3 from comment 34. If you're taking the formal review, could you assign the bug to yourself and set fedora-review to '?'? Status is ASSIGNED but the assignee is still nobody, so it looks unowned again. I'll fix whatever you find.
I did run fedora-review manually, going through it. Question though, are you planing to enable GUI at some point (-DLINUXPODS_BUILD_GUI=OFF)? If not it will simplify licensing.
No, I am not going to enable the standalone Qt GUI in Fedora. The Plasma plasmoid is the UI; -DLINUXPODS_BUILD_GUI=OFF stays. Updated package (1.0.2-4) for comment 38: * Stop linking the vendored MIT QR-Code-generator into the daemon (it is GUI-only). * Drop Apple product images, unused QR sources and design mockups in %prep. * License: GPL-3.0-or-later (no bundled() provide). Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/main/linuxpods.spec SRPM URL: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-4.fc44.src.rpm Copr: https://copr.fedorainfracloud.org/coprs/explor3universe/linuxpods/build/10992106/ [fedora-review-service-build]
Hi Andrei, Just checking in on comment 39 / 1.0.2-4. Happy to fix whatever you find.
Hello, Nikita Sorry its taking so long. I went through review, few things left to check 1. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in linuxpods-plasmoid Not sure where would it be needed, it installs fine for me, but maybe add ?_isa bits. 2. Consider removing unused stuff in some prep script before uploading to lookaside, instead of removing directories in %prep. Check nodejs (https://src.fedoraproject.org/rpms/nodejs26/tree/rawhide) for an example, we remove bundled deps when we are sure we will use system counterparts instead. It complains: Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* GNU General Public License, Version 3". 7 files have unknown license.
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - systemd_user_post is invoked in %post and systemd_user_preun in %preun for Systemd user units service files. Note: Systemd user unit service file(s) in linuxpods See: https://docs.fedoraproject.org/en-US/packaging- guidelines/Scriptlets/#_user_units ===== 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]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* GNU General Public License, Version 3". 7 files have unknown license. Detailed output of licensecheck in /home/aradchen/linuxpods- review/2456922-linuxpods/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: %build honors applicable compiler flags or justifies otherwise. [ ]: Package contains no bundled libraries or specifies bundled libraries with Provides: bundled(<libname>) if unbundling is not possible. [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. [-]: 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. [x]: Package contains systemd file(s) if in need. [-]: 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 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 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 8006 bytes in 2 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [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). [ ]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in linuxpods-plasmoid [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [-]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [ ]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: linuxpods-1.0.2-4.fc46.x86_64.rpm linuxpods-plasmoid-1.0.2-4.fc46.noarch.rpm linuxpods-1.0.2-4.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/tmpnyortk6z')] checks: 32, packages: 3 linuxpods.src: E: spelling-error ('systemd', '%description -l en_US systemd -> systems, system, system d') linuxpods.src: E: spelling-error ('plasmoid', '%description -l en_US plasmoid -> plasmon') linuxpods.x86_64: E: spelling-error ('plasmoid', '%description -l en_US plasmoid -> plasmon') 3 packages and 0 specfiles checked; 3 errors, 0 warnings, 13 filtered, 3 badness; has taken 0.3 s Rpmlint (debuginfo) ------------------- Checking: linuxpods-debuginfo-1.0.2-4.fc46.x86_64.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/tmpxmg4a346')] checks: 32, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 12 filtered, 0 badness; has taken 0.2 s 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: 3 linuxpods.x86_64: W: spelling-error ('plasmoid', '%description -l en_US plasmoid -> plasmon') 3 packages and 0 specfiles checked; 0 errors, 1 warnings, 22 filtered, 0 badness; has taken 0.6 s Source checksums ---------------- https://github.com/Explor3Universe/LinuxPods/archive/v1.0.2/linuxpods-1.0.2.tar.gz : CHECKSUM(SHA256) this package : 61d778de1adadf5aa981f2ab3505cea41e10c4e4619ad7a2d09b02384ff606bc CHECKSUM(SHA256) upstream package : 61d778de1adadf5aa981f2ab3505cea41e10c4e4619ad7a2d09b02384ff606bc Requires -------- linuxpods (rpmlib, GLIBC filtered): /bin/sh bluez dbus-common libQt6Bluetooth.so.6()(64bit) libQt6Bluetooth.so.6(Qt_6)(64bit) libQt6Core.so.6()(64bit) libQt6Core.so.6(Qt_6)(64bit) libQt6Core.so.6(Qt_6.11)(64bit) libQt6DBus.so.6()(64bit) libQt6DBus.so.6(Qt_6)(64bit) libQt6Network.so.6()(64bit) libQt6Network.so.6(Qt_6)(64bit) libc.so.6()(64bit) libcrypto.so.4()(64bit) libcrypto.so.4(OPENSSL_4.0.0)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libpulse.so.0()(64bit) libpulse.so.0(PULSE_0)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH) linuxpods-plasmoid (rpmlib, GLIBC filtered): linuxpods plasma-workspace Provides -------- linuxpods: linuxpods linuxpods(x86-64) linuxpods-plasmoid: linuxpods-plasmoid Generated by fedora-review 0.12.0 (a08f0fc) last change: 2026-09-18 Command line :/usr/sbin/fedora-review -m fedora-rawhide-x86_64 -b 2456922 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Shell-api, Generic Disabled plugins: Python, Perl, Haskell, SugarActivity, Java, fonts, Ocaml, R, PHP Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH, UNRETIREMENT
Hi Andrei, Thanks for the detailed review. Updated package: 1.0.2-5. 1. The plasmoid dependency linuxpods-plasmoid is noarch and has: Requires: %{name} = %{version}-%{release} I have kept it without %{?_isa}, since adding that would tie the noarch package to the build architecture. The Requiring Base Package guideline specifies arch-specific dependencies for non-noarch packages: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package 2. Source preparation and licensing Source0 is now a filtered archive prepared before SRPM creation. The SRPM includes a standalone, checksum-pinned repacking script (Source1) and documentation of the excluded files. The upstream v1.0.2 tag remains unchanged. The GUI-only code/assets, QR library and unused research/design material are now absent from the source archive itself. The cleanup is no longer performed by deleting directories in %prep. I reproduced the seven UNKNOWN licensecheck entries locally: - build.sh and linuxpods.rpmlintrc: obsolete upstream packaging copies, now excluded from the archive. - The three files under docs/: unused research material, now excluded. - LICENSE: the unchanged full GNU GPL v3 text, installed with %license. The source SPDX headers and widget metadata specify GPL-3.0-or-later. - rpmbuild.env: generated by RPM outside the unpacked upstream tree. The last two scanner results remain and are documented for manual review. The QR library is neither shipped nor linked into the daemon. Regarding the systemd warning: the required user-unit macros are present in %post, %preun and %postun. I verified the actual RPM scriptlets against their macro expansions, and the installed unit passes systemd-analyze verification. The fedora-review 0.12.0 check still flags this, which appears to be a checker false positive. Verification: - Copr build 11090187 succeeded on Fedora 43, Fedora 45 and Rawhide. - The CLI/daemon/D-Bus checks in %check passed in all three builds. - The submitted SRPM matches the GitHub release asset byte-for-byte. - Local Fedora 44 and Rawhide RPMs and the spec pass rpmlint with zero errors and warnings using the stock Fedora configuration. Spec URL: https://raw.githubusercontent.com/Explor3Universe/LinuxPods/bbc0681c84531b951081115b118171fd045552c6/linuxpods.spec SRPM URL: https://github.com/Explor3Universe/LinuxPods/releases/download/v1.0.2/linuxpods-1.0.2-5.fc44.src.rpm Copr: https://copr.fedorainfracloud.org/coprs/explor3universe/linuxpods/build/11090187/ Source/license notes: https://github.com/Explor3Universe/LinuxPods/blob/bbc0681c84531b951081115b118171fd045552c6/linuxpods-source-notes.md [fedora-review-service-build]
Hello, Thank you for addressing those issues. Package now, in my opinion, ready to be onboarded to Fedora. I'd give my review + to this, if others in CC have anything else to say please do so now. P.S. Keep this request open until package becomes available in Fedora, as per guidelines. Regards, Andrei.
Hi Andrei, Thanks a lot for the review and all the work you put into it — really glad the package made it through. One last step for me as a first-time packager is finding a sponsor. I've filed a request here: https://forge.fedoraproject.org/packaging/sponsors/issues/805 If you happen to know someone who'd be willing to pick it up, I'd really appreciate a pointer. Thanks again! Nikita