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

Re: build-depends-indep and arch: all source packages



Op wo 03-09-2003, om 18:27 schreef Joey Hess:
[...]
> Therefore it seemed to me that I should change the dozen or so arch all
> pacages I maintain to put debhelper in the build-depends (and generally
> everything in the build-depends for most of them since the split is
> useless unless the package builds both arch all and any and has a
> properly structured debian/rules -- only one of my packages bothers with
> that). When I did, linda complained:
> 
> W: liblingua-en-words2nums-perl; Package has Build-Depends, but builds
> no arch-dependant packages.
> 
> Is linda behind the times, or am I trying to follow policy too closely?
> Is this build-depends-indep split really of any value, or is it just
> complicating our lives for no good reason?

As the one who initiated this change, I think I should reply to this
mail.

First and foremost: build-depends and build-depends-indep have been
created as a tool to make autobuilding packages easier. As with many
things, it happened to be useful for other things as well. That was not
the intention, but of course there's nothing wrong with it -- as long as
it still supports that for which it was created in the first place.

When build-depends were first created, people started adding
build-depends for arch-independent packages in multi-binary source
packages, resulting in waste of resources by autobuilders installing
packages they won't need to build the package. So, build-depends-indep
were created, so that those build-dependencies that aren't needed to
autobuild a arch-dependent package can be put in there, and autobuilders
don't waste time and diskspace installing packages they don't need.

This has led to the confusion that people thought build-depends were
intended for arch-dependent packages *only*. That isn't true.
Build-depends should contain build-dependencies that are common to
arch-independent and arch-dependent packages, as well as
build-dependencies that are needed for arch-dependent packages only. In
the current implementation, build-depends should be thought of as the
combination of Build-Depends and a hypothetical Build-Depends-Arch. In
this case, since there is no 'clean-arch' or 'clean-indep' package, the
clean target is common by definition, and thus any build-dependencies
required for the clean target should be put in the build-depends field.

Therefore, if linda suggests to put all build-dependencies of arch-indep
only source packages into build-depends-indep, it is not just behind
times; it is also suggesting something which is not following the spirit
of what build-depends/build-depends-indep was created for; nor has it
ever been -- although I must admit that my own arch-indep only package
incorrectly puts everything in build-depends-indep, too.

As I said in the discussion preceding this modification to policy, I
agree that the current implementation of build-dependencies and isn't
perfect. It suits our purpose -- allowing packages to be autobuilt,
while allowing users to easily build their own packages -- but could
certainly be improved so that it would support every possible and
impossible way to build a package. I don't think we need that, though;
YMMV.

-- 
Wouter Verhelst
Debian GNU/Linux -- http://www.debian.org
Nederlandstalige Linux-documentatie -- http://nl.linux.org
"Stop breathing down my neck." "My breathing is merely a simulation."
"So is my neck, stop it anyway!"
  -- Voyager's EMH versus the Prometheus' EMH, stardate 51462.

Attachment: signature.asc
Description: Dit berichtdeel is digitaal ondertekend


Reply to: