Re: the 'build' debian/rules target
On Fri, Jun 13, 2003 at 08:57:21AM +0100, Colin Watson wrote:
> Also, I find 'debian/rules build' a useful finger macro for when I just
> want to debug something small in a package and don't want to build the
> actual binary package
That's great for a small package which can actually run in place, but
many packages need, e.g., to find support files at their proper
hard-coded locations or they won't work.
> I would be very disappointed if this no longer worked consistently.
I hate to break it to you, but this already doesn't work consistently. :)
> > My problem with it is precisely what policy says:
> > > For some packages, notably ones where the same source tree is
> > > compiled in different ways to produce two binary packages, the
> > > `build' target does not make much sense.
> This confuses me. The build target makes perfect sense here; it just
> builds two temporary trees.
But build is generally used as the equivalent of make, not make
install. But to create two trees, you need to do a make install
(twice). And make install may require root/fakeroot, while the build
target is not supposed to need root. So this really doesn't work.
My package (ted, in case you're curious) needs to build twice to
produce two different binaries, *and* has binaries that won't run
unless they find their support files in the proper hard-coded
And no, VPATH won't help in this case. VPATH doesn't affect (among
other things) "cd" statements in the Makefile(s).
I object to a proposal that will make my package buggy just to gain
benefits that still won't exist for my package even if I *do* "fix"
it. I even more strongly object to a proposal that will force me to
break another, pre-existing rule (build must not require root) in
order to comply. That will leave me in a damned-if-I-do,
damned-if-I-don't situation. Never a comfortable place to be. :)
I'm willing to listen to counter-proposals that address my issues, but
otherwise, this is a firm promise to formally object to any proposal
to make the build target actually do something.
Now I am sympathetic to the goals that people have stated here (and I
too have found "debian/rules build" handy for debugging). So I think
it would be good to have something in our best practices document
like: "If at all possible, the build target should create something
that can easily be debugged." But I think trying to make it a
*requirement* for all packages is both pointless and
counterproductive. (And will make my head explode.)
Chris Waters | Pneumonoultra- osis is too long
firstname.lastname@example.org | microscopicsilico- to fit into a single
or email@example.com | volcaniconi- standalone haiku