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
Type: Bug
Embargoed:


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.