On Wed, Jun 20, 2012 at 02:34:52PM +0200, Michael Olbrich wrote:
> 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:
> > > > 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.

It is only needed during the build, so don't see what you're getting at.
Install when needed, remove after.

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

I don't see why it should. Just install the build time dependencies
automatically and remove afterwards. If the build system of a source
based distribution doesn't know the difference between these, then seems
the build system needs to be taught the difference.

IMO, this seems to be just a difference in perception. IMO there is a
difference between build time and runtime dependencies. If you think
that there is no difference (or should be no difference), then every
extra build time dependency causes "pollution" (cause the build stuff is
kept on machines instead of removed after building).

I don't see why there is a difference between building at a build
machine or building at users machine should make any difference. On both
types, you don't want to keep those build dependencies on the machine.

I can see you of course need to build all the various build time
dependencies, so if there a lot it'll result in wasted CPU cycles... but
if you want efficiency on that it is easier to have something build
everything for you.

In any case, if there is no knowledge of build vs runtime dependencies,
a machine will already have loads of packages purely for making stuff
build.

-- 
Regards,
Olav
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to