[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#432564: Allow debian/rules to not be a makefile



On Tue, 10 Jul 2007 13:42:03 -0700, Don Armstrong <don@debian.org> said: 

> Regardless, even requiring debian/rules to be a makefile doesn't
> actually do much, because someone could do something like:

> .DEFAULT:
> 	  debian/irule $@

> or whatever.

        I actually see this as a argument for not changing the rule,
 since using a Makefile does not in any way add restrictions for the
 developer.  debian/rules has been a makefile forever, allowing it to be
 anything else doesn't buy anything practical, just a little geek value
 for useless packages like shoop.

        Saying that the ./debian/rules files is a Makefile is not
 stating what language that rules have to be written in, since the
 actual rules can be in any language whatsoever, and indeed, debhelper
 is an example of how tools can still intercede  in the build process,
 and hide some of the complexities from the user (cf. the one line cdbs
 rules makefile). But stating it is a makefile adds in all kinds of
 affiliated baggage that the developer can then depend on; for example,
 the semantics of:
   "make -f ./debian/rules -j0 clean build binary" is another example of 
 are clear.

 There's nothing you can do with a non-makefile executable that you
 can't just as easily do by invoking that executable from the makefile,
 and this other executable will never be able to emulate all of make's
 behaviour.

        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. make -n -p -d also allows a
 level of debugging detail that is  not readily available otherwise.


        If there is a technical reason (apart from, ooh, I hate make)
 for allowing ./debian/rules not to be a makefile, I'll be happy to
 listen. What exactly is being prevented from having ./debian/rules a
 Makefile? 

        manoj
-- 
You recoil from the crude; you tend naturally toward the exquisite.
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: