[PlanetCCRMA] State of Fedora 26 repo

Bernardo Barros bernardobarros at gmail.com
Wed Oct 25 23:23:51 PDT 2017


On 10/25/17 18:18, Yury Bulka wrote:
> Probably, they should be packaged separately, but I need to research
> it a bit more

https://fedoraproject.org/wiki/Packaging:Guidelines#Libraries_and_Applications

# Packaging Static Libraries

In general, packagers are strongly encouraged not to ship static libs
unless a compelling reason exists.
We want to be able to track which packages are using static libraries
(so we can find which packages need to be rebuilt if a security flaw in
a static library is fixed, for instance). There are two scenarios in
which static libraries are packaged:
Static libraries and shared libraries. In this case, the static
libraries must be placed in a *-static subpackage. Separating the static
libraries from the other development files in *-devel allow us to track
this usage by checking which packages BuildRequire the *-static package.
The intent is that whenever possible, packages will move away from using
these static libraries, to the shared libraries. If the *-static
subpackage requires headers or other files from *-devel in order to be
useful it must require the *-devel subpackage.
Static libraries only. When a package only provides static libraries you
can place all the static library files in the *-devel subpackage. When
doing this you also must have a virtual Provide for the *-static
package:

   %package devel
   Provides: foo-static = %{version}-%{release}

Packages which explicitly need to link against the static version must
BuildRequire: foo-static, so that the usage can be tracked.

If (and only if) a package has shared libraries which require static
libraries to be functional, the static libraries can be included in the
*-devel subpackage. The devel subpackage must have a virtual Provide for
the *-static package, and packages dependent on it must BuildRequire the
*-static package.



More information about the PlanetCCRMA mailing list