On 02/28/2014 8:28 AM, Samuli Suominen wrote:
> It would be very helpful if INSTALL_MASK could be overriden from an
> ebuild, if user hasn't
> set otherwise.
> So it could be configured like USE_ORDER which is
> "env:pkg:conf:defaults:pkginternal:repo:env.d"
> So INSTALL_MASK_ORDER like "ebuild:${user's own INSTALL_MASK}"
> This would be very helpful in preventing people from shooting themself
> in the foot
> 
> The only problem is that I propably don't have enough python skills to
> make that happen w/
> sys-apps/portage. But does the suggestion make sense? Should I open a
> feature request bug?

Given the following points:

1. systemd is, for those who install it, a critical system-level component
that, when its install is damaged in some form or fashion, can make booting
very difficult (if not impossible).

2. Some users wish to explicitly override INSTALL_MASK for various reasons,
some specifically to remove systemd-related files they feel aren't needed
when they do not use this package.

3. Some profiles also override INSTALL_MASK, such as Gentoo/FreeBSD, because
systemd does not apply there.

4. So far on this thread, there are varying degrees of contention on the
correct path to take to handle this.

5. And, that Gentoo, as a whole, tries to be as flexible as possible, within
various degrees of reason.


Would it make sense to have the systemd/udev ebuilds check for the existence
of an overridden INSTALL_MASK variable and then print a very *loud* warning
to the user IF systemd is already installed OR if the user is installing it
for the first time (possibly to test it out or actually switching to it)?
The warning will also fire if packages containing unit files are
installed/upgraded.  Such a warning could include a link to a Wiki article
explaining things in further detail, as well as stating bugs created as a
result of ignoring this message will be automatically closed as
RESOLVED::WONTFIX.

If it isn't possible to display that warning based on the specified
criteria, then I have another idea, but it's much more "hackish" in nature.
 That would be to always display the stern warning whenever any package that
installs a unit file is installed, and provide some kind of an global
environment variable that can be set in make.conf to suppress the warning.

We used to do this for glibc at one point -- I think it was for those users
who attempted to downgrade glibc.  The variable had to be defined in the
environment or in make.conf to allow emerge to downgrade glibc.  I don't
know if that var is still utilized or not.


In any event, love it or hate it, systemd is a reality and we have to
support it, along with other init systems and configurations as much as
possible (within reason).  Sam raises a good point, and I think it needs to
be addressed.  Pointing fingers and trading accusations isn't going to
accomplish anything productive.

I personally override INSTALL_MASK now for all systemd/udev folders, because
I don't use it or udev, but who knows, I might switch to it one day down the
road and forget that I have that var set.  That'll definitely cause issues
for me then, and I'll be major herp-derping when I finally remember to
delete that line from make.conf.

-- 
Joshua Kinard
Gentoo/MIPS
ku...@gentoo.org
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us.  And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic

Reply via email to