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 02:55:18
Message-Id: 53114C0A.6090501@gentoo.org
In Reply to: [gentoo-dev] Possibility of overriding user defined INSTALL_MASK from an ebuild? by Samuli Suominen
1 On 02/28/2014 8:28 AM, Samuli Suominen wrote:
2 > It would be very helpful if INSTALL_MASK could be overriden from an
3 > ebuild, if user hasn't
4 > set otherwise.
5 > So it could be configured like USE_ORDER which is
6 > "env:pkg:conf:defaults:pkginternal:repo:env.d"
7 > So INSTALL_MASK_ORDER like "ebuild:${user's own INSTALL_MASK}"
8 > This would be very helpful in preventing people from shooting themself
9 > in the foot
10 >
11 > The only problem is that I propably don't have enough python skills to
12 > make that happen w/
13 > sys-apps/portage. But does the suggestion make sense? Should I open a
14 > feature request bug?
15
16 Given the following points:
17
18 1. systemd is, for those who install it, a critical system-level component
19 that, when its install is damaged in some form or fashion, can make booting
20 very difficult (if not impossible).
21
22 2. Some users wish to explicitly override INSTALL_MASK for various reasons,
23 some specifically to remove systemd-related files they feel aren't needed
24 when they do not use this package.
25
26 3. Some profiles also override INSTALL_MASK, such as Gentoo/FreeBSD, because
27 systemd does not apply there.
28
29 4. So far on this thread, there are varying degrees of contention on the
30 correct path to take to handle this.
31
32 5. And, that Gentoo, as a whole, tries to be as flexible as possible, within
33 various degrees of reason.
34
35
36 Would it make sense to have the systemd/udev ebuilds check for the existence
37 of an overridden INSTALL_MASK variable and then print a very *loud* warning
38 to the user IF systemd is already installed OR if the user is installing it
39 for the first time (possibly to test it out or actually switching to it)?
40 The warning will also fire if packages containing unit files are
41 installed/upgraded. Such a warning could include a link to a Wiki article
42 explaining things in further detail, as well as stating bugs created as a
43 result of ignoring this message will be automatically closed as
44 RESOLVED::WONTFIX.
45
46 If it isn't possible to display that warning based on the specified
47 criteria, then I have another idea, but it's much more "hackish" in nature.
48 That would be to always display the stern warning whenever any package that
49 installs a unit file is installed, and provide some kind of an global
50 environment variable that can be set in make.conf to suppress the warning.
51
52 We used to do this for glibc at one point -- I think it was for those users
53 who attempted to downgrade glibc. The variable had to be defined in the
54 environment or in make.conf to allow emerge to downgrade glibc. I don't
55 know if that var is still utilized or not.
56
57
58 In any event, love it or hate it, systemd is a reality and we have to
59 support it, along with other init systems and configurations as much as
60 possible (within reason). Sam raises a good point, and I think it needs to
61 be addressed. Pointing fingers and trading accusations isn't going to
62 accomplish anything productive.
63
64 I personally override INSTALL_MASK now for all systemd/udev folders, because
65 I don't use it or udev, but who knows, I might switch to it one day down the
66 road and forget that I have that var set. That'll definitely cause issues
67 for me then, and I'll be major herp-derping when I finally remember to
68 delete that line from make.conf.
69
70 --
71 Joshua Kinard
72 Gentoo/MIPS
73 kumba@g.o
74 4096R/D25D95E3 2011-03-28
75
76 "The past tempts us, the present confuses us, the future frightens us. And
77 our lives slip away, moment by moment, lost in that vast, terrible in-between."
78
79 --Emperor Turhan, Centauri Republic

Replies