Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1355685 - [packaging] please unbundle shipped libraries
Summary: [packaging] please unbundle shipped libraries
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: usbguard
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Daniel Kopeček
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-12 09:01 UTC by Christian Stadelmann
Modified: 2016-07-12 13:39 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-12 13:39:53 UTC


Attachments (Terms of Use)

Description Christian Stadelmann 2016-07-12 09:01:19 UTC
According to Fedora Packaging Guidelines [1] it would be preferred to have no libraries shipped if they exist in Fedora already. Instead, usbguard should be build against Fedora packages and have a "Requires" in its spec file. This affects:
json: Fedora package json
spdlog: Fedora package spdlog
usbmon: Fedora package usbmon? (unclear: different upstream URL)
catch: Fedora package catch
PEGTL: I couldn't find any package for that.

Version-Release number of selected component (if applicable):
0.5.10

How reproducible:
always due to packaging

[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Bundling_and_Duplication_of_system_libraries

Comment 1 Daniel Kopeček 2016-07-12 11:22:25 UTC
Hello,
 I think this is a NOTABUG. Please see the comments bellow.

(In reply to Christian Stadelmann from comment #0)
> According to Fedora Packaging Guidelines [1] it would be preferred to have
> no libraries shipped if they exist in Fedora already. Instead, usbguard
> should be build against Fedora packages and have a "Requires" in its spec
> file. This affects:
> json: Fedora package json
> spdlog: Fedora package spdlog

There's already:

BuildRequires: json-static
BuildRequires: spdlog-static

    --without-bundled-json \
    --without-bundled-spdlog \


> usbmon: Fedora package usbmon? (unclear: different upstream URL)

usbmon isn't part of the 0.5.10 tarball, is it?

> catch: Fedora package catch

This is used only at build time for make check.

BuildRequires: catch-devel

    --without-bundled-catch \

> PEGTL: I couldn't find any package for that.

Isn't used anywhere at this point. It will used be after I finish the rule parser refactoring at which point I will package PEGTL for fedora (as I did with json and spdlog)

Comment 2 Christian Stadelmann 2016-07-12 12:51:51 UTC
I've seen that it has BuildRequires, but isn't json and spdlog used at runtime, compiled into usbguard?

Ok, catch is of course not needed at runtime.

Comment 3 Daniel Kopeček 2016-07-12 12:55:32 UTC
(In reply to Christian Stadelmann from comment #2)
> I've seen that it has BuildRequires, but isn't json and spdlog used at
> runtime, compiled into usbguard?

Those are header-only C++ libraries so there's no .so file to be linked to.

FYI: https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Packaging_Header_Only_Libraries

Comment 4 Christian Stadelmann 2016-07-12 13:39:53 UTC
Ok, I probably should understand C++ "header-only libraries" before filing bugs like this. Sorry for the noise.


Note You need to log in before you can comment on or make changes to this bug.