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

Olav Vitters olav at vitters.nl
Wed Jun 20 04:46:40 PDT 2012


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).

> > 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.

-- 
Regards,
Olav


More information about the systemd-devel mailing list