Hey all,
Starting today, as soon as rpm-4.11.0.1-5 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@localhost ~]# repoquery --disablerepo="*" --enablerepo=rawhide -a
--whatrequires "client.so()(64bit)"
sawfish-pager-0:0.90.3-3.fc19.x86_64
[root@localhost ~]# repoquery --disablerepo="*" --enablerepo=rawhide -a
--whatprovides "client.so()(64bit)"
subversion-ruby-0:1.7.9-3.fc20.x86_64
glusterfs-0:3.4.0-0.4.beta1.fc20.x86_64
sawfish-0:1.9.91-1.fc20.x86_64
...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 -
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel