[systemd-devel] setting up to allow separate udev and systemd builds

Michael Olbrich m.olbrich at pengutronix.de
Wed Jun 20 05:34:52 PDT 2012


On Wed, Jun 20, 2012 at 01:46:40PM +0200, Olav Vitters wrote:
> On Wed, Jun 20, 2012 at 01:32:52PM +0200, Michael Olbrich wrote:
> > On Wed, Jun 20, 2012 at 09:38:22AM +0200, Olav Vitters wrote:
> > > On Tue, Jun 19, 2012 at 06:44:25PM +0200, Michael Olbrich wrote:
> > > > This is not about the files from systemd. It's about the dependencies.
> > > > Every user of a source based distro, that only wants systemd now has to
> > > > first install dbus then udev, and then remove dbus again.
> > > 
> > > Shouldn't the build system do this automatically?
> > 
> > Why should it? The equivalent for a normal distro would be to require e.g.
> > perl in udev for a post-install script only. And then you expect the
> > package manager to understand this and install perl before installing udev
> > and remove it again afterwards.
> 
> Not really. There are build time dependencies and runtime dependencies.
> Build time stuff is only of a concern of building the software. Has no
> relevance to post-install scripts (talking about post-install rpm
> scripts, not sure if you mean the same).

Yes really. This is about the end user of the distro. Which means comparing
installing packages.

> > > I can understand it is inconvenient and makes things slower, but if
> > > you're building from source anyway, a few build time dependencies
> > > is ok?
> > 
> > While I try to keep the dependencies at a minimum, this is not the real
> > issue.
> > I don't think you understand the embedded use-case. Right now what we have
> > is basically a set of rules (how to build things) and some configuration
> > (what to build). And with one command we get a root filesystem image.
> > The configuration is more or less a list of packages to build. Now I need
> > two lists, what to build and what to include in the final image. And while
> > it is possible to implement this, it's also a lot more complex than fixing
> > the real issue for udev.
> 
> This is part of the build systems  for the distributions that I know
> (rpm based; opensuse, fedora, rhel, mageia, mandriva). Forgot how apt
> does it, assume it has the same functionality.
> 
> What I mean that you have Requires: and BuildRequires:. What you need
> for building is not what dependencies are needed once it has been built.
> 
> It sometimes happens that to apply a patch you need additional
> BuildRequires to e.g. regenerate 'configure' and so on. That won't
> result in any extra runtime dependencies.

We all know this works very well with the big binary distros. This whole
thread is about source distros. Which means every user has to support all
build time requirements. Which means they are all part of the final system
of _every_ user unless we add extra complexity to keep unwanted things out.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


More information about the systemd-devel mailing list