Bug 2094246

Summary: Review Request: gnunet - The GNUnet Peer-to-Peer Framework
Product: [Fedora] Fedora Reporter: Martin Schanzenbach <schanzen>
Component: Package ReviewAssignee: Benson Muite <benson_muite>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: benson_muite, david08741, package-review
Target Milestone: ---Flags: benson_muite: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://%{name}.org
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
review.txt none

Description Martin Schanzenbach 2022-06-07 09:34:59 UTC
Hi,

this is my first packaging request.
I am the co-maintainer of this GNU package and would be willing to maintain the Fedora RPM package for it. For now, I am doing this via Copr.
I am still in need of a sponsor.

The package is currently divided into three parts:

- gnunet: The base component including most of the services and libraries
- gnunet-*-plugins: Optional database plugins
- gnunet-devel: The ususal headers etc
- gnunet-bcd: A business card generation tool (needs latex)
- gnunet-conversation: A VoP2P service (needs gtreamer et al.)

Cheers

Spec URL: https://git.gnunet.org/gnunet-rpm.git/log/?h=dev/schanzen/copr
SRPM URL: https://download.copr.fedorainfracloud.org/results/schanzen/gnunet/fedora-rawhide-x86_64/04501710-gnunet/
Copr: https://copr.fedorainfracloud.org/coprs/schanzen/gnunet
Description:
GNUnet is peer-to-peer framework providing a network abstractions and
applications focusing on security and privacy.  So far, we have
created applications for anonymous file-sharing, decentralized naming
and identity management, decentralized and confidential telephony and
tunneling IP traffic over GNUnet.  GNUnet is currently developed by a
worldwide group of independent free software developers.  GNUnet is a
GNU package (http://www.gnu.org/).
Fedora Account System Username: schanzen

Comment 3 Martin Schanzenbach 2022-12-30 14:01:28 UTC
Hi,

in the meantime I have been updating the package for every release and set the COPR build to build with fedora-review.
The open issues seem to be:
--


- Package installs properly.
  Note: Installation errors (see attachment)
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/

=> More on this below.

- 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.
  Note: License file libgnunet_plugin_rest_copying.so is not marked as
  %license
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/LicensingGuidelines/#_license_text

=> This is probably a false positive regex match.

- 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 gnunet
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/Scriptlets/#_user_units

=> I have no idea what the "issue" is with this. I followed the user unit guide.

=> Regarding some of the manual checks:

[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/include/gnunet,
     /usr/share/doc/gnunet

=> I tried to get rid of this for hours. I have no idea what the issue is.
The directories are declared with %dir.

[ ]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     libgnunet

=> So, libgnunet is the subpackage that is basically the core everything else depends upon.
=> The subpackage itself does not have any local Require's. I cannot get rid of this message.

gnunet-doc.noarch: E: files-duplicated-waste 318478

=> GNUnet 0.19.2 will fix this hopefully along with some man pages.

gnunet.x86_64: E: call-to-mktemp /usr/bin/gnunet-testing
gnunet.x86_64: E: call-to-mktemp /usr/lib64/gnunet/libgnunet_plugin_datacache_sqlite.so
gnunet.x86_64: E: call-to-mktemp /usr/lib64/libgnunetdatacache.so.0.0.1
gnunet.x86_64: E: call-to-mktemp /usr/lib64/libgnunetfs.so.2.1.1
libgnunet.x86_64: E: call-to-mktemp /usr/lib64/libgnunetutil.so.15.0.0

=> This results in 6 errors and does not make sense. The code never calls mktemp. In fact, it only calls mkstemp and mkdtemp: https://git.gnunet.org/gnunet.git/tree/src/util/disk.c#n380
--

I have added my review.txt as attachment.
Happy new year.

Comment 4 Martin Schanzenbach 2022-12-30 14:02:30 UTC
Created attachment 1934946 [details]
review.txt

The review.txt from my local run

Comment 5 Package Review 2023-12-31 00:45:32 UTC
This is an automatic check from review-stats script.

This review request ticket hasn't been updated for some time. We're sorry
it is taking so long. If you're still interested in packaging this software
into Fedora repositories, please respond to this comment clearing the
NEEDINFO flag.

You may want to update the specfile and the src.rpm to the latest version
available and to propose a review swap on Fedora devel mailing list to increase
chances to have your package reviewed. If this is your first package and you
need a sponsor, you may want to post some informal reviews. Read more at
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group.

Without any reply, this request will shortly be considered abandoned
and will be closed.
Thank you for your patience.

Comment 6 Martin Schanzenbach 2024-01-03 16:12:14 UTC
(In reply to Package Review from comment #5)
> This is an automatic check from review-stats script.
> 
> This review request ticket hasn't been updated for some time. We're sorry
> it is taking so long. If you're still interested in packaging this software
> into Fedora repositories, please respond to this comment clearing the
> NEEDINFO flag.
> 
> You may want to update the specfile and the src.rpm to the latest version
> available and to propose a review swap on Fedora devel mailing list to
> increase
> chances to have your package reviewed. If this is your first package and you
> need a sponsor, you may want to post some informal reviews. Read more at
> https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group.
> 
> Without any reply, this request will shortly be considered abandoned
> and will be closed.
> Thank you for your patience.

I am still interested in getting this packaged.
I am currently working on moving the build system to meson, which will land in copr with the next release.
The currently release is still on COPR (see links in OP)

Comment 8 Benson Muite 2024-05-17 04:46:53 UTC
There are some false positives raised for unowned directories when using Fedora-review at present.

Can review, but cannot sponsor.

[fedora-review-service-build]

Comment 9 Fedora Review Service 2024-05-17 04:55:13 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7452641
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2094246-gnunet/fedora-rawhide-x86_64/07452641-gnunet/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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.

Comment 10 Martin Schanzenbach 2024-05-17 09:02:42 UTC
Hi,

the most recent version of gnunet is 0.21.1 and is also currently built here successfully:

 - https://copr.fedorainfracloud.org/coprs/schanzen/gnunet
 - https://copr.fedorainfracloud.org/coprs/schanzen/gnunet/build/7164125/

You can find the respective spec files there, I guess. There is also a review output here: https://download.copr.fedorainfracloud.org/results/schanzen/gnunet/fedora-rawhide-x86_64/07164125-gnunet/fedora-review/review.txt

Comment 11 Benson Muite 2024-05-18 11:58:52 UTC
Initial comments:
a) Requires is typically not needed for libraries as the tooling will automatically
determine any libraries that are linked during the build process and ensure they are
required if they are included in BuildRequires

b) For the desktop file add

BuildRequires: desktop-file-utils

to the spec file and in the check section add:

desktop-file-validate %{buildroot}/%{_datadir}/applications/gnunet-uri.desktop

see https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_file_install_usage

c) Group entry in spec file is typically not added

d) All licenses should be listed, not just the main license for the package. Based on
https://download.copr.fedorainfracloud.org/results/schanzen/gnunet/fedora-rawhide-x86_64/07164125-gnunet/fedora-review/licensecheck.txt
would expect some of the following to be relevant for some of the sub packages:
*No copyright* Public domain
----------------------------
gnunet-0.21.1/src/service/cadet/desirability_table.c 

BSD 2-Clause License and/or BSD 2-clause NetBSD License
-------------------------------------------------------
gnunet-0.21.1/src/cli/gns/gnunet-gns-proxy-setup-ca.in
gnunet-0.21.1/src/service/transport/gnunet-transport-certificate-creation.in

BSD 3-Clause License
--------------------
gnunet-0.21.1/src/lib/pq/versioning.sql
gnunet-0.21.1/src/service/transport/ieee80211_radiotap.h

Creative Commons CC0 1.0 and/or GNU Affero General Public License v3.0 or later
-------------------------------------------------------------------------------
gnunet-0.21.1/src/lib/util/crypto_elligator.c


See https://docs.fedoraproject.org/en-US/legal/license-field/

e) should the section:
%preun
%systemd_preun %{name}.service

%postun
%systemd_postun_with_restart %{name}.service
%systemd_user_post %{name}-user.service

be changed to

%preun
%systemd_preun %{name}.service
%systemd_user_preun %{name}-user.service

%postun
%systemd_postun_with_restart %{name}.service
%systemd_user_postun %{name}-user.service

see:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_user_units

Comment 12 Benson Muite 2024-05-18 12:38:22 UTC
f) Still get directory ownership warnings:

Package must own all directories that it creates.
     Note: Directories without known owners: /usr/include/gnunet,
     /usr/lib/.build-id/4a, /usr/lib/.build-id/d6

Are the hidden directories needed?

g) Further warnings

libgnunet.aarch64: E: shlib-policy-excessive-dependency libm.so.6
gnunet-bcd.aarch64: W: package-with-huge-docs 93%
gnunet.aarch64: E: non-executable-script /usr/bin/gnunet-transport-certificate-creation 644 /bin/sh
gnunet.aarch64: W: non-executable-in-bin /usr/bin/gnunet-transport-certificate-creation 644
libgnunet.aarch64: E: missing-call-to-setgroups-before-setuid /usr/lib64/libgnunetutil.so.15.0.0

Comment 13 Package Review 2025-05-19 00:45:23 UTC
This is an automatic check from review-stats script.

This review request ticket hasn't been updated for some time, but it seems
that the review is still being working out by you. If this is right, please
respond to this comment clearing the NEEDINFO flag and try to reach out the
submitter to proceed with the review.

If you're not interested in reviewing this ticket anymore, please clear the
fedora-review flag and reset the assignee, so that a new reviewer can take
this ticket.

Without any reply, this request will shortly be resetted.

Comment 14 Benson Muite 2025-05-19 06:57:13 UTC
Happy to continue the review