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

Re: Proposal: debian/include

Hi Morten,

you mail has not much to do on debian-policy. It rather concerns dpkg and
dpkg-dev and as such I'm taking the discussion to

On Fri, 05 Sep 2008, Morten Kjeldgaard wrote:
> In the olden days (OK, I am guessing here) people used to hack away at  
> upstream's source directory, trusting that all changes were recorded in 
> the *.diff.gz file. The trend is now to have only debian/ present in 
> *.diff.gz, and with all the packager's modifcations in debian/patches/,  
> controlled by dpatch, quilt or some other system.
> I propose that this trend is made more explicit, 

The trend will already be made more explicit when we swicth to the new
source package format "3.0 (quilt)". See dpkg-source's manual page for more

> by adding to policy an optional file, debian/include, that explicitly
> lists what files/ directories outside of debian/ should be included in
> *.diff.gz. The  format of that file should allow for comments explaining
> why those  particular parts are needed in the diff.gz.

This can already be done at run-time with the -i option of
dpkg-source. In the future, I'll probably give the possibility to
provide default command-line options in the source package within the file
debian/source/build-options but I haven't implemented this yet.

> Why is this needed?  Personally, I have met several situations where I  
> -- intentionally or not -- have dropped temporary files, scripts, notes 
> to myself, copies of source files, etc. in source directories which i 
> later to my dismay discover end up in the .diff.gz file.
> Also, if you for some reason need to re-run the GNU autotools, the whole 
> directory tree will contain Makefile.in's aclocal.m4 or other files 
> generated by that system, that you meticuously have to remove in the 
> clean target of debian/rules in order for the source package to build 
> properly and cleanly.
> The existence of an empty debian/include file -- or perhaps the absense 
> of the file -- would signal to the build system to ignore everything 
> outside of debian/ for inclusion in the *.diff.gz. If, for some reason, 
> you really want changes to the source tree, just name those files or 
> directories in debian/include.

With the new format, if you have local changes, they will be integrated in the
quilt serie as a new patch and the patch will be automatically named
by dpkg-source. lintian will probably (one day) warn about such patches
because when you modify the upstream sources, you must have a good reason
to do it and thus you should be able to give a proper name to the patch
and describe it instead of just letting dpkg-source record the change.

Feel free to give a try to the new format and see if there are
other things that can be improved to resolve your concerns.

Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :

Reply to: