> Ok, just to confirm [...] ?
Precisely.
The following tools only apply -X in case 1. This is useful.
dh_autoreconf dh_fixperms dh_installchangelogs dh_md5sums dh_prep
dh_shlibdeps dh_strip dh_dwz dh_makeshlibs dh_link
The following tools apply -X to both case 1 and 2, but 2 is never used
in practice.I suggest dropping support for case 2.
dh_clean\s.*(?:-X|--exclude)) shows 138 results.
All of them excluding paths matching the default pattern, with no or
unrelated command line arguments.
The implementation applies -X to config file, but not to command
line arguments, and no none seems to have noticed.
Job already half done :-).
dh_compress seems similar, though I have not checked each one of the
1536 results.
Only 3 tools frequently use --exclude to refine command-line or
config-file patterns.
dh_install (and its old variant dh_movefiles, 1 result)
dh_installdocs
dh_installexamples
> 2) The case you described above where people want "all the files in
> foo except bar".
After reading many examples, I realize how this can be convenient
("dh_installexamples -X.cvsignore").
> 1) Ignore files/paths from the config file that are conditionally
> built. This is usually observed via the following pattern:
> [...]
In my opinion, such a construct is an abuse of -X. It is better to
* remove foo from debian/pkg.install (tell the truth)
* add foo to debian/not-installed (tell the truth)
* use a positive selection: (each negation hinders readability)
PKG_INSTALL :=
ifeq ...
PKG_INSTALL += foo
endif
[...]
dh_install --package=pkg $(PKG_INSTALL)
dh_install --remaining-packages
The difference is cosmetic for the maintainer, but not in favor of -X.
> [executable config files and dh-exec]
If dh-exec finds a new maintainer, it may be the best option to
implement exclusions outside debhelper (#498067 has a pending patch).
> If you can convince the remaining consumers of --ignore to migrate
> away, then I am happy to drop the option when we release debhelper 12.
This seems possible:
* gutenprint: reported as #895659.
* ocaml: patches #877267 as a side effect.
* lintian: in t/tests/debhelper-dh-exec/
https://salsa.debian.org/lintian/lintian/commit/7ed7a25acf523d2a820785841be96a01814c5f2f
If I understand well, it should be sufficient to
* rename debian/debian/docs to debian/debian/mime.
* replace lines 6-9 of debian/debian/rules with "override_dh_installmime:"
* replace "debian/docs" with "debian/mime" at end of line 8 in the tags file.
As the author of the commit, you should be able to answer :-)