1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
>> On 12.01.2016 20:22, Aaron W. Swenson wrote: |
5 |
>>> There are several ebuilds that repeat the same checks and |
6 |
>>> need to perform the same duties when it comes to working with |
7 |
>>> PostgreSQL. For example, making sure the users' currently |
8 |
>>> slot is compatible with the ebuild requirements. |
9 |
>>> postgres.eclass addresses this and has additional |
10 |
>>> conveniences to build a dependency string and add a new user |
11 |
>>> into the postgres system group. |
12 |
>>> |
13 |
>>> Additionally, as most of you are aware, we have a slot |
14 |
>>> capable dev-db/postgresql. There is some difficulty that |
15 |
>>> needed to be resolved so that extensions could also be |
16 |
>>> installed into multiple slots, which is addressed by |
17 |
>>> postgres-multi.eclass. |
18 |
>>> |
19 |
>>> I've an overlay at: |
20 |
>>> https://github.com/titanofold/titanofold-gentoo-x86 |
21 |
>>> |
22 |
>>> With the pgsql-eclass branch containing the eclass and a |
23 |
>>> postgres-multi enabled PostGIS. |
24 |
>>> |
25 |
>>> Naturally, the eclasses work for me, so far. |
26 |
>>> |
27 |
|
28 |
The work looks really good, but I noticed that postgres-multi |
29 |
determins the variants to build against based on what's installed on |
30 |
disk via checking eselect.. I think it'd likely be better to |
31 |
instead have proper dependencies based on USE, much like how the |
32 |
python and ABI_* multibuilds work. That would make the |
33 |
installations as well as the dependencies be determinstic rather |
34 |
than dynamic, which should support binpkgs -much- better (among |
35 |
other things). |
36 |
|
37 |
The "|| ( postgresql:${SLOT1}= postgresql:${SLOT2}= ...)" RDEPEND |
38 |
that postgres.eclass works out is a little sketchy IMO, |
39 |
unfortunately, as the behaviour that occurs when more than one of |
40 |
those slots are installed is afaik a little unstable -- in theory, |
41 |
changes (including removal) of any of the options should trigger a |
42 |
rebuild but I don't know if it does, and I'm fairly certain that a |
43 |
simple --unmerge doesn't trigger a rebuild. All of that goes away |
44 |
if you perform non-OR dependency via use flags. |
45 |
|
46 |
The drawback of course is yet another USE_EXPAND, or at least a |
47 |
bunch of rather long use flags, that will need setting by the user. |
48 |
|
49 |
|
50 |
-----BEGIN PGP SIGNATURE----- |
51 |
Version: GnuPG v2 |
52 |
|
53 |
iF4EAREIAAYFAlaWdzAACgkQAJxUfCtlWe1k9gEAvZZ93mdUhDwTKBxcX+GcrZ5S |
54 |
bwCQKIkuItSIz0221usA/1rnPt2dGWr9tGMqxekvNypx5RKnF3odSb0m1EVSnTJR |
55 |
=2xB+ |
56 |
-----END PGP SIGNATURE----- |