Overall fedora-review test results.
Michael Schwendt
mschwendt at gmail.com
Thu Aug 22 17:21:02 UTC 2013
On Thu, 22 Aug 2013 18:10:12 +0200, Alec Leamas wrote:
> > Funny! I'm interested in hearing more about these,
> >
> > | 347 CheckStaticLibs
> > | Static libs not in a -static package. Most are haskell packages
> > | which have an exception not handled by f-r. There are more, though.
> >
> > since http://mschwendt.fedorapeople.org/staticbugstat.html is an ongoing
> > project. So far, I exclude Haskell and OCaml packages, Tcl/Tk stub libs,
> > flex-static, and the fake shared libs in binutils-devel (they are .so
> > GNU ld scripts that link with the static libs instead).
>
> You have certainly better excludes than f-r. The packages failing f-r is
> on http://ur1.ca/f5znn
Thanks!
Here's a guess. Many are on that list, because f-r doesn't implement the
static lib packaging guidelines correctly yet. Example, for isomd5sum
it tells:
- Static libraries in -static subpackage, if present.
Note: Archive *.a files found in isomd5sum-devel
See: http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries
Actually, a subsection of those guidelines applies instead, because the FPC
has not made -static subpackages a MUST:
https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2
|
| 2. 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:
That's the case:
$ rpmls -p isomd5sum-devel-1.0.11-2.fc20.x86_64.rpm
-rw-r--r-- /usr/include/libcheckisomd5.h
-rw-r--r-- /usr/include/libimplantisomd5.h
-rw-r--r-- /usr/lib64/libcheckisomd5.a
-rw-r--r-- /usr/lib64/libimplantisomd5.a
$ rpm -qp --provides isomd5sum-devel-1.0.11-2.fc20.x86_64.rpm
isomd5sum-devel = 1:1.0.11-2.fc20
isomd5sum-devel(x86-64) = 1:1.0.11-2.fc20
isomd5sum-static = 1:1.0.11-2.fc20
^^^^^^^
(!)
$ rpmls -p isomd5sum-1.0.11-2.fc20.x86_64.rpm
-rwxr-xr-x /usr/bin/checkisomd5
-rwxr-xr-x /usr/bin/implantisomd5
drwxr-xr-x /usr/share/doc/isomd5sum
-rw-r--r-- /usr/share/doc/isomd5sum/COPYING
-rw-r--r-- /usr/share/man/man1/checkisomd5.1.gz
-rw-r--r-- /usr/share/man/man1/implantisomd5.1.gz
Of course, these guidelines bear a risk. One can "BuildRequires: isomd5sum-devel"
and unwittingly have a build use the static libs. It would be better, if one
had to build-require a separate -static subpackage before this static-only
lib could be linked with. Tracking usage of a separate -static package is
a lot easier than examininig koji build logs in an attempt at finding out
whether a static lib is linked with.
More information about the devel
mailing list