Gentoo Archives: gentoo-dev

From: Joshua Kinard <kumba@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Possibility of overriding user defined INSTALL_MASK from an ebuild?
Date: Sat, 01 Mar 2014 06:17:33
Message-Id: 53117B6E.6000407@gentoo.org
In Reply to: Re: [gentoo-dev] Possibility of overriding user defined INSTALL_MASK from an ebuild? by Samuli Suominen
1 On 03/01/2014 12:28 AM, Samuli Suominen wrote:
2 >
3 > On 01/03/14 04:55, Joshua Kinard wrote:
4 >> 3. Some profiles also override INSTALL_MASK, such as Gentoo/FreeBSD, because
5 >> systemd does not apply there.
6 >
7 > Wow. I don't think we should allow this without first having exactly
8 > what was suggested in this thread, a way of redefining the order
9 > away from INSTALL_MASK_ORDER="profile:ebuild:user", because
10 > if we allow INSTALL_MASK usage in profiles without having a setting
11 > for the order, it'll always be INSTALL_MASK_ORDER="profile:user",
12 > and it's very hard for user to get his setting respected even if he
13 > wanted to.
14
15 It's in /usr/portage/profiles/default/bsd/make.defaults it looks. I only
16 noticed it in a test VM running Gentoo/FreeBSD that every package merge
17 printed out "* Removing /usr/lib/systemd ...". Being in make.defaults, it
18 should be overridable by the user in their systems make.conf, right?
19
20 Not sure how it affects overriding by an individual ebuild, if that
21 functionality is ever supported.
22
23
24 >>
25 >> Would it make sense to have the systemd/udev ebuilds check for the existence
26 >> of an overridden INSTALL_MASK variable and then print a very *loud* warning
27 >> to the user IF systemd is already installed OR if the user is installing it
28 >> for the first time (possibly to test it out or actually switching to it)?
29 >> The warning will also fire if packages containing unit files are
30 >> installed/upgraded. Such a warning could include a link to a Wiki article
31 >> explaining things in further detail, as well as stating bugs created as a
32 >> result of ignoring this message will be automatically closed as
33 >> RESOLVED::WONTFIX.
34 >
35 > The most common opinion in this thread seems to be 'this is all just
36 > overkill,
37 > and you are on your own...'
38 > But adding such hackery to ebuilds when this is no way udev or systemd
39 > specific problem to begin, would be much, much bigger overkill (or rather,
40 > should I say, underkill? :-)
41
42 When in doubt, nuke it from orbit first, collapse the star into a
43 singularity second, then ask questions third. In layman's terms, you can
44 never have too big of a hammer.
45
46 Basically what I am suggesting is finding a sane way to politely tell users
47 who set INSTALL_MASK locally that specific to systemd/udev packages, they
48 risk breaking their system if using it or migrating to it. Optionally,
49 telling them the same thing if they install a package that also installs
50 unit files.
51
52 TBH, expanding on the idea, it doesn't even have to be specific to
53 systemd/udev, but a generic framework that can be used by ebuilds to warn
54 the user of invalid configurations that could render a system package (or
55 their system) unusable unless they change their configuration.
56
57 This still leaves the power in the hands of the user to configure things how
58 they want (E.g., setting INSTALL_MASK). It also allows us devs to avoid
59 adding another variable into an already complex equation (having to decide
60 on INSTALL_MASK_ORDER settings for all archs/profiles). Package maintainers
61 are free to check for known problematic settings in make.conf or the envvars
62 and warn the user appropriately in their packages. If the user chooses to
63 proceed anyways, well, they were warned...
64
65 W/o grepping the tree, I wouldn't be surprised if some ebuilds already do
66 this in some form. Basic grep on make.conf, ewarn or eerror if a problem
67 setting is discovered. Setup some function in eutils instead to do this:
68
69 echeck_var_warn("INSTALL_MASK", "/usr/lib/systemd")
70 echeck_var_error("INSTALL_MASK", "/usr/lib/systemd")
71
72 Etc...
73
74 Brainstorming. If the idea is silly or nonsensical, well, then someone
75 propose something better.
76
77 Squirrel.
78
79 --
80 Joshua Kinard
81 Gentoo/MIPS
82 kumba@g.o
83 4096R/D25D95E3 2011-03-28
84
85 "The past tempts us, the present confuses us, the future frightens us. And
86 our lives slip away, moment by moment, lost in that vast, terrible in-between."
87
88 --Emperor Turhan, Centauri Republic

Replies

Subject Author
[gentoo-dev] Re: Possibility of overriding user defined INSTALL_MASK from an ebuild? "Steven J. Long" <slong@××××××××××××××××××.uk>