debhelper: Making mh_clean redundant to facilitate bootstrapping
Niels Thykier
niels at thykier.net
Sun Mar 21 11:22:35 GMT 2021
clone 982635 -1
clone 982635 -2
clone 982635 -3
clone 982635 -4
retitle -1 libcommons-lang-java: Replace d/.mh_clean with debian/clean
retitle -2 maven-debian-helper: Replace d/.mh_clean with debian/clean
retitle -3 maven-repo-helper: mh_clean can be made redundant
retitle -4 maven-repo-helper: Provide dh-sequence-maven-repo-helper
block -3 by -2
block -3 by -1
reassign -1 libcommons-lang-java
reassign -2 maven-debian-helper
reassign -3 maven-repo-helper
reassign -4 maven-repo-helper
thanks
Hi Java maintainers,
To facilitate bootstrapping, it would be great if the maven-repo-helper
debhelper add-on could support being a "conditional add-on". This would
enable packages to move their dependency on maven repo helper to
Build-Depends-Indep.
For this to be possible, we need to do two things:
1) The maven-repo-helper must provide dh-sequence-maven-repo-helper,
which packages should then use in their Build-Depends(-Indep).
- This would also enable them to remove the
"--with maven-repo-helper" boilerlate from their debian/rules.
2) The maven-repo-helper must *not* change the "clean" target, which
it currently does due to "mh_clean".
The first item can be done already "now" (mind the freeze) but the
second item will require some changes to 3 packages, which I will expand
on here.
# Usage of mh_clean
Using codesearch, I have narrowed the use of mh_clean down into 3 cases
that we need to fix (I cloned this bug for each of these cases).
1) libcommons-lang-java uses debian/.mh_clean to register a generated
file it wants cleaned. This use can trivially be replaced by adding
the filename to debian/clean and removing the use debian/.mh_clean.
2) maven-debian-helper has a similar history except it creates a
directory beneath debian/.mh to generate some manpages. Here I
would change the directory (e.g. "generated-manpages") and add
the directory to debian/clean (with a trailing slash).
3) maven-repo-helper uses debian/.mh internally between its mh_*
commands. If maven-repo-helper instead uses debian/.debhelper/_mh
(or debian/.debhelper/_maven-repo-helper) then debhelper will
handle the clean up automatically.
Once all three items have been resolved, maven-repo-helper no longer
needs mh_clean AFAICT. Combined with the new Provides, then Helmut will
be able to move some uses of maven-repo-helper to Build-Depends-Indep
and reduce the number of packages involved in bootstrapping Debian.
Thanks,
~Niels
More information about the pkg-java-maintainers
mailing list