https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Bug ID: 2330591 Summary: Review Request: gdbuspp - GDBus++ - a glib2 D-Bus API wrapper for C++ Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: dazo@eurephia.org QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://fedorapeople.org/~dsommers/pkgreview/gdbuspp/gdbuspp.spec SRPM URL: https://fedorapeople.org/~dsommers/pkgreview/gdbuspp/gdbuspp-3-1.fc42.src.rp... Description: GDBus++ is an API wrapper around glib2's D-Bus interface to write D-Bus services and proxies (clients) using C++17. It tries to avoid exposing the low-level glib2 APIs as much as possible to the developer.
Fedora Account System Username: dsommers
This package is a dependency for another package review which will come a bit later, the OpenVPN 3 Linux project. This is currently only in a Fedora Copr repo and not yet ready for package review: https://copr.fedorainfracloud.org/coprs/dsommers/openvpn3-devsnapshots/
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
David Sommerseth dazo@eurephia.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Doc Type|--- |If docs needed, set a value
--- Comment #1 from David Sommerseth dazo@eurephia.org --- The fedora-review tool lists these files in the licensecheck ...
* gdbuspp-3-build/gdbuspp-3/gdbuspp-3/.reuse/dep5 This is used by the REUSE tool to ensure licensing is properly handled. This passes a reuse lint check from the git tree.
* gdbuspp-3-build/gdbuspp-3/gdbuspp-3/.vscode/launch.json vscodium configuraiton file, only defining targets for debugging via vscodium
* gdbuspp-3-build/gdbuspp-3/gdbuspp-3/doxygen/gdbuspp.doxy.in This has a proper license tagging via gdbuspp.doxy.in.license, required by REUSE
* gdbuspp-3-build/gdbuspp-3/gdbuspp-3/version.txt This is automatically generated by meson dist. This contains the package version, which is extracted from a git tag during the 'meson dist' run.
I hope I've not missed anything else being crucial for the first review round.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Fedora Review Service fedora-review-bot@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://codeberg.org/OpenVP | |N/gdbuspp/
--- Comment #2 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Copr build: https://copr.fedorainfracloud.org/coprs/build/8344525 (succeeded)
Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-rev...
Found issues:
- Package has .a files: gdbuspp-devel. Does not provide -static: gdbuspp-devel. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-...
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.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Benson Muite benson_muite@emailplus.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |benson_muite@emailplus.org
--- Comment #3 from Benson Muite benson_muite@emailplus.org --- Please put the static library in a separate package: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-...
The first part of the soname should be included in the shared library file listing: %{_libdir}/lib%{name}.so.*
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #4 from David Sommerseth dazo@eurephia.org --- Thanks! I'm sorry I didn't catch that in the early testing.
I'm actually considering removing it instead, since glib2 (which is a hard dependency) does not provide any static libraries either. So static builds would not be that much helpful; it would end up in a mixed static/dynamic build.
I'll push out an update soon with the .a file removed and fix the other detail. And if I should need to do the -static package, I'll add that.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #5 from David Sommerseth dazo@eurephia.org ---
I've done a Fedora Copr build on x86_64 only here: https://copr.fedorainfracloud.org/coprs/dsommers/sandbox/build/8347734/
Regarding the shared library ...
%{_libdir}/lib%{name}.so.*
From what I see glib2 is doing, they ship the *.so link (it's not a file) in -devel, but the *so.* files in the main glib2 package. I'm doing the same here as well. To me this makes sense, as binaries depending on libgdbus/libglib-2.0/libgio-2.0 depends on the corresponding *.so.* files. While the -devel package ships the *.so link, pointing at the corresponding *.so.* file - which is why there is a hard version dependency between the main package and the -devel package (%{name}%{?_isa} = %{version}-%{release}).
Or did I misunderstand you?
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #6 from David Sommerseth dazo@eurephia.org --- Updated the files for the automation
Spec URL: https://fedorapeople.org/~dsommers/pkgreview/gdbuspp/gdbuspp.spec SRPM URL: https://fedorapeople.org/~dsommers/pkgreview/gdbuspp/gdbuspp-3-2.fc42.src.rp...
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
David Sommerseth dazo@eurephia.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |fedora-review+
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Benson Muite benson_muite@emailplus.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review+ |
--- Comment #7 from Benson Muite benson_muite@emailplus.org --- Someone other than yourself needs to review the package.
[fedora-review-service-build]
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Fedora Review Service fedora-review-bot@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |AutomationTriaged
--- Comment #8 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Copr build: https://copr.fedorainfracloud.org/coprs/build/8363429 (succeeded)
Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-rev...
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.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #9 from David Sommerseth dazo@eurephia.org --- Sorry! I didn't intend to do the + flag to rush or circumvent the review. Just misunderstood the docs and I see now I should have used the [fedora-service...] approach in my comment instead. Lesson learnt!
Please let me know if there are other things needed to be fixed.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Benson Muite benson_muite@emailplus.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|nobody@fedoraproject.org |benson_muite@emailplus.org Flags| |fedora-review? Status|NEW |ASSIGNED
--- Comment #10 from Benson Muite benson_muite@emailplus.org --- Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
Issues: ======= - Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/share/doc/gdbuspp/README.md See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_duplicate_files
===== 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]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present.
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: "GNU Affero General Public License v3.0", "Unknown or generated". 4 files have unknown license. Detailed output of licensecheck in /home/FedoraPackaging/reviews/gdbuspp/2330591-gdbuspp/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: 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. [ ]: 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 70899 bytes in 9 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: No rpmlint messages. [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]: 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
===== SHOULD items =====
Generic: [!]: Sources can be downloaded from URI in Source: tag Note: Could not download Source2:
https://swupdate.openvpn.net/community/keys/gpgkey-F554A3687412CFFEBDEFE0A31..., Source1: https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz.asc, Source0: https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz See: https://docs.fedoraproject.org/en-US/packaging- guidelines/SourceURL/ [-]: 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. [ ]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [ ]: 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. [ ]: Spec use %global instead of %define unless justified. Note: %define requiring justification: #%%define releasetag .qa1, #%%define versiontag _qa1 [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]: The placement of pkgconfig(.pc) files are correct. [x]: SourceX is a working URL. [x]: Sources are verified with gpgverify first in %prep if upstream publishes signatures.
===== EXTRA items =====
Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: gdbuspp-3-2.fc42.x86_64.rpm gdbuspp-devel-3-2.fc42.x86_64.rpm gdbuspp-debuginfo-3-2.fc42.x86_64.rpm gdbuspp-debugsource-3-2.fc42.x86_64.rpm gdbuspp-3-2.fc42.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/tmpbt4skcxg')] checks: 32, packages: 5
5 packages and 0 specfiles checked; 0 errors, 0 warnings, 32 filtered, 0 badness; has taken 4.7 s =
Rpmlint (debuginfo) ------------------- Checking: gdbuspp-debuginfo-3-2.fc42.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/tmpvi50p9nc')] checks: 32, packages: 1
= 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 5 filtered, 0 badness; has taken 1.2 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-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: 4
4 packages and 0 specfiles checked; 0 errors, 0 warnings, 29 filtered, 0 badness; has taken 3.5 s
Requires -------- gdbuspp (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH)
gdbuspp-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config gdbuspp(x86-64) libgdbuspp.so.3()(64bit) pkgconfig(gio-2.0) pkgconfig(gio-unix-2.0) pkgconfig(glib-2.0) pkgconfig(gthread-2.0)
gdbuspp-debuginfo (rpmlib, GLIBC filtered):
gdbuspp-debugsource (rpmlib, GLIBC filtered):
Provides -------- gdbuspp: gdbuspp gdbuspp(x86-64) libgdbuspp.so.3()(64bit)
gdbuspp-devel: gdbuspp-devel gdbuspp-devel(x86-64) pkgconfig(gdbuspp)
gdbuspp-debuginfo: debuginfo(build-id) gdbuspp-debuginfo gdbuspp-debuginfo(x86-64) libgdbuspp.so.3-3-2.fc42.x86_64.debug()(64bit)
gdbuspp-debugsource: gdbuspp-debugsource gdbuspp-debugsource(x86-64)
Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2330591 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: Java, Python, Ocaml, PHP, fonts, Haskell, R, SugarActivity, Perl Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Comments: a) Please change %files %license %{name}-%{version}/LICENSES/AGPL-3.0-only.txt %{_pkgdocdir} %{_pkgdocdir}/README.md %{_libdir}/lib%{name}.so.*
to
%files %license %{name}-%{version}/LICENSES/AGPL-3.0-only.txt %{_pkgdocdir}/README.md %{_libdir}/lib%{name}.so.3*
As he first part of the soname needs to be included and to avoid duplication of documentation files. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shared_libraries
b) Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=126981802
c) Please check download of sources, signatures and keys.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #11 from David Sommerseth dazo@eurephia.org ---
Packaging updated with changes related to a)
Spec URL: https://fedorapeople.org/~dsommers/pkgreview/gdbuspp/gdbuspp.spec SRPM URL: https://fedorapeople.org/~dsommers/pkgreview/gdbuspp/gdbuspp-3-3.fc42.src.rp...
[fedora-review-service-build]
My testing in regards to testing downloads on c): -------------------------------------------------------------------------------------------- [dsommers@people01 dl-test][PROD]$ ll total 0 [dsommers@people01 dl-test][PROD]$ wget https://swupdate.openvpn.net/community/keys/gpgkey-F554A3687412CFFEBDEFE0A31... https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz.asc https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz --2024-12-18 17:06:25-- https://swupdate.openvpn.net/community/keys/gpgkey-F554A3687412CFFEBDEFE0A31... Resolving swupdate.openvpn.net (swupdate.openvpn.net)... 2606:4700::6813:bf6a, 2606:4700::6813:be6a, 104.19.191.106, ... Connecting to swupdate.openvpn.net (swupdate.openvpn.net)|2606:4700::6813:bf6a|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 26459 (26K) [binary/octet-stream] Saving to: ‘gpgkey-F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7.gpg’
gpgkey-F554A3687412 100%[===================>] 25.84K --.-KB/s in 0.001s
2024-12-18 17:06:25 (27.9 MB/s) - ‘gpgkey-F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7.gpg’ saved [26459/26459]
--2024-12-18 17:06:25-- https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz.asc Reusing existing connection to [swupdate.openvpn.net]:443. HTTP request sent, awaiting response... 200 OK Length: 862 [application/pgp-signature] Saving to: ‘gdbuspp-3.tar.xz.asc’
gdbuspp-3.tar.xz.as 100%[===================>] 862 --.-KB/s in 0s
2024-12-18 17:06:25 (22.0 MB/s) - ‘gdbuspp-3.tar.xz.asc’ saved [862/862]
--2024-12-18 17:06:25-- https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz Reusing existing connection to [swupdate.openvpn.net]:443. HTTP request sent, awaiting response... 200 OK Length: 129672 (127K) [application/x-tar] Saving to: ‘gdbuspp-3.tar.xz’
gdbuspp-3.tar.xz 100%[===================>] 126.63K --.-KB/s in 0.02s
2024-12-18 17:06:25 (5.87 MB/s) - ‘gdbuspp-3.tar.xz’ saved [129672/129672]
FINISHED --2024-12-18 17:06:25-- Total wall clock time: 0.4s Downloaded: 3 files, 153K in 0.02s (6.80 MB/s) [dsommers@people01 dl-test][PROD]$ gpgv --keyring ./gpgkey-F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7.gpg gdbuspp-3.tar.xz.asc gdbuspp-3.tar.xz gpgv: Signature made Wed Dec 4 14:14:54 2024 UTC gpgv: using RSA key 57E95049D76AA39A74439603533A6860529F23C5 gpgv: issuer "security@openvpn.net" gpgv: Good signature from "OpenVPN - Security Mailing List security@openvpn.net" [dsommers@people01 dl-test][PROD]$ ll total 160 -rw-r--r--. 1 dsommers dsommers 129672 Dec 6 13:26 gdbuspp-3.tar.xz -rw-r--r--. 1 dsommers dsommers 862 Dec 6 13:26 gdbuspp-3.tar.xz.asc -rw-r--r--. 1 dsommers dsommers 26459 Dec 6 13:23 gpgkey-F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7.gpg [dsommers@people01 dl-test][PROD]$
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #12 from David Sommerseth dazo@eurephia.org ---
From what I understand, these review points need some kind of resolution:
[ ]: Package is not known to require an ExcludeArch tag.
This has a comment in the .spec file why it is so; not buildable on 32-bit platforms
[ ]: Package complies to the Packaging Guidelines
That I cannot and should not answer ;-)
[ ]: Package functions as described.
There are three test programs in /usr/share/doc/gdbuspp/ with compile instructions in the source files. Build all of them, start the example-service first, then test the two other programs
[ ]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments
This sounds odd ... given that all %Source references points at a https:// and spectool -gf works
[ ]: Package should compile and build into binary rpms on all supported architectures.
I believe this is true - all except 32-bit platforms do build (Koji build should be able to confirm)
[ ]: Spec use %global instead of %define unless justified. Note: %define requiring justification: #%%define releasetag .qa1, #%%define versiontag _qa1
I can change this ... I just find it valuable to keep it there as documentation on how to handle tagged versions, as documented in the comment above. Not sure if %global is the right alternative in this case.
IF there are anything else I can do to clarify details or fix, keep me posted!
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #13 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Created attachment 2063021 --> https://bugzilla.redhat.com/attachment.cgi?id=2063021&action=edit The .spec file difference from Copr build 8363429 to 8412250
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #14 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Copr build: https://copr.fedorainfracloud.org/coprs/build/8412250 (succeeded)
Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-rev...
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.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
Benson Muite benson_muite@emailplus.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |POST Flags|fedora-review? |fedora-review+
--- Comment #15 from Benson Muite benson_muite@emailplus.org --- Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
===== 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]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present.
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: "GNU Affero General Public License v3.0", "Unknown or generated". 4 files have unknown license. Detailed output of licensecheck in /home/FedoraPackaging/reviews/gdbuspp/2330591-gdbuspp/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [ ]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/doc/gdbuspp [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/doc/gdbuspp [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: 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. [ ]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 44918 bytes in 5 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: No rpmlint messages. [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 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]: Packages must not store files under /srv, /opt or /usr/local
===== SHOULD items =====
Generic: [!]: Sources can be downloaded from URI in Source: tag Note: Could not download Source2:
https://swupdate.openvpn.net/community/keys/gpgkey-F554A3687412CFFEBDEFE0A31..., Source1: https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz.asc, Source0: https://swupdate.openvpn.net/community/releases/gdbuspp-3.tar.xz See: https://docs.fedoraproject.org/en-US/packaging- guidelines/SourceURL/ [-]: 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. [ ]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [ ]: 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. [!]: Spec use %global instead of %define unless justified. Note: %define requiring justification: #%%define releasetag .qa1, #%%define versiontag _qa1 [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]: The placement of pkgconfig(.pc) files are correct. [x]: SourceX is a working URL. [x]: Sources are verified with gpgverify first in %prep if upstream publishes signatures.
===== EXTRA items =====
Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: gdbuspp-3-3.fc42.x86_64.rpm gdbuspp-devel-3-3.fc42.x86_64.rpm gdbuspp-debuginfo-3-3.fc42.x86_64.rpm gdbuspp-debugsource-3-3.fc42.x86_64.rpm gdbuspp-3-3.fc42.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/tmpww0oswl6')] checks: 32, packages: 5
======== 5 packages and 0 specfiles checked; 0 errors, 0 warnings, 28 filtered, 0 badness; has taken 3.8 s ========
Rpmlint (debuginfo) ------------------- Checking: gdbuspp-debuginfo-3-3.fc42.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/tmpuk62l3w7')] checks: 32, packages: 1
========= 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 5 filtered, 0 badness; has taken 1.4 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-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: 4
4 packages and 0 specfiles checked; 0 errors, 0 warnings, 24 filtered, 0 badness; has taken 3.3 s
Requires -------- gdbuspp (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH)
gdbuspp-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config gdbuspp(x86-64) libgdbuspp.so.3()(64bit) pkgconfig(gio-2.0) pkgconfig(gio-unix-2.0) pkgconfig(glib-2.0) pkgconfig(gthread-2.0)
gdbuspp-debuginfo (rpmlib, GLIBC filtered):
gdbuspp-debugsource (rpmlib, GLIBC filtered):
Provides -------- gdbuspp: gdbuspp gdbuspp(x86-64) libgdbuspp.so.3()(64bit)
gdbuspp-devel: gdbuspp-devel gdbuspp-devel(x86-64) pkgconfig(gdbuspp)
gdbuspp-debuginfo: debuginfo(build-id) gdbuspp-debuginfo gdbuspp-debuginfo(x86-64) libgdbuspp.so.3-3-3.fc42.x86_64.debug()(64bit)
gdbuspp-debugsource: gdbuspp-debugsource gdbuspp-debugsource(x86-64)
Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2330591 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Haskell, fonts, Java, PHP, Ocaml, Perl, Python, R, SugarActivity Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Comments: a) [ ]: Spec use %global instead of %define unless justified. Note: %define requiring justification: #%%define releasetag .qa1, #%%define versiontag _qa1
I can change this ... I just find it valuable to keep it there as documentation on how to handle tagged versions, as documented in the comment above. Not sure if %global is the right alternative in this case.
Please change #define to #global in case you uncomment that section
b)
[ ]: Package functions as described.
There are three test programs in /usr/share/doc/gdbuspp/ with compile instructions in the source files. Build all of them, start the example-service first, then test the two other programs
Thanks
c) [ ]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments
This sounds odd ... given that all %Source references points at a https:// and spectool -gf works
This timed out on my end, but manual download works.
d) Please modify %{_pkgdocdir}/dbus-primer.md %{_pkgdocdir}/example-*.cpp to %dir %{_pkgdocdir} %{_pkgdocdir}/dbus-primer.md %{_pkgdocdir}/example-*.cpp
e) Consider using/supporting muon-build to speed up compilation during development https://muon.build/
f) Approved. Please fix (d) before import. Thanks for bringing this to Fedora.
g) Review of one of: https://bugzilla.redhat.com/show_bug.cgi?id=2329630 https://bugzilla.redhat.com/show_bug.cgi?id=2325026 would be appreciated if time and expertise allow.
https://bugzilla.redhat.com/show_bug.cgi?id=2330591
--- Comment #16 from David Sommerseth dazo@eurephia.org --- Thank you for your review and feedback!
I've not followed up due to Christmas holidays the last 2 weeks. I'll fix last comments. I'm sorry I didn't manage to look at those packages you suggested. Feel free to reach out (also via e-mail) if I can help out somehow on other packages!
package-review@lists.fedoraproject.org