On Thu, Aug 11, 2016 at 11:37 AM, Orion Poplawski <orion@cora.nwra.com> 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
> [2]:
> 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.