Raphael Hertzog <hert...@debian.org> writes: > Hi, > > On Wed, 07 Mar 2012, Thomas Goirand wrote: >> I've just seen an (ugly) instance of many quilt patches in >> debian/patches that are patching things inside the debian/ folder. I am >> wondering if it would be wise to forbid this entirely, and write about >> it in the policy (maybe it is there already?). There's no sane reason >> why this would happen: our package_<version>.debian.tar.gz should come >> patched already, and shouldn't need any quilt patch. >> >> Thoughts anyone? Is there reasons why this would be a valid way to do >> things? > > It's already caught by lintian as an error: > http://lintian.debian.org/tags/patch-modifying-debian-files.html > > In any case it's definitely not a good idea and it breaks when you use 3.0 > (quilt).
Maybe this could be fixed so that it doesn't break with the default that it is only allowed in debian/patches/series.vendor. No source in Debian should need to patch files in debian/ but derivatives might want/need to. > I don't know of any valid usage of such a feature. Even when derivatives > want different packaging rules, we have a proper interface for this > and it's dpkg-vendor. > > Cheers, Some problems with that: 1) It assumes the patch is already accepted by debian and isn't just present in the derivative. Maintaining it as patch in the derivative until it is accepted by Debian (if at all) has advantages. 2) Not everything can be done through vendor stuff, not nicely, or simply not yet. I'm not sure but can you have debian/foobar.install.vendor? How many packages with .in files support .in.vendor or .vendor.in files? 3) Changes are not incremental With a patch I can alter the contents of debians files. Changes Debian makes to the file will automatically be merged into the derivative (or the patch fails to apply but then you fix it). Replacing generic files with vendor specific copies does not do this and need to be checked and adjusted on every change. Maybe most problematic there is debian/patches/series.vendor. The series files format doesn't have an include directive. So series.vendor can not include the generic series file. And for example when Debian adds a security patch in debian/patches/series then derivatives with a debian/patches/servies.vendor file will not automatically get them. It would be much nicer if one could put the following in series.vendor: #include series patch-for-derivative MfG Goswin -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/871up4vg4f.fsf@frosties.localnet