On Fri, Dec 18, 2015 at 01:24:27AM +0100, Haïkel wrote:
2015-12-18 0:58 GMT+01:00 Jason L Tibbitts III tibbs@math.uh.edu:
> "RWMJ" == Richard W M Jones rjones@redhat.com writes:
RWMJ> Couldn't it use inotify (or whatever we're using these days to RWMJ> detect filesystem changes)? So when you drop in the unit file, RWMJ> systemd notices and reloads.
This is answered below (systemd is not running), but let me add one more reason why inotify wouldn't work: you cannot blindly reload units, because sometimes a set of units have dependencies between them, so you need to first install the full set, and then reload.
Well, the point is that systemd isn't running or even installed when the daemons are installed. The question is what happens when systemd comes up later. (And yes, systemd could use rpm file triggers so that we can drop the scriptlets entirely. That would be great, but it's an entirely separate discussion.)
No, we can't. Using file triggers allows us to reduce the rpm scriptlets in packages a lot, but not entirely. Only the package scriptlets know whether some service is installed or upgraded and have enough information to properly support presets and restarts.
I know this thread has gone in a completely different direction, but the original message was about modifying or removing the dependencies. Can we drop dependencies on systemd and still have a system that works as expected if systemd gets installed later? If so, then dropping the dependency doesn't actually hurt anything since the kernel will still pull it in, and thus the other arguments about this become kind of pointless.
We could waste time bickering but Jason made a point. kernel-core requires systemd, so all running instances of Fedora (except for containers) have systemd installed, and since our systemd scriptlets are non failing, we could safely drop the requirements in other packages.
You seem to be missing normal containers: in those there is not kernel but systemd is and pretty much all services are running.
Zbyszek