[Bug 2373805] Review Request: golang-codeberg-gbcox-beetbrainz - Go-based webhook listener

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2373805

Jerry James <loganjerry@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|fedora-review?              |fedora-review+



--- Comment #11 from Jerry James <loganjerry@xxxxxxxxx> ---
This package is APPROVED.

(In reply to Gerald Cox from comment #10)
> 2. unused-direct-shlib-dependency /usr/bin/beetbrainz /lib64/libresolv.so.2
> and missing -Wl,--as-needed:
> 
> I believe that is a false flag from rpmlint. beetbrainz is a webhook
> listener and network application, meaning libresolv.so.2 (which handles DNS
> lookups) is needed for its core functionality. Even though --as-needed is
> correctly specified via %{build_ldflags}, Go's external linking process
> often includes libresolv because its network routines or CGo interactions
> genuinely depend on it, making the dependency used rather than unused.

Okay, this isn't a big deal, but I will note that after installing the binary
package, I see this:

$ ldd -u /usr/bin/beetbrainz 
Unused direct dependencies:
        /lib64/libresolv.so.2

That means that no undefined symbols in /usr/bin/beetbrainz are resolved by
libresolv.so.2.  Indeed, looking at the undefined symbols in
/usr/bin/beetbrainz (readelf -s /usr/bin/beetbrainz), the only network-related
symbols I see are:
- getaddrinfo
- freeaddrinfo
- gai_strerror
all of which are defined in libc these days.  So I think rpmlint is correct and
the libresolv dependency is unused.  But I'm not going to make a fuss about it.
:-)

> 3. Possibility of creating a man page:
> 
> Good idea, I created one and it is in the tarball as beetbrainz.8.
> 
> However, despite the file being physically present in the buildroot
> immediately after installation (confirmed by ls -l in %install), every
> attempt to package beetbrainz.8 as a manual page has consistently resulted
> in an "error: File not found" during the RPM packaging's %files section
> processing.

The trick with man pages is that they are automatically compressed (by
/usr/lib/rpm/brp-compress), so you have to account for the extra filename
extension in %files.  Right now, the man pages are compressed with gzip, but
that could change in the future, so a glob is usually used.

For example, I modified your spec file by adding this to %install:
mkdir -p %{buildroot}%{_mandir}/man8
install -p %{project}.8 %{buildroot}%{_mandir}/man8

And adding this to %files:
%{_mandir}/man8/%{project}.8*

That works.  Obligatory link to the packaging guidelines:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages

I have approved this package.  You can decide whether or not to include the
manpage when you import the package.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2373805

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202373805%23c11

-- 
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux