[Fedora-packaging] binutils once more

Michael Schwendt mschwendt at gmail.com
Fri Jun 4 08:22:05 UTC 2010


The saga "binutils does not adhere to Static Library Packaging Guidelines"
continues.

Temporarily the issue had been fixed, then it has been reverted by adding
"Provides" that violate the guidelines again. When I permitted my checker
script to reopen the bugzilla ticket, it was quickly closed as NOTABUG
this time.

  binutils : does not adhere to Static Library Packaging Guidelines
  https://bugzilla.redhat.com/show_bug.cgi?id=556040

The ticket that lead to violating the guidelines again:

  libbfd.so in binutils-devel needs libbfd.a in binutils-static
  https://bugzilla.redhat.com/show_bug.cgi?id=576300

[...]

I'd appreciate if the Fedora Packaging Committee discussed this and either
officially excludes the binutils package from the guidelines or adjusts the
guidelines.

To brief all readers: binutils ships shared *and* static libs, but it
replaces the *.so files used for linking at build-time with ld scripts
that only link statically. It has been said that the library interfaces
are not stable enough to link shared.

$ rpmlsv -p binutils-2.20.51.0.7-3.fc14.i686.rpm | grep /lib
-rwxr-xr-x root  root    881172 /usr/lib/libbfd-2.20.51.0.7-3.fc14.so
-rwxr-xr-x root  root    561296 /usr/lib/libopcodes-2.20.51.0.7-3.fc14.so

$ rpmlsv -p binutils-static-2.20.51.0.7-3.fc14.i686.rpm|grep /lib
-rw-r--r-- root  root     23878 /usr/include/libiberty.h
-rw-r--r-- root  root   1104328 /usr/lib/libbfd.a
-rw-r--r-- root  root       271 /usr/lib/libbfd.so
-rw-r--r-- root  root    274322 /usr/lib/libiberty.a
-rw-r--r-- root  root    589216 /usr/lib/libopcodes.a
-rw-r--r-- root  root       202 /usr/lib/libopcodes.so

$ cat libbfd.so 
/* GNU ld script */

/* Ensure this .so library will not be used by a link for a different format
   on a multi-architecture system.  */
OUTPUT_FORMAT(elf32-i386)

/* The libz dependency is unexpected by legacy build scripts.  */
INPUT ( /usr/lib/libbfd.a -liberty -lz )

$ rpm -qp --provides binutils-static-2.20.51.0.7-3.fc14.i686.rpm 
binutils-devel = 2.20.51.0.7-3.fc14
binutils-static = 2.20.51.0.7-3.fc14
binutils-static(x86-32) = 2.20.51.0.7-3.fc14


More information about the packaging mailing list