Spec URL: https://alciregi.fedorapeople.org/rustrpm/gotify-desktop.spec SRPM URL: https://alciregi.fedorapeople.org/rustrpm/gotify-desktop-1.3.6-1.fc39.src.rpm Description: Small Gotify daemon to receive messages and forward them as desktop notifications. Read Gotify messages, and forward them as standard desktop notification. Forward message priority. Auto reconnect if server connection is lost and get missed messages. Automatically download, cache, and show app icons. Fedora Account System Username: alciregi Successful koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=114623780 I used rust2rpm then modified the spec file a bit. I am very doubtful about licences.
I'll take a look.
Oof. I just noticed that I assigned this to myself and never followed up. I'm so sorry! Must have slipped through my email inbox at some point :( I just tried to build the package, and it no longer builds due to dependencies that have moved in Fedora. The "tungstenite" crate has been updated to v0.23.0 by now, and gotify-desktop still depends on v0.20 in upstream git master. Maybe upstream can be poked to update the project dependencies? API changes between 0.x releases of tungstenite are often minor, so it might just work to change the dependency from 0.20 to 0.23 in Cargo.toml.
(In reply to Fabio Valentini from comment #2) > Oof. I just noticed that I assigned this to myself and never followed up. > I'm so sorry! No problem at all. > Maybe upstream can be poked to update the project dependencies? I will try. Thanks.
Argh. It doesn't look so trivial. I tried to use tungstenite 0.23.0 and building throws an error. I filed an issue on github, and argh upstream is asking why we can't use statically linked dependencies as defined in Cargo.toml https://github.com/desbma/gotify-desktop/issues/19#issuecomment-2217705184
I left a comment on the GitHub issue. We don't do anything special wrt/ linking. There appears to be confusion between static linking and using vendored dependencies.
Ok. Now the new release builds successfully with tungstenite 0.23.0 Spec URL: https://alciregi.fedorapeople.org/rustrpm/gotify-desktop.spec SRPM URL: https://alciregi.fedorapeople.org/rustrpm/gotify-desktop-1.3.7-1.fc40.src.rpm Scratch build https://koji.fedoraproject.org/koji/taskinfo?taskID=120278350
Copr build: https://copr.fedorainfracloud.org/coprs/build/7722315 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2268499-gotify-desktop/fedora-rawhide-x86_64/07722315-gotify-desktop/fedora-review/review.txt Found issues: - Not a valid SPDX expression 'GPLv3 AND CC-BY-4.0 AND Apache-2.0 AND MIT AND 0BSD AND BSL-1.0 AND ISC AND Apache-2.0 WITH LLVM-exception AND BSD-3-Clause AND Zlib AND MPL-2.0'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thanks for the update! Looks pretty good already. 1. Issue with the License tag - it's not valid, and incomplete. - The license identifier is not GPLv3, but either GPL-3.0-or-later or GPL-3.0-only. It's not clear to me which one is correct. The license is not specified in Cargo.toml (which is also why it's missing from the summary printed during the build. Upstream might want to set the crate license in Cargo.toml metadata. Please also clarify whether the license is GPL-3.0-or-later or GPL-3.0-only, this is not clear from the license text and README. - The license tag doesn't apply the "no effective license" rule. It should look like this (assuming GPL-3.0-only): License: GPL-3.0-only AND CC-BY-4.0 AND Apache-2.0 AND BSD-3-Clause AND MIT AND MPL-2.0 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) 2. Some rpmlint messages that are indeed not wrong: gotify-desktop.src: E: summary-too-long Small Gotify daemon to receive messages and forward them as desktop notifications. gotify-desktop.x86_64: E: summary-too-long Small Gotify daemon to receive messages and forward them as desktop notifications. gotify-desktop.src: W: summary-ended-with-dot Small Gotify daemon to receive messages and forward them as desktop notifications. gotify-desktop.x86_64: W: summary-ended-with-dot Small Gotify daemon to receive messages and forward them as desktop notifications. gotify-desktop.x86_64: E: script-without-shebang /usr/share/icons/hicolor/scalable/apps/gotify-logo-small.svg gotify-desktop.x86_64: W: no-manual-page-for-binary gotify-desktop gotify-desktop.spec:39: W: mixed-use-of-spaces-and-tabs (spaces: line 9, tab: line 39) gotify-desktop.src: E: description-line-too-long Small Gotify daemon to receive messages and forward them as desktop notifications. gotify-desktop.x86_64: E: description-line-too-long Small Gotify daemon to receive messages and forward them as desktop notifications. gotify-desktop.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/gotify-desktop SSL_CTX_set_cipher_list TODO items: - trim summary and remove trailing dot / full stop - line-wrap description at 72 characters. - replace TAB character with spaces. (seems to be on the line where Source1 is defined) - install icon with mode 644 instead of mode 755, it's not an executable file The "crypto-policy-non-compliance-openssl" is a false positive, it is shared by all Rust applications that use the OpenSSL crate.
Oh. I forgot that I already asked upstream to add the license in cargo.toml, but they are unwilling to do it ¯\_(ツ)_/¯ https://github.com/desbma/gotify-desktop/issues/17#issuecomment-1981753926 Btw they confirmed that it is GPL-3.0-only https://github.com/desbma/gotify-desktop/issues/20#issuecomment-2226880908
Meh. I left a comment too, and it appears that the upstream dev is convinced that adding one line that clarifies the project's license is an undue maintenance burden. *facepalm* Anyway, please patch Cargo.toml to add this line under the [package] table: `license = "GPL-3.0-only"` This will make the %cargo_license and %cargo_license_summary macros pick it up correctly.
(In reply to Fabio Valentini from comment #10) > Meh. I left a comment too, and it appears that the upstream dev is convinced > that adding one line that clarifies the project's license is an undue > maintenance burden. *facepalm* I see. ¯\_(ツ)_/¯ I hope that maintaining this package in the future will not become difficult if upstream is so reluctant to accept suggestions and changes. > Anyway, please patch Cargo.toml to add this line under the [package] table: > `license = "GPL-3.0-only"` I will do ASAP.
New spec file Spec URL: https://alciregi.fedorapeople.org/rustrpm/gotify-desktop.spec SRPM URL: https://alciregi.fedorapeople.org/rustrpm/gotify-desktop-1.3.7-1.fc40.src.rpm
Thank you for the update, looks good to me now, with a few minor issues that you can fix before importing: 1. Usage of "private" implementation detail "%global __cargo_is_lib() 0". Please replace this with "%global cargo_install_lib 0". This is implemented in cargo-rpm-macros >= 26, so you might want to bump that dependency too (though it is already available on all of Fedora 39+ and EPEL 9 now). 2. I'm not sure if you actually need to call "desktop-file-validate" when you use "desktop-file-install" to install the file - doesn't the latter already do validation? 3. You need to add "Requires: hicolor-icon-theme" since this package ships an icon for the "hicolor" theme. Otherwise the parent directories will be unowned. === I trust that you can address these simple changes without requiring another round of revision / review. :) PS: Point 1) will be "fixed" automatically if / when you next regenerate the spec file with rust2rpm v26+. You can also automate some parts of the manual changes you did on top of the generated spec file (like additional source files, additional patches, additional commands for the "%install" scriptlet, etc.). Please refer to the "rust2rpm.toml" manual page for documentation (or ask in the Rust room in the Fedora Matrix space). === Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== 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. [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [!]: Package must own all directories that it creates. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package 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]: 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]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 2907 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. [x]: Final provides and requires are sane (see attachments). [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. [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]: 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 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: gotify-desktop-1.3.7-1.fc41.x86_64.rpm gotify-desktop-debuginfo-1.3.7-1.fc41.x86_64.rpm gotify-desktop-debugsource-1.3.7-1.fc41.x86_64.rpm gotify-desktop-1.3.7-1.fc41.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.5.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 rpmlintrc: [PosixPath('/tmp/tmpmb5nmyz4')] checks: 32, packages: 4 gotify-desktop.x86_64: W: no-manual-page-for-binary gotify-desktop gotify-desktop.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/gotify-desktop SSL_CTX_set_cipher_list 4 packages and 0 specfiles checked; 0 errors, 2 warnings, 17 filtered, 0 badness; has taken 0.9 s Rpmlint (debuginfo) ------------------- Checking: gotify-desktop-debuginfo-1.3.7-1.fc41.x86_64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.5.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 rpmlintrc: [PosixPath('/tmp/tmps6vr_7lf')] checks: 32, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 6 filtered, 0 badness; has taken 0.7 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.13/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: 32, packages: 3 gotify-desktop.x86_64: W: no-manual-page-for-binary gotify-desktop gotify-desktop.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/gotify-desktop SSL_CTX_set_cipher_list 3 packages and 0 specfiles checked; 0 errors, 2 warnings, 13 filtered, 0 badness; has taken 0.3 s Source checksums ---------------- https://raw.githubusercontent.com/gotify/logo/master/gotify-logo-small.svg : CHECKSUM(SHA256) this package : 1b7d4e4f46d09950cb10ee98a5971b2ea1c10bf8d5970c198b8233380dcada63 CHECKSUM(SHA256) upstream package : 1b7d4e4f46d09950cb10ee98a5971b2ea1c10bf8d5970c198b8233380dcada63 https://github.com/desbma/gotify-desktop/archive/1.3.7/gotify-desktop-1.3.7.tar.gz : CHECKSUM(SHA256) this package : 3bb8e75ab7a31e62ad26bea56c44ad83bc7fb982772d0258f9b08b33243de565 CHECKSUM(SHA256) upstream package : 3bb8e75ab7a31e62ad26bea56c44ad83bc7fb982772d0258f9b08b33243de565 Requires -------- gotify-desktop (rpmlib, GLIBC filtered): libc.so.6()(64bit) libcrypto.so.3()(64bit) libcrypto.so.3(OPENSSL_3.0.0)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) libssl.so.3()(64bit) libssl.so.3(OPENSSL_3.0.0)(64bit) rtld(GNU_HASH) gotify-desktop-debuginfo (rpmlib, GLIBC filtered): gotify-desktop-debugsource (rpmlib, GLIBC filtered): Provides -------- gotify-desktop: application() application(gotify-desktop.desktop) gotify-desktop gotify-desktop(x86-64) gotify-desktop-debuginfo: debuginfo(build-id) gotify-desktop-debuginfo gotify-desktop-debuginfo(x86-64) gotify-desktop-debugsource: gotify-desktop-debugsource gotify-desktop-debugsource(x86-64) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2268499 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api Disabled plugins: C/C++, fonts, SugarActivity, Java, Ocaml, R, Haskell, Perl, Python, PHP Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Thank you very much Fabio.
The Pagure repository was created at https://src.fedoraproject.org/rpms/gotify-desktop
FEDORA-2024-73ca4d7e13 (gotify-desktop-1.3.7-1.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-73ca4d7e13
FEDORA-2024-73ca4d7e13 (gotify-desktop-1.3.7-1.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-3fbcda4b3f (gotify-desktop-1.3.7-2.fc40) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-3fbcda4b3f
FEDORA-2024-3fbcda4b3f has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-3fbcda4b3f \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-3fbcda4b3f See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-3fbcda4b3f (gotify-desktop-1.3.7-2.fc40) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.