1 |
Hi, |
2 |
|
3 |
In order for Gentoo's binary package support to compete with that of |
4 |
binary distros, it would be useful to have some new ebuild metadata |
5 |
variables that would be used to customize filtering of automatically |
6 |
generated soname dependencies. For example, Fedora has |
7 |
__provides_exclude and __requires_exclude variables for this purpose [1]. |
8 |
|
9 |
In order to implement something like this for Gentoo, we could add |
10 |
PROVIDES_EXCLUDE and REQUIRES_EXCLUDE ebuild metadata variables. These |
11 |
variables would be used to automatically generate PROVIDES and REQUIRES |
12 |
data for binary packages, based on the output of scanelf. The resulting |
13 |
PROVIDES and REQUIRES data would simply contain lists of sonames (and |
14 |
their corresponding ABIs, for multilib support), which would be used to |
15 |
resolve dependencies of binary packages. For example, the resulting |
16 |
REQUIRES and PROVIDES data for sys-libs/zlib-1.2.8-r1 built with |
17 |
ABI_X86="32 64" might look something like this: |
18 |
|
19 |
REQUIRES: X86_64: libc.so.6 386: libc.so.6 |
20 |
|
21 |
PROVIDES: X86_64: libz.so.1 386: libz.so.1 |
22 |
|
23 |
For libz, the new PROVIDES_EXCLUDE and REQUIRES_EXCLUDE ebuild variables |
24 |
would not be needed. However, for things like python and perl modules, |
25 |
these variables would be used to exclude unwanted sonames from REQUIRES |
26 |
and PROVIDES. |
27 |
|
28 |
Please respond with any feedback that you may have about the proposal. |
29 |
|
30 |
[1] |
31 |
http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Filtering_provides_and_requires_after_scanning |
32 |
-- |
33 |
Thanks, |
34 |
Zac |