| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
joeyh: debhelper has an undocumented variable with INTERNAL in its name.
People keep trying to use it. Why?
liw: debhelper is magic. magic is power derived from secrets. secrets are
desireable. solution: document it. :)
|
| |
|
| |
|
|
|
|
| |
"-Bpython-support". Closes: #570039
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Add -O option, which can be used to pass options to commands, ignoring
options that they do not support.
* dh: Use -O to pass user-specified options to the commands it runs.
This solves the problem with passing "-Bbuild" to dh, where commands
that do not support -B would see a bogus -u option. Closes: #541773
(It also ensures that the commands dh prints out can really be run.)
|
|
|
|
|
|
|
|
|
| |
dh used DH_OVERRIDE_UNKNOWN_OPTIONS, which was too broad as it affected
commands run via override targets and caused there to be no warning about
unknown options.
Now unknown options are only ignored when parsing DH_INTERNAL_OPTIONS and
dh's own options.
|
| |
|
| |
|
|
|
|
|
| |
1) Detect if target is noop when parsing debian/rules.
2) If override target is noop, do not call make for it.
|
|
|
|
| |
several commands. Closes: #560600
|
| |
|
| |
|
|
|
|
|
| |
I renamed --parallel to --max-parallel to clarify that it doesn't enable
parallelism, but only controls how much of it is allowed.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Now clean_jobserver_makeflags will only remove --jobserver settings
from MAKEFLAGS. This is simpler and easier to understand than
the old behavior, which, if there was no --jobserver, removed
all -j and --jobs, while leaving those when removing --jobserver.
This relies on -j options passed to make overriding
-j settings in MAKEFLAGS. So we don't need to clean those out,
we can just override them.
|
|
|
|
|
|
|
|
|
|
|
| |
I disliked the complexity of the return values, and the boilerplate
code that followed the two calls to the function, to clean/unset
MAKEFLAGS. To solve both, I refactored it into two functions, one simply
tests to see if a jobserver is specified but unavailable, while the other
cleans/unsets MAKEFLAGS.
This loses the ability to pull the jobs-N count out of MAKEFLAGS,
but that was not currently used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Add routine to Dh_Lib (used by dh and makefile.pm) which is capable of
detecting make jobserver and job control options from the MAKEFLAGS environment
variable. It also generates and returns a clean up MAKEFLAGS from these
options.
2) Add --parallel option to build system framework which allows source packages
to specify that they support parallel building. Optional value for this option is
the number of maximum parallel process to allow. However, the actual number of
parallel process (if any) for the specific build is determined from
DEB_BUILD_OPTIONS env variable as specified by Debian Policy.
By default (no --parallel option) parallel is neither enabled nor disabled
(depends on the external environment). However, dh may pass --parallel to
dh_auto_* implicitly in case 4) described below.
3) Add parallel support for makefile buildsystem. This implementation
forcefully starts a new make job server (or disables parallel) for the number
of process requested. If --parallel was not passed to the build system at all,
the build system will only clean up MAKEFLAGS from stale jobserver options to
avoid pointless make warnings.
4) If dh detects that it is being run by dpkg-buildpackage -jX and it is NOT
run with "+" prefix from debian/rules (i.e. jobserver is not reachable), it
enables --parallel implicitly. This closes: #532805.
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
|
|
| |
run once due to logging.)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I hope that it will not be needed; indeed I doubt that
remove_command_options will be used much, because sequence addons would
need to try to do conflicting things to need it. And the interface makes it
hard for such conflicting sequence addons to work around the other, since
addons can be loaded in either order. So let's not encourage them too
much, and if there's a use case later, we can made changes.
I haven't applied Modestas's enhanced patch that allows adding an option to
all commands because I similarly think it might not be used. If a use case
comes along we can add something like that.
|
|
|
|
|
|
|
|
| |
Add dh addons APIs add_command_options()/remove_command_options() that
allow addons to add additional options which dh will pass to the specified
debhelper commands.
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
| |
|
| |
|
| |
|
|
|
|
| |
quilt), by adding an add_command function to the sequence addon interface. See #540124.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since now extra options via dh command line arguments are encouraged, dh will
break when a bit more complex option gets added to DH_INTERNAL_OPTIONS and it
gets misparsed by the debhelper command called from the override. E.g.
debian/rules:
| %:
| dh --builddirectory="build dir"
|
| override_dh_install:
| dh_install
Will fail with something like:
| ....
| make[1]: Entering directory `............'
| dh_install
| cp: cannot stat `debian/tmp/dir': No such file or directory
| dh_install: cp returned exit code 1
| make[1]: *** [override_dh_install] Error 1
So since DH_INTERNAL_OPTIONS is exclusively for internal use, why not to use an
old good ASCII unrepresentable control character as a separator? So I chose
ASCII 1E - RS Record Separator.
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
|
|
|
| |
and further suppress warnings about such options it passes on to debhelper
commands. This was attempted incompletely before in version 7.2.17.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
disable the default python-support addon).
|
| |
|
| |
|
|
|
|
| |
Closes: #523474 (also Closes: #521960, #407701 as no longer applicable)
|
|
|
|
| |
Avoids the ugly thunk in dh
|
|
|
|
|
|
|
|
| |
Add a global --remaining-packages option which allows to skip the command on
the packages which it has already been run on (i.e. if the command helper is
already present in the package debhelper log).
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
|
|
|
|
|
| |
I think I didn't do this before because it could result in
parseoptions() erroring because there were no packages to act on.
That is not going to be an error soon though, and it makes sense to
pass in the -N excludes.
|
|
|
|
|
|
|
| |
* Add a new helper: dh_bugfiles. It can be used for installing
bug reporting customization files (Closes: #326874).
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
debian/changelog
|
| | |
|
|\|
| |
| |
| |
| | |
Conflicts:
debian/changelog
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
There is some concern that passing -B to make may violate debian policy.
<eyeroll>
(cherry picked from commit 09090c86ea099008990bc5a9a14e1ac35bb1e584)
|