Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] New Eclasses: postgres and postgres-multi
Date: Wed, 13 Jan 2016 16:11:41
Message-Id: 56967730.8020702@gentoo.org
In Reply to: Re: [gentoo-dev] New Eclasses: postgres and postgres-multi by "Aaron W. Swenson"
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-----

Replies

Subject Author
Re: [gentoo-dev] New Eclasses: postgres and postgres-multi "Aaron W. Swenson" <titanofold@g.o>