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