Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch alters semantics of check_auto_buildable() a bit. Now it can
also indicate if the source has already been partitially built with the
build system and if so, such build system may be auto-selected over a less
specific its parent (in the inheritance tree) even if the latter is earlier
in the @BUILDSYSTEMS array.
However, this still leaves a requirement that a derivative build system
must not do anything that may break packages of the parent build system.
Otherwise, introduction of a new derivative build system might break
packages which already had that build system implemented via overrides...
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
|
|
|
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
debian/changelog
|
|
|
|
|
|
It was only used by the test suite, and while symetrical I don't
feel that justifies keeping dead code.
|
|
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
If build directory is absolute or ../ path, _rel2rel falls back to
absolute paths. Try even harder to convert supplied builddir to
relative in _set_builddir().
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
Also add enforce_out_of_source_building() for clarity which does not
take any parameters. Now both have a clear name and no confusing
parameter combinations.
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
* buildsystem -> build system
* dh_auto build system -> debhelper build system
* plugin -> class
* a few rewording changes in the comments.
* Enhance python_distutils::DESCRIPTION().
|
|
* New short switches:
-D = --sourcedirectory
-B = --builddirectory
-S = --buildsystem
* Drop DH_AUTO_BUILD* environment variables (reintroduced due to revert).
* Adjust test suite.
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
Previous one caused test "_rel2rel no4" to fail. Also add a new test
for _canonpath and two new tests for _rel2rel (related to "." handling).
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
Now build directory is always relative to the top directory
(including default build directory) regardless what source
directory is. However, if the build directory is not specified,
it defaults to the source directory (aka in source building).
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
* Tests for core Buildsystem API (mostly path API).
* Tests for check_auto_configure() for each buildsystem.
* Build system autoselection tests under "typical" conditions for each buildsystem.
* DH_AUTO_OPTIONS and command line argument parsing tests.
* Real dh_auto_* tests for autoconf/makefile build systems with emulated.
autoconf behaviour under in both in source and out of source tree scenarios.
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
|
|
|
|
|
|
|
|
when saving the output back, save it to a non-compressed filename (and delete the original, compressed file). Closes: #470913
|
|
|
|
best of
a difficult situation.
* Revert all dh_python changes. Closes: #381389, #378604
* Conflict with python-support << 0.5.3 and python-central << 0.5.5.
* Make dh_python do nothing if debian/pycompat is found.
The new versions of dh_pysupport or dh_pycentral will take care of
everything dh_python used to do in this situation.
* dh_python is now deprecated. Closes: #358392, #253582, #189474
* Non-maintainer upload.
* Update of dh_python
- when buidling for a non-standard Python version, generate more
reasonable Depends like "python (>= X.Y) | pythonX.Y"
Closes: #375576
- fix handling of private extensions. Closes: #375948
- fix parsing of XS-Python-Version, it didn't work if only fixed versions
were listed in XS-Python-Version.
- fix use of unitialized value. Closes: #374776
- fix typos in POD documentation. Closes: #375936
* Non-maintainer upload.
* Update of dh_python
- vastly refactored, easier to understand, and the difference
between old policy and new policy is easier to grasp
- it supports an -X option which can be used to not scan some files
- uses debian/pyversions as reference source of information for
dependencies but also parse the XS-Python-Version header as fallback.
- ${python:Versions}'s default value is XS-Python-Version's value
instead of "all" when the package doesn't depend on a
specific python version. Closes: #373853
- always generate ${python:Provides} and leave the responsibility to the
maintainer to not use ${python:Provides} if he doesn't want the
provides.
- uses debian/pycompat or DH_PYCOMPAT as reference field to run in new
policy mode. The presence of XS-Python-Version will also trigger the
new policy mode (this is for short-term compatibility, it may be removed in
the not too-distant future).
DH_PYCOMPAT=1 is the default mode and is compatible to the old policy.
DH_PYCOMPAT=2 is the new mode and is compatible with the new policy.
* Use "grep ^Version:" instead of "grep Version:" on the output of
dpkg-parsechangelog since the above changelog entry matched "Version:" and
thus made the build fail.
* Non-maintainer upload.
* Integrate the new dh_python implementing the new Python policy. Closes: #370833
|
|
lines. This is not a joke, and 100 lines would be better.
|
|
containing the
link. Closes: #346405
* dh_link: add special case handling for link to /
|
|
|
|
* Add t/syntax to make sure all dh_* commands and the libraries syntax check
ok.
|
|
* dh_python: Minimal fix from Joss for -V to make it search the right
site-packages directories. Closes: #312661
*
|
|
schemas from /etc/gconf/schemas. (Josselin Mouette)
* dh_gconf: kill gconfd-2 so that the newly installed schemas
are available straight away. (Josselin Mouette)
* dh_gconf: fix bashism in restart of gconfd-2
* dh_gconf: fix innaccuracy in man page; gconfd-2 is HUPPed, not
killed.
* dh_scrollkeeper: stop adding scrollkeeper to misc:Depends, since
the postinst will not run it if it's not installed, and a single run after
it's installed is sufficient to find all documents. Closes: #256745
* dh_fixperms: make .ali files mode 444 to prevent recompilation by GNAT.
For speed, only scan for .ali files in usr/lib/ada. Closes: #245211
* dh_python: check to make sure compileall.py is available before running it
in the postinst. Closes: #253112
* dh_installmodules: install debian/package.modprobe into etc/modprobe.d/
for module-init-tools. These files can sometimes need to differ from the
etc/modutils/ files. Closes: #204336, #234495
* dh_installmanpages is now deprecated.
* Add a test case for bug #244157, and fixed the inverted ok() parameters
in the others, and added a few new tests.
* dh_link: applied GOTO Masanori's patch to fix conversion of existing
relative symlinks between top level directories. Closes: #244157
|
|
* Now in a subversion repository, some minor changes for that.
* dh_link test should expect results in debian/debhelper, not debian/tmp.
|
|
|