Re: Packages that support both linked and header only?

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

 



On 08/11/2016 12:20 PM, Dave Johansen wrote:
> On Thu, Aug 11, 2016 at 11:37 AM, Orion Poplawski <orion@xxxxxxxxxxxxx
> <mailto:orion@xxxxxxxxxxxxx>> wrote:
> 
>     On 08/10/2016 08:43 PM, Dave Johansen wrote:
>     > I'm working on packaging the fmt library [1] and it provides both linked and
>     > header only use. My initial thought was to not package the header only
>     files,
>     > but it has been requested.
>     > I was planning on putting the header only files in *-static to match the
>     > spirit of the guidelines [2]. Is that the best way to handle this?
>     > Also, can I include the *.h files in both *-devel and *-static or will that
>     > conflict cause problems?
>     > Thanks,
>     > Dave
>     >
>     > [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1350143
>     <https://bugzilla.redhat.com/show_bug.cgi?id=1350143>
>     > [2]:
>     >
>     https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Packaging_Header_Only_Libraries
>     <https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Packaging_Header_Only_Libraries>
>     >
> 
>     What the guidelines state is:
> 
>     Don't ship a -static package.  Put everything in -devel and provide fmt-static
>     there.
> 
>     Packages that use fmt in a header-only manner should require fmt-static.
> 
> 
> The guideline addresses header-only libraries and fmt is technically not a
> header-only library. It has a feature that allows it to be used as a
> header-only library, but I would like to discourage it's use by making it
> required that it be explicit. If I package it all in fmt-devel then there's no
> automated check or other way to enforce that people don't install fmt-devel
> and then use it as a header-only library. Having that functionality be in
> fmt-static makes the use explicit and prevents intentional/unintentional
> static linking. 

But that's how it already is with header only libraries.  I suppose that could
be revisited if necessary.  But the headers have to be in -devel anyway.  You
could just ship the .cc file in -static, and have -static require -devel (as
is usual), then users would have to BR -static to use it in header only mode.

-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       orion@xxxxxxxx
Boulder, CO 80301                   http://www.nwra.com
--
packaging mailing list
packaging@xxxxxxxxxxxxxxxxxxxxxxx
https://lists.fedoraproject.org/admin/lists/packaging@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux