Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: "gentoo-dev >> gentoo development" <gentoo-dev@l.g.o>
Subject: [gentoo-dev] [RFC] New ebuild metadata variables for filtering of binary package soname dependencies (analogous to Fedora __provides_exclude and __requires_exclude)
Date: Mon, 29 Dec 2014 08:46:58
Message-Id: 54A114F7.3070701@gentoo.org
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

Replies