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

Re: [rfc] Policy: -dev packages should touch all .h in postinst



On Monday 18 December 2000 08:47, Karl M. Hegbloom wrote:
>  I would like to discuss implementing Debian Policy with a rule saying
>  that -dev packages must `touch' all installed *.h and *.m4 (etc)
>  files in the postinst, so that any source builds that generate
>  auto-dependancies will see the new -dev headers as fresh, and thus
>  regenerate their .deps/* ?
>
>  I believe that currently, since there is no policy regarding this,
>  that it's possible that a new version (relative to what was installed
>  previously) of a -dev might go in, but the timestamps might be older
>  than a source directory you're working in, and so your build
>  environment will believe the .dep/* files are up to date still.
>
>  I've a couple of questions now... should installed files reflect the
>  build time or the install time?  Does `dpkg' and our packaging setups
>  preserve timestamps?  Shouldn't it do that if it does not, EXCEPT in
>  the case of files that are likely to be found in Makefile
>  prerequisites of user (and dpkg-source) code?

This is wrong.  If you install new headers then the only way to have them all 
be recognised is to do a new "make depend".  Otherwise a new version of foo.h 
might include bar.h when the previous one didn't.  Then your dependencies 
will be wrong and touching bar.h when you install a new version of it won't 
result in recompilation.

Also the system header files greatly outnumber the application header files 
for most projects.  Checking them all will significantly slow down make.  
It's better to just ignore them and do a "make clean" when you make any 
significant upgrade to the system.

This idea is just wrong.  I will vote against any such proposal.  Do this in 
your own packages if you like, I'm not doing it in mine.

-- 
http://www.coker.com.au/bonnie++/     Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/       Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/     My home page



Reply to: