Re: systemd dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 26, 2014 at 07:15:46PM +0100, Peter Robinson wrote:
> >> > What's the rationale here? I mean, we have so many dependencies, if
> >> > you want to minimize them, you have a loooong way to go...
> >>
> >> When I bootstrapped Fedora for ARM way back when, I had to deal with
> >> these dependencies.  A lot.  Finding a minimal set of RPMs to
> >
> > Well, Fedora is not a distribution that cares about whether it is easily
> > bootstrappable. It never was a goal to be one. If you want to make it
> > one, then that's fine, but that'd be something to make an official goal
> > first, by going through FESCO...
> >
> > If you want a distro that is bootstrappable, the way that Gentoo is, or
> > that Debian tries to be then that's OK. I personally don't think it is
> > worth the effort though, as we don't have to bootstrap new archs every
> > other week...
> 
> I believe that's something that the Base working group is actually
> actively trying to achieve, Phil or one of the members might be able
> to comment further on their exact plans for this.

I think splitting out a subpackage (let's call it systemd-filesystem
for now) to reduce the dependencies would be useful. But it would have
to be done properly, in a way that behaviour is preserved,
i.e. that macros provided by /usr/lib/rpm/macros.d/macros.systemd
continue to do something sensible. Currently the dependency ensures
that when the system is bootstrapped, those packages are installed
after systemd. The macros would have to be modified to give an identical
result if systemd is installed later.

Looking at the list, those macros call udevadm, journalctl,
systemd-tmpfiles, systemd-sysusers, systemd-sysctl, systemd-binfmt. If
systemd was not installed the calls to systemctl stop/daemon-reload/try-restart
and udevadm control should become noops. Calls to systemd-binfmt, systemd-sysctl,
systemd-tmpfiles --create can be noops too,
with the understanding that the functionality will not be available
until systemd is installed and those services (systemd-tmpfiles.service,
systemd-binfmt.service, systemd-sysctl.service) are started.
Calls to systemctl preset/disable and udevadm hwdb --update,
systemd-sysusers, journalctl --update-catalog would have to tweaked so
that they run without systemd. They already either do that or support
that functionality with some switches, so it would be possible to
tweak the macros to do that. If systemd was installed later, it
would pick up the updated configuration from the filesystem.

I'm rejecting the idea of reimplementing the functionality. I think it
only makes sense is possible with existing binaries.

With this assumption, it seems feasible to split out
"systemd-filesystem", but it would have to contain systemctl,
journalctl, udevadm, and systemd-sysusers binaries. It's hard to say
exactly what dependencies would be shared with the main package, but
probably almost all of the libraries, including cryptographic and
compression and selinux... So I think that the savings would be
modest. Probably the most important: dbus, pam, seccomp, audit.

Also, this would not help the problem with arch bootstrapping, since
everything would still be built from one source package.

I'm not sure if people would still find that useful.

Zbyszek
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux