Attention, all maintainers of third-party debhelper commands. Sometime
in the next week or two, I plan to put dehelper 7.1.x in unstable. This
version, currently in experimental, has a significant change to its
command option parser, and a few[1] third-party commands need changes to
keep all the options they use working.
From the changelog:
* Move many command-specific options to only be accepted by the command
that uses them. Affected options are:
-x, -r, -R, -l, -L, -m,
--include-conffiles, --no-restart-on-upgrade, --no-start,
--restart-after-upgrade, --init-script, --filename, --flavor, --autodest,
--libpackage, --add-udeb, --dpkg-shlibdeps-params,
--dpkg-gencontrol-params, --update-rcd-params, --major, --remove-d,
--dirs-only, --keep-debug, --version-info, --list-missing, --fail-missing,
--language, --until, --after, --before, --remaining, --with
* If any third-party debhelper commands use any of the above options,
they will be broken, and need to be changed to pass options to init().
The values inside the hash are the same as would be passed
to Getopt::Long. -m and -l require a string parameter, thus
the "=s". --version-info can optionally take a string parameter,
thus the ":s".
The $dh{R_FLAG}, $dh{M_PARAMS} etc variables are the ones
historically set by debhelper when these options are set.
With that simple change made, dh_makeclilibs will be compatable with
both the old and new versions of debhelper. So no versioned
dependency is needed.
Appendix:
Here is an excerpt of the getopt options from stable's debhelper,
showing how it handled each of the removed options.
"x" => $dh{INCLUDE_CONFFILES}, # is -x for some unknown historical reason..
"include-conffiles" => $dh{INCLUDE_CONFFILES},
[1] I had to read through about 1/3 of all the existing third-party
commands I could find in order to find the one example above
of a command that uses these options.
This option disappears, but does -V stays around ?
(The dh_pysupport documentation only talks about -V and I don’t think
anyone is using --version-info.)
--
.'`.
: :' : We are debian.org. Lower your prices, surrender your code.
`. `' We will add your hardware and software distinctiveness to
`- our own. Resistance is futile.