Hi,

In order for Gentoo's binary package support to compete with that of
binary distros, it would be useful to have some new ebuild metadata
variables that would be used to customize filtering of automatically
generated soname dependencies. For example, Fedora has
__provides_exclude and __requires_exclude variables for this purpose [1].

In order to implement something like this for Gentoo, we could add
PROVIDES_EXCLUDE and REQUIRES_EXCLUDE ebuild metadata variables. These
variables would be used to automatically generate PROVIDES and REQUIRES
data for binary packages, based on the output of scanelf. The resulting
PROVIDES and REQUIRES data would simply contain lists of sonames (and
their corresponding ABIs, for multilib support), which would be used to
resolve dependencies of binary packages. For example, the resulting
REQUIRES and PROVIDES data for sys-libs/zlib-1.2.8-r1 built with
ABI_X86="32 64" might look something like this:

        REQUIRES: X86_64: libc.so.6 386: libc.so.6

        PROVIDES: X86_64: libz.so.1 386: libz.so.1

For libz, the new PROVIDES_EXCLUDE and REQUIRES_EXCLUDE ebuild variables
would not be needed. However, for things like python and perl modules,
these variables would be used to exclude unwanted sonames from REQUIRES
and PROVIDES.

Please respond with any feedback that you may have about the proposal.

[1]
http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Filtering_provides_and_requires_after_scanning
-- 
Thanks,
Zac

Reply via email to