Vincent Renardias writes:
-> The way we build packages now is broken IMHO:
Speak for yourself Kemosabe :)
-> We have the debian/rules Makefile invoque the 'upstream' Makefile, and
-> then move around produced files into debian/tmp/... by adding extra shell
-> command into debian/rules.
-> IMHO, we RightThing(tm) to do is to invoque:
-> './configure --prefix=/usr && make all &&
make install prefix=`pwd`/debian/tmp/usr'
-> and concentrate the packaging work on other things than 'mv' and 'cp'
-> files around (Note that if the command line above does its work
-> correctly, no 'debstd' or other program is required).
There's no reason not to do this for packages that use Autoconf. X
packages with Imakefiles are almost as easy - there's a certain set of
defines to override and it will install to the tmp directories. Many
packages do the right thing here, and if they don't it's the fault of
the maintainer, not the packaging system. geranted, the configure,
make and install commands are in different rules, but that way it's
easier to split up root permissions into the places they're really
needed. The problem is more one of education, IMHO, rather than the
system itself. Personally, I use a template which has lines for how
to configure/install packages that use Imakefiles or configure, or
generic Makefiles. I just uncomment the lines I need and tweak a few
things. I also have lines in there to compress docs and manpages,
etc. Perhaps what we need is a Reference version of a similar
template for everyone to refer to (Especially new maintainers).
There's also the issue of Makefiles that are not so nice. Since policy
is to change the upstream source bits as little as possible, it's
probably wise to fix as much as possible with the debian/rules
file. IMHO, anyways. It makes it easier to see what's been done when
a new upstream version comes along.
-> Writing another 'debstd' tool (however good it is) still is a poor
-> way to 'patch' a lazy upstream Makefile. I do think the solution is to
-> have the upstream Makefile do its job properly. Could we have a 'debstd'
-> program that does this instead?
I don't think any automatic program will fulfill everyone's
wishes. We've seen it here. debstd keeps growing and growing, because
of all the exceptions to the rules (HTML docs should be browsable,
certain libs shouldn't get stripped, etc, etc..). A preferable
situation would be to have a template file which has most of the
standard things to do in a rules file included and commented out, with
a comment telling when each line is appropriate.
Let me do a little clean-up on my template and send it in here, so you
can see what I mean.
Larry Daffner | Linux: Unleash the workstation in your PC!
firstname.lastname@example.org / http://web2.airmail.net/vizzie/
C makes it easy to shoot yourself in the foot. C++ makes it harder, but
when you do, it blows away your whole leg. -- Bjarne Stroustrup on C++
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com