Re: Package which uses jam (instead make)
On Sat, 18 Oct 2003 15:02:10 +0200, Josip Rodin <firstname.lastname@example.org> said:
yeah well. That is not all the dfiscussion there was on it. In
March 2001, we had more than those comments on it:
If people really think that calling scripts from Makefiles is
hard, should they really be maintaining Debian packages?
So far, the arguments I have heard for removing this
restrictions have been
a) This new mechanism is so cool
b) Makefiles can be really hard to write!!
c) Why not?
I guess my objection to this reduction of standardization is
that there should be some inertia in policy, and that we need to see
some stronger technical reasons to break the following practices:
i) make -n -p -f ./debian/rules
ii) in ./makefile: include ./debian/rules
change targets and or rules, and spit out some things set in
./debian/rules (I actually did this for debugging a rules file)
Yes, pretty arcane; but I contend that this argument is no
weaker than any I have seen in support of this proposal.
Wichert> I'll make this a proposal then:
Wichert> As such I propose that the statement that debian/rules has be to a
Wichert> makefile be removed.
I think I must object to this, on the grounds that we are now
changing an published interface to the package building process.
Indeed, I have used makefiles that include ./debian/rules and derive
targets and tweak the make rules in the debian/rules process
(security related experiments), and I would strongly object to the
mechanisms being yanked out from under me.
I still think that what we have now is a long established
interface to the build system; saying that the ./debian/rules file is
a Makefile is a short hand for describing an extended version of the
interface defined in Section 6: Software development Utilities Option
of ISO/IEC 9945-2, ANSI/IEEE Std 1003.2, "Infornation technology -
Portable Operating System Interface (POSIX) -- Part 2: Sheel and
Utilities". Specifically, section 6.2 make -- Maintain, update, and
regenrate groups of programs. The extentions include GNU Make
extrenstions, and requirements for certain targets to exist.
A tacit part of the interface are how debugging works, how
paths can be added to the build environment, how variables are set up
Pretending that this is not an interface that we have now
depended upon for years is hiding from the facts
"What is wanted is not the will to believe, but the will to find out,
which is the exact opposite." Bertrand Russell, _Sceptical_Essays_,
Manoj Srivastava <email@example.com> <http://www.debian.org/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C