Gentoo Archives: gentoo-dev

From: tomjbe@g.o
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [FRC] News item: Changing USE flags for >=app-backup/bacula
Date: Tue, 15 Aug 2017 17:49:46
Message-Id: 150281937316.24489.8886457675831488368@ham.local.de
In Reply to: Re: [gentoo-dev] [FRC] News item: Changing USE flags for >=app-backup/bacula by Rich Freeman
1 Quoting Rich Freeman (2017-08-15 14:16:14)
2 > On Tue, Aug 15, 2017 at 5:19 AM, <tomjbe@g.o> wrote:
3 > > Quoting Michał Górny (2017-08-15 08:43:07)
4 > >> On wto, 2017-08-15 at 06:55 +0200, tomjbe@g.o wrote:
5 > >> > Quoting Rich Freeman (2017-08-15 00:29:19)
6 > >> > >
7 > >> > > I guess to make it a bit more explicit, would it make sense to have 3 flags:
8 > >> > >
9 > >> > > client - install the client (or consider calling it file-daemon instead)
10 > >> > > director - install the director
11 > >> > > storage-daemon - install the storage daemon
12 > >> > >
13 > >> >
14 > >> > That would be best, but it is not supported by their (autoconf based) build
15 > >> > system (and would require a complete rewrite of it). The actual USE flags
16 > >> > mostly mirrors the switches from the configure script. You can not set them as
17 > >> > you like, they are not orthogonal E.g. the file deamon (client) will be
18 > >> > installed unconditionally.
19 > >> >
20 > >> > The configure script itself is very brittle atm and needs an urgent overhaul.
21 > >> > Discussion with upstream goes a long way, but they do not want to change it
22 > >> > because of the need to retest it on very different systems. No good situation.
23 > >> >
24 > >> > A possible idea may be to drop the 'no/client' flag completely. If neither
25 > >> > 'director' nor 'storage-daemon' is active all that is left would be the
26 > >> > file daemon.
27 > >> > What do you think?
28 > >>
29 > >> WFM. If the flag doesn't do anything except for disabling the two other
30 > >> flags, then there's no place for such a flag.
31 > >>
32 > > And here comes the problem. USE="bacula-nodir bacula-nosd" does not produce
33 > > the same set of files as USE="bacula-clientonly". But I will recheck if the
34 > > difference is of relevance for normal gentoo user.
35 >
36 > It is probably worth understanding the difference. However, if the
37 > user sets both -director and -storage-daemon you could also enable
38 > bacula-clientonly, unless there is some reason somebody might want two
39 > of those and not the third.
40 >
41 I just tested the different use flags settings as well as directly the
42 different configure switches. Here is what happens for configure:
43
44 * Deactivation of storage-daemon drops the related files.
45 * Deactivation of director ist ignored by the build system, the director is
46 build anyway (One more bug in their build system).
47 * Activation of clientonly drops both the related files for director and for
48 storage daemon.
49
50 The ebuild does fix some of the differences:
51
52 * +bacula-nodir and +bacula+nosd drops most of the files for these
53 functionality, but keeps some more (mostly irrelevant) files over
54 +bacula-clientonly.
55
56 So from gentoos point of view having nodir and nosd is nearly the same as
57 having clientonly. That would allow to drop the clientonly flag and keep only
58 the controling flags for director and storage-daemon.
59 > >
60 > >> >
61 > >> > The downside of that idea is that we diverge from baculas documentation which
62 > >> > explicitly state that there is a 'clientonly' install.
63 > >> >
64 > >>
65 > >> Upstream install documentation is not relevant to Gentoo. The flag
66 > >> descriptions in metadata.xml are.
67 > >>
68 > > Right. But if we drop a "clientonly" than there is no hint in metadata.xml how
69 > > to get only the file daemon alone. Some einfo output or similar come to mind.
70 > >
71 >
72 > You could use einfo. However, if the docs say what the other two
73 > flags do then it seems pretty obvious that if you turn them both off
74 > you end up with only the file daemon.
75 >
76 I think we can find a proper formulation for the use flag description in
77 metadata.xml, e.g.:
78
79 director - Installs the backup director additional to the default file daemon.
80 storage-daemon - Installs the storage daemon additional to the default file
81 daemon.
82
83 Thomas

Replies