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: Mon, 25 Jan 2016 15:32:09
Message-Id: 56A63FEA.8040603@gentoo.org
In Reply to: Re: [gentoo-dev] New Eclasses: postgres and postgres-multi by Ian Stakenvicius
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 23/01/16 10:51 AM, Ian Stakenvicius wrote:
5 >
6 >
7 >> On Jan 22, 2016, at 3:11 PM, Aaron W. Swenson
8 >> <titanofold@g.o> wrote:
9 >>
10 >>
11 >> I would like some feedback on the documentation/comments in
12 >> the eclass. I'm certain it could be improved. Though, if you
13 >> were able to follow them (not a slight, just you were the first
14 >> to follow them), I might have done good enough.
15 >>
16 >
17 > I'll have another look; i don't think I read any of the docs,
18 > just looked to see that PG_CONFIG was set for me and confirmed
19 > things looked to work the same as multilib-minimal.
20
21 OK here's my full review (with docs and all):
22
23 postgres.eclass:
24
25 postgres_check_slot() <-- #1, not seeing a need for this as
26 dependencies should be forced now due to USE flag provisions. #2,
27 though, the documentation says it should be used in pkg_pretend but
28 then in the code there's an exclusion to make it a no-op when it's
29 run in pkg_pretend. Perhaps it's supposed to be run in pkg_setup??
30
31 postgres_new_user() <-- the documentation seems a little bit unclear
32 on this one.. It looks like it creates the 'postgres' user/group
33 and optionally it also creates an additional specified user/group..
34 But i'm not sure how creating new users/groups here instead of with
35 calling enewuser/enewgroup directly in the ebuild is helpful per
36 se...? It also seems a bit redundant if you wanted to create say, 2
37 or 3 extra users/groups, to repeatedly call enewuser postgres ....
38
39
40 postgres-multi.eclass:
41
42 #1 - main description could perhaps be changed from:
43
44 # build against any and all compatible PostgreSQL slots that are also
45 # enabled by the user.
46
47 to:
48
49 # build and install for one or more PostgreSQL slots as specified by
50 # POSTGRES_TARGETS use flags.
51
52 #2 - POSTGRES_COMPAT , needs an example and/or text to describe the
53 syntax of the slot specification.
54
55 #3 - _POSTGRES_UNION_SLOTS -- you actually mean here the
56 intersection between the two sets, rather than the union, right?
57 Var can likely stay as-is but the description should probably be
58 updated.
59
60 #4 - postgres-multi_foreach() -- this actually runs in the builddir,
61 not the source dir as mentioned in the text.
62
63 #5 - postgres-multi_forbest() -- maybe expand on what the "best"
64 slot is here, ie that it's the lexicographically biggest slot rather
65 than something else (like, say, the slot that's currently eselected)
66
67 #6 - need docs for postgres-multi_src_prepare() and so forth -- just
68 simple stuff will suffice I think: postgres-multi_src_prepare()
69 copies ${S} into a build directory for each target PG_SLOT and
70 should be specified; the others are default functions that are
71 provided for convenience, but postgres-multi_foreach should be used
72 instead of these when customization is necessary.
73
74 ...and I think that's it..
75
76 -----BEGIN PGP SIGNATURE-----
77 Version: GnuPG v2
78
79 iF4EAREIAAYFAlamP+kACgkQAJxUfCtlWe2wAAD/QlCKmkKl/9gr42ggY9RUpvUL
80 HLT1trvmzvto8QLXLeoBAOWRobPqIU4fcoI0on6CJdeVS+ZEK5MFcdf9qDn3yECA
81 =VjiJ
82 -----END PGP SIGNATURE-----

Replies

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