Re: Bug#677474: Substvars for Build-Depends in the .dsc file
On Thu, Jun 14, 2012 at 11:04:00AM +0200, Joachim Breitner wrote:
> Hi Bernd,
> Am Donnerstag, den 14.06.2012, 10:32 +0200 schrieb Bernd Zeimetz:
> > > I would like to see more flexibility in dpkg-source as to where the
> > > effective build depends come from. My use case are (as you might guess)
> > > Haskell packages. If you look at
> > > http://ftp.de.debian.org/debian/pool/main/h/haskell-yesod/haskell-yesod_184.108.40.206-1.dsc
> > > you see it has a very long list of build dependencies. If you’d compare
> > > that to
> > > http://hackage.haskell.org/packages/archive/yesod/220.127.116.11/yesod.cabal
> > > you’d see that the process of creating the build dependencies is a
> > > mostly mechanical process and doing that manually is a waste of human
> > > developer time and a source for mistakes (which lead to FTBFSes and
> > > hence more waste in buildd and buildd admin time).
> > Other peopel solve this by having a debian/control.in file and having
> > - a debian/control target in debian/rules
> > - having the clean target depend on debian/control.
> > I don't think that your case is special enough to add yet an extra
> > option to dpkg-source. I have two packages where I'm changing much more
> > than the build-dependencies automatically, for example.
> I am aware of approaches using debian/control.in, but I was under the
> impression that during the build, debian/control must not be changed and
> hence this always requires manual interaction.
Yes, and the reason for this is that we don't want accidental
build-depends changes by builds on buildd hosts. Your proposed change
would violate that.
It's fine to use the control.in approach provided it doesn't get done in
an automatic build. Just make sure you have a separate debian/rules
target which regenerates debian/control when called manually and
explicitly, and you should be fine.
Then building your package's maintainer upload just involves
"debian/rules <build-control-target>" followed by a dpkg-buildpackage as
The volume of a pizza of thickness a and radius z can be described by
the following formula:
pi zz a