Heads-up: changes to soname dependency generation in rawhide

Panu Matilainen pmatilai at laiskiainen.org
Fri May 17 08:43:06 UTC 2013

Hey all,

Starting today, as soon as rpm- hits the rawhide buildroots, 
rpmbuild will filter out "non-library" ELF soname dependencies by 
default. The soname dependencies are filtered by name: only soname 
dependencies containing ".so" and starting with "lib" or "ld" will be 
recorded into requires/provides.

The immediate practical benefit is that most of those gazillion unwanted 
provides from dlopen'ed plugins and the like will be gone when packages 
are rebuilt, without having to manually filter them out in specs. 
Looking at current rawhide provides, once all packages are (eventually) 
rebuilt, this should bring the number of soname provides down from 
~38.000 to ~14500.

Normal packages should not be affected by this in any way, but in case 
of the inevitable excpetions, the former soname dependency generation 
can be re-enabled partially or fully as needed with:

%global __elf_provides_opts --no-filter-soname
%global __elf_requires_opts --no-filter-soname

AFAICS, the only require affected by this is on client.so in sawfish-pager:

[root at localhost ~]# repoquery --disablerepo="*" --enablerepo=rawhide -a 
--whatrequires "client.so()(64bit)"
[root at localhost ~]# repoquery --disablerepo="*" --enablerepo=rawhide -a 
--whatprovides "client.so()(64bit)"

...which also points out a likely package problem: sawfish-pager 
presumably only works with the client.so from sawfish, but two unrelated 
packages also provide client.so. Once subversion and glusterfs have been 
rebuilt, that ambiguity will go away, but sawfish and sawfish-pager will 
either require enabling the former behavior or changing the client.so 
DSO to a "proper" library name.

I dont expect big issues with this but keep an eye on your package 
dependencies and please report if you spot any anomalies in this area, 
whether its something not filtered, excessive filtering or something else.

	- Panu -

More information about the devel mailing list