[arch-general] Telinit?

David Rosenstrauch darose at darose.net
Mon Aug 17 01:30:57 UTC 2020


On 2020-08-16 3:37 pm, Eli Schwartz via arch-general wrote:
> On 8/16/20 3:24 PM, David Rosenstrauch wrote:
>> On 2020-08-16 3:20 pm, Eli Schwartz via arch-general wrote:
>>> Reread the Arch commit. It wasn't removed.
>>> 
>>> Arch used to move the symlink from the "systemd" package to the
>>> "systemd-sysvcompat" package, and no longer does so.
>> 
>> Not sure I understand.  Shouldn't it still?  (And wouldn't it be
>> deviating from upstream if it didn't?)
> 
> Once again, reread the Arch commit.
> 
> The telinit binary is no longer deleted from the "systemd" package.
> 
> The telinit binary is ALSO no longer added to the "systemd-sysvcompat"
> package.
> 
> 
> There are only two possible conclusions:
> - the telinit binary is currently provided by Arch's "systemd" package
>   and is thus available on your computer *right now*.
> - upstream removed it, not Arch
> 
> How to determine which one is correct?
> 
> Well, if you didn't snip out and completely ignore half my email, you
> might have seen this:
> 
>> Whether the move is done via mv && mv, or via rm && install, is 
>> immaterial.
>> 
>> The point of the rm && install is to emulate upstream's install 
>> layout,
>> but have parts of it in one package and parts in another package.
> 
> Most importantly, though, was this:
> 
>> As Andreas Bosch pointed out, the upstream install layout no longer
>> includes these, and thus, arch doesn't move them into another package.
> 
> However, if you didn't read my email then, I'm not sure why you'd 
> bother
> reading my second email now. So perhaps I'm just wasting my time.


There's no need to be rude.  I didn't ignore your email, and I snipped 
it from my response for brevity's sake to spare the list from 
unnecessary sprawl.

But near as I can tell, what you wrote isn't entirely accurate.  It's 
not that upstream no longer includes them; it's that it no longer 
includes them *by default*.  So rather than the package always building 
the telinit and runlevel binaries, it looks like it now *optionally* 
builds them depending on whether the HAVE_SYSV_COMPAT flag is set (to 
indicate whether you want to include sysv compatibility or not).

But since the package in question is called "systemd-sysvcompat" and is 
intended to provide "sysvinit compat for systemd", it's puzzling to me 
why Arch would choose to explicitly *not* set that flag when building 
that package.  The telinit and runlevel commands were part of the Linux 
sysv init system for ages, so I'm not clear what would be the point of 
suddenly removing them from a package whose whole intent is to provide 
sysvinit compatibility.  I mean, if someone doesn't need or want 
sysvinit compatibility, then they just wouldn't install that package 
altogether.  And if they did install it, then presumably they'd expect 
those two utilities (whose build is explicitly triggered by a flag 
indicating whether systemv compatibility is desired) to be included.

DR


More information about the arch-general mailing list