path: root/Debian/Debhelper/Buildsystem
Commit message (Collapse)AuthorAge
* dh_auto_install: Set AM_UPDATE_INFO_DIR=no to avoid automake generating an ↵Joey Hess2012-02-08
| | | | info dir file. Closes: #634741
* Pass CPPFLAGS to qmake. Closes: #646129 Thanks, Felix GeyertJoey Hess2011-12-08
* Pass CFLAGS also to perl_build.gregor herrmann2011-09-30
| | | | Closes: 497653
* setting OPTIMIZE could in theory lead to breakage, so make it v9Joey Hess2011-09-29
* fix indentationJoey Hess2011-09-29
* pass dpkg-buildflags to makemaker build systemSteve Langasek2011-09-29
| | | | | | | The standard way to pass build flags to makemaker perl build systems is to set the OPTIMIZE variable on the commandline; CFLAGS in the environment gets ignored entirely. So pass the CFLAGS from the environment to Makefile.PL so makemaker packages can also benefit from dpkg-buildflags.
* Add support for running tests in parallel to the cmake build system.Modestas Vainius2011-08-05
| | | | | | | | | | | Pass appropriate -jN option to ctest (via ARGS variable in the Makefile) to enable support for running tests in parallel. Similarly to makefile build system, ctest -j1 mode is enforced even when parallel mode in debhelper is not explicitly enabled. Unlike make, CTest does not have "unlimited parallel" setting (-j implies -j1). So in order to simulate unlimited parallel, allow to fork a huge number of threads instead.
* remove build directory even if Makefile does not exist yet.Modestas Vainius2011-08-05
| | | | | | Assume that the package can be cleaned (i.e. the build directory can be removed) as long as it is built out-of-source tree and can be configured. This is useful for derivative buildsystems which generate Makefiles.
* layutJoey Hess2011-07-16
* oops, only force qt4 when it's enabledJoey Hess2011-07-16
* Now the QT4 version of qmake can be explicitly selected by passing ↵Joey Hess2011-07-16
| | | | | | | | | | | | --buildsystem=qmake_qt4. Closes: #566840 There is that build system option patch that I suckily never applied, and could be used here.. but this is at its core a different build system, and so handling it as such makes the most sense. It may make sense to have a qmake_qt3 build system, but perhaps QT 3 will instead just go away. I considered just waiting, but this is an easy fix. ;)
* dh_auto_configure: If there is a problem with cmake, display the CMakeCache.txt.Joey Hess2011-06-24
* dh_auto_configure: In v9, does not include the source package name in ↵Joey Hess2011-06-14
| | | | | | | --libexecdir when using autoconf. Closes: #541458 Fixed rleigh's patch to be more correct in the edge case where there is a non-multiarch dpkg (ie, backports).
* Don't add package name to libexecdir in v9Roger Leigh2011-06-14
* avoid depending on a dpkg that has DEB_HOST_MULTIARCHJoey Hess2011-03-12
* layoutJoey Hess2011-03-12
* Add support for multiarch.Steve Langasek2011-03-12
| | | | | | | | | | | | | | Open compat level 9, which incompatibly changes dh_auto_configure behavior to set --libdir and --libexecdir to the multiarch directory path. This requires dpkg-dev 1.16.0 (not yet released) for the multiarch directory variable, so bump the dependency to this version. Also set a new substvar, misc:Pre-Depends, to multiarch-support, a virtual package provided by versions of eglibc that support the multiarch library paths at runtime; this needs to be a pre-dependency to ensure unpacked but not-yet-configured libraries can still be found during upgrades, so library packages converting to multiarch (i.e., switching to compat 9) will need to add this substitution by hand to debian/control.
* remove MODULEBUILDRC overrideJoey Hess2011-01-25
| | | | | | | | | | | | This doesn't work reliably, see #607313. Probably that is caused by the perl_build buildsystem not being detected for a package that has a Makefile.PL, and so MODULEBUILDRC is not overridden. So, I could add it there too, but then it's also possible for it to be run from a Makefile.. so I could add it to dh_auto_*. But then there are packages that don't use those. So I conclude that dealing with this in debhelper is out of its scope, and this needs to be fixed at a higher level, probably dpkg-dev.
* python_distutils: Pass --force to build, to ensure that when ↵Joey Hess2010-08-07
| | | | | | | | | | python-dbg is run it does not win and result in scripts having it in the shebang line. Closes: #589759 (cherry picked from commit 865e6266a5eaae81004bf530bc23da1c3fdc10b1) Conflicts: debian/changelog
* Revert "python_distutils: Pass --force to build, to ensure that ↵Joey Hess2010-08-07
| | | | | | | | | | | | when python-dbg is run it does not win and result in scripts having it in the shebang line. Closes: #589759" This reverts commit 865e6266a5eaae81004bf530bc23da1c3fdc10b1. Conflicts: debian/changelog Too late for 8.0.0 since testing is frozen. Will put back in later.
* python_distutils: Pass --force to build, to ensure that when ↵Joey Hess2010-07-25
| | | | python-dbg is run it does not win and result in scripts having it in the shebang line. Closes: #589759
* perl_makemaker: import compat(). Closes: #587654Joey Hess2010-06-30
* In v8 mode, stop passing packlist=0 in perl_makemaker buildsystem, since ↵Joey Hess2010-06-23
| | | | perl_build is tried first. Avoids the makemaker warning message introduced by the fix to #527990.
* makefile buildsystem: Chomp output during test for full compatability with ↵Joey Hess2010-02-19
| | | | | | | | | | | | | | debhelper 7.4.11. Closes: #570503 Previously the test used make -s -n | head -n 1 and then chomped the output. In the case of this bug, root-system's Makefile *always* outputs something to stdout, even for targets that don't exist, before configure is run. It accidentially worked before, since the first line it outputs happens to be empty. So bring back the chomp to retain compatability with this package that used to work before, but the test only does the right thing for this package due to sheer luck, really.
* The fix for #563557 caused some new trouble involving makefile that ↵Joey Hess2010-02-18
| | | | misbehave when stderr is closed. Reopen it to /dev/null when testing for the existance of a makefile target. Closes: #570443
* update from KelJoey Hess2010-01-28
| | | | | | Here is yet another revision which sets the PREFIX variable to '/usr' which seems commonly used by Qt projects. Also removed the -e test discussed previously.
* qmake: New buildsystem contributed by Kel Modderman. Closes: #566840Joey Hess2010-01-27
* makefile: Support the (asking for trouble) case of MAKE being set to ↵Joey Hess2010-01-03
| | | | something with a space in it. Closes: #563557
* make: Avoid infinite loop that occurrs when testing existence of a target in ↵Joey Hess2009-11-21
| | | | | | | a certian horribly broken makefile by making the test stop after it sees one line of output from make. (This may be better replaced with dh's makefile parser in the future.)
* Fix deep recursive in cmake::test().Modestas Vainius2009-11-21
* cmake build+ steps need Makefile.Modestas Vainius2009-11-19
| | | | | | The condition is not what dh_auto_* 7.0.x would have done. The patch makes auto-selection to pass through if Makefile was not created. This problem is not very dangerous though.
* Fix build system auto-selection breakage.Cyril Brulebois2009-11-19
| | | | | | | | Probably due to an overlook in 758ce0bb1f, the '-e' test on build.xml disappeared, leading check_auto_buildable() to always return '1' for the ant build system. Signed-off-by: Cyril Brulebois <>
* comment mungingJoey Hess2009-11-18
* Improve build system auto-selection processModestas Vainius2009-11-18
| | | | | | | | | | | | | | | 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 <>
* cute tail display of config.log, to include a headerJoey Hess2009-11-16
* autoconf: If configure fails, cat config.log. Intended to make it easier to ↵Joey Hess2009-11-16
| | | | debug configure script failures on autobuilders. Closes: #556384
* Enable verbose ctest output on test failureModestas Vainius2009-11-16
| | | | | | | | | | | | When test fails, enable verbose ctest output. This allows to get more details on a test failure from the build logs. Auto-select cmake in further steps only if cmake was run in configure step. CMake writes CMakeCache.txt to build directory when it is run. Depend on the presence of this file for auto-selection in build, test, install and clean steps. Signed-off-by: Modestas Vainius <>
* Enable verbose ctest output on test failureModestas Vainius2009-11-12
| | | | | | | When test fails, enable verbose ctest output. This allows to get more details on a test failure from the build logs. Signed-off-by: Modestas Vainius <>
* support unlimited parallel jobsJoey Hess2009-10-29
| | | | | | | | dpkg-buildpackage -j sets DEB_BUILD_OPTIONS=parallel=-1. Policy does not cover this but the intent is to allow unlimited parallel jobs. Also, there is no longer any way for parallel to be set to undef, so remove code to handle that.
* reduce amount of MAKEFLAGS cleaningJoey Hess2009-10-28
| | | | | | | | | | | 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.
* split get_make_jobserver_status into two functionsJoey Hess2009-10-28
| | | | | | | | | | | 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.
* move obscure function to EOFJoey Hess2009-10-28
* Support parallel building in makefile buildsystemModestas Vainius2009-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Add routine to Dh_Lib (used by dh and 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 <>
* invert python orderingJoey Hess2009-10-01
| | | | --force allows doing so
* indentationJoey Hess2009-10-01
* Pass --force option to Python distutils install command.Andrew Straw2009-10-01
| | | | | | This command will prevent distutils from attempting to determine whether a file should be installed based on the timestamp of the to-be-overwritten file.
* improve python regexps, per bzedJoey Hess2009-08-13
* move comment closer to relevant codeJoey Hess2009-08-08
* Support debhelper backports.Bernd Zeimetz2009-08-08
| | | | | | To allow backports of debhelper we don't pass --install-layout=deb to ' install` for those Python versions where the option is ignored by distutils/setuptools.
* perl_build: Fix Build check to honor source directory setting.Joey Hess2009-08-05