Markos Chandras posted on Wed, 11 Dec 2013 20:53:04 +0000 as excerpted:

> On 12/11/2013 08:47 PM, Chris Reffett wrote:
>> On 12/11/2013 3:41 PM, William Hubbs wrote:
>>>
>>> My thought is to rename our "rc" to "openrc", since that would be
>>> unique.
>>>
>>> I know at least one thing that will break is everyone's inittab, so
>>> should I sed their inittab in our live ebuild or expect them to fix it
>>> and give a warning? I know that once OpenRC with this change is
>>> released, it will need to probably be p.masked until there is a new
>>> release of sysvinit that updates the inittab.

>> The idea of running a sed on inittab in an ebuild, no matter what the
>> context, terrifies me. Perhaps we can ease this in slowly by renaming
>> rc -> openrc and symlinking rc -> openrc and making a release with that
>> change concurrent with a news item? Or even just do that in the ebuild
>> rather than in the actual sources. I don't think Debian will keel over
>> and die if it takes a little extra time for the change to go through,
>> and it beats a ton of broken systems.

> +1
> 
> The ebuild can grep the inittab and it if finds an "rc" there, just
> print a huge warning telling the user to migrate || die.

I think it's worth noting two small details of williamh's original mail 
that may have gone unnoticed:

1) He proposes seding the *LIVE* ebuild, which I take as meaning 
openrc-9999.

2) He then proposes p.masking an openrc release until a sysvinit release 
updating inittab, with the contrast between that and the LIVE ebuild 
proposal thus again emphasized.

Question: How many people run the openrc-9999 LIVE ebuild, and given that 
it's masked and general gentoo policy is that people running live ebuilds 
should expect to keep the pieces of they can't handle occasionally 
unpredicted changes, how much should we actually worry about doing just 
that?

*I ask the above as an openrc-9999 user myself!  Of course, I also not 
only follow this list for heads-up notes such as this, but I also have a 
partially scripted update routine that checks openrc for changes every 
time I update, runs git log to check them out if there are any, and 
further runs git show on anything that I have questions about, *BEFORE* I 
actually do the update.  There's certainly a small window between my 
checks and the actual run of the openrc emerge, during which a git commit 
or two might in theory slip in, but other than that, I'd see such a 
change BEFORE I ever actually installed that openrc live update in the 
first place.

As a result, while I probably wouldn't have noted the linkage to inittab 
without this mail, I would have at least been aware of the name change 
when I did that live-build update, and would be prepared to boot with 
init=/bin/bash and find the problem, should it come to that, as I know it 
well might given the live-ebuild I choose to run.

Meanwhile, given the openrc-9999 bug history, with me as about the only 
bug reporter, I don't think there's that many actually running it.  
Certainly nothing I'd qualify as "a ton of broken systems" even if 
there's no sed and every one of those running it fails to see the warning 
until they've rebooted and suffered the consequences.

And the p.mask proposal for an actual release with the change, until a 
parallel sysvinit package update likely unmasked at the same time, does 
sound appropriately more responsible for ~arch as well, thus making both 
proposals at least not entirely insane.

Tho I too am a bit uncomfortable about sedding inittab directly from the 
ebuild.  Assuming it can work, the more gradual symlink and safer grep 
proposals sound much more reasonable, even at the live ebuild level.

Tho that said, given that I /am/ running a live ebuild for something as 
critical as openrc, if sed screws up and replaces the current inittab 
with an empty file, I'd better be prepared to deal with it.  That's part 
of the risk I took when unmasking that ebuild.  Now I'd be rather more 
annoyed if the ebuild pulled a trick like I did in one of my own scripts 
a few years ago, such that I used the wrong variable name as the absolute 
prefix to a rm command run as root, and said mis-named variable ended up 
null...

I was brown-bagging /that/ one for a few days! =:^\

But killing a single inittab file, meh!  If I can't deal with that, I've 
no business running an openrc-9999 version!

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to