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