On Thu, Jun 2, 2011 at 6:16 PM, Zygmunt Krynicki zygmunt.krynicki@canonical.com wrote:
Hello everyone.
I wrote dh_splitpackage, a helper script that unambiguously splits the files of a binary package into multiple packages based on a configuration file.
The configuration file may point the primary package (the one that gets leftover files by default) as well as any number of additional packages with any number of inclusion and exclusion patterns.
The new script can be called instead of dh_install (assuming all the files you are interested in are already in debian/tmp/) or afterwards.
The biggest advantage compared to existing tools is clear and not-that-error-prone classification of files to packages. Any file that would be classified to more than one package (hitting patterns in both files) is clearly reported and prevents the package from building properly. In addition running the script displays each file from debian/tmp and the package it was classified to.
Using this script could greatly simplify many packages that currently rely on numerous *.install files and custom dh_install overrides in debian/rules.
You can find the code at lp:~zkrynicki/+junk/dh_splitpackage (tag: release-0.1) The source tree also includes debian packaging that makes use of the new script.
Ubuntu has gotten quite a bit of flack from the debhelper maintainer for making independent changes in the past ([1], [2]), and doing so again seems like a bad plan.
dh_install already has a --fail-missing option. It seems that this would cover half of your use case, though I gather there are some outstanding issues with it ([3]). CDBS also has a list-missing target, though it doesn't seem that it can be made to fail the build, and also doesn't cover your overlapping files issue.
It seems like it would be much more productive to work with Joey to try and fix dh_install --fail-missing, and possibly add a new --fail-on-overlap option or something. But in any case, I think that adding a new debhelper script without consulting Joey at all will hurt Ubuntu's image in Debian's eyes, and that's a bad thing.
- Evan
[1] http://kitenet.net/~joey/blog/entry/on_forking_debhelper/ [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=369755 [3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453693