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
debian-dpkg@lists.debian.org.
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
details.
> 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.
Cheers,
--
Raphaël Hertzog
Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/
Reply to: