summaryrefslogtreecommitdiff
path: root/t/buildsystems
AgeCommit message (Collapse)AuthorFilesLines
2018-08-04autoconf,meson: Use usr/libexec dir by default [c12]Niels Thykier1-1/+8
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-06cmake: Support ninja backendNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-06Rewrite build system to support a "target build system"Niels Thykier1-7/+7
Several of the build systems consists of a configure step that generates a buildscript for another build tool. Notable examples being "cmake" and "meson", which even supports multiple backend tools. This change makes it natively possible for debhelper to support such build systems with multiple backends. Note that only build systems with multiple backends have been rewritten. Signed-off-by: Niels Thykier <niels@thykier.net>
2018-01-28Rely on DEB_RULES_REQUIRES_ROOT for R³ supportNiels Thykier1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-21makefile.pm: Support R³ for calling make install as rootNiels Thykier1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-13Spelling fixesVille Skyttä1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-24Support building on case-insensitive filesystemsGeoffrey Thomas1-1/+1
Move Debian/ to lib subdirectory to support building on non-case-sensitive filesystems.
2017-07-31Revert "t: Update test related to the autoconf buildsystem"Niels Thykier1-5/+5
This reverts commit 18a301de0e6baf81d110d1b07d71d005a6ba7ee7.
2017-07-27t: Update test related to the autoconf buildsystemNiels Thykier1-5/+5
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-15autopkgtest-pkg-perl: fix smoke test.gregor herrmann2-2/+4
autopkgtest-pkg-perl's smoke test fails all over the place because debhelper's testsuite has many assumptions that it is run from the source tree, while autopkgtest-pkg-perl's smoke test copies (by default) the t/ directory to a new empty directory and runs the tests from there. Add debian/tests/pkg-perl/smoke-files to copy more files from the source tree which are used in tests. Add debian/tests/pkg-perl/smoke-skip to skip t/size.t which fails when run under autopkgtest-pkg-perl because it tests all /usr/bin/dh_* helpers, and at least dh_autotools-dev_updateconfig is too large. Change t/buildsystems/03-bs-auto-buildable.t, t/buildsystems/buildsystem_tests.t, t/override_target.t, t/size.t, and t/syntax/syntax-progs.t to look for scripts and modules not in the source tree but in the installed directories when run under autopkgtest. With these changes, the test suite passes both during build and during autokpkgtest. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-12t: Fix test under prove without passing "t" dirNiels Thykier1-1/+1
Fix a test that failed when "prove" was called without the "t" dir explicitly. I.e. prove -lr t # works prove -lr # failed Now both works. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-03Set Emacs file variables directory-wideSven Joachim7-37/+0
Set the local variables for Emacs in the central placed intended for it, rather than in (currently) 95 individual files. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-03t: Avoid redefining dirnameNiels Thykier5-5/+5
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-03t: Split buildsystem_tests in to smaller bitsNiels Thykier7-348/+504
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-03t: Split out a separate test for make jobserver flagsNiels Thykier2-45/+64
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-04t: Add "auto buildable" tests for meson + ninjaNiels Thykier1-1/+10
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-04Add ninja to build systems and fix a testNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-08t: Fix test after change of autoconf build systemNiels Thykier1-4/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-02t: Fix test issues with the new compat deprecationsNiels Thykier3-2/+3
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-08-14t: Disable third-party build systemsNiels Thykier1-1/+1
Not all auto-selectable third-party build systems can handle being loaded in the conditions of the debhelper test suite. Also, it seems prudent for the tests to work independently of the build environment having extra build systems installed. Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-02Handle renamed/changed make parallel optionsNiels Thykier1-25/+37
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-01t: Migrate to 3-arg openNiels Thykier1-3/+6
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-02-22dh_auto_test: Add VERBOSE=1 when using autoconfGergely Nagy2-5/+10
When the build system is autoconf, assume that one also uses automake, and pass VERBOSE=1 to make check too. Without VERBOSE=1, newer automake-generated makefiles will not display the actual test errors, but store them in a file. This makes build logs considerably less useful when it comes to discovering test failures. With VERBOSE=1 set, test failures are displayed. It should have no ill effects when used with a non-automake makefile + autoconf combination. The test suite was updated to reflect the changes, and new tests were added to verify the new functionality. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org> Signed-off-by: Niels Thykier <niels@thykier.net>
2016-02-22t: Rename tests so prove can find themNiels Thykier1-0/+0
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-01-07configure gets --*-silent-rules depending on DH_QUIETBernhard R. Link1-0/+1
If DH_QUIET is set, give configure a --enable-silent-rules. If it is not set, always give --disable-silent-rules (Closing #551463 for good).
2011-08-06hide deprecation noticeJoey Hess1-1/+1
Can this test be written w/o using --after?
2011-08-05makefile.pm: remove build directory even if Makefile does not exist yet.Modestas Vainius1-1/+1
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.
2011-07-17adjust test number for new build systemJoey Hess1-1/+1
2010-09-29stop testing jobserver availability codeJoey Hess1-20/+3
Testing this is sensative to what FDs are inherited by the test script. After the recent fix, it started breaking another way.
2010-09-13Avoid open fd 5 or 6 breaking buildsystem test suite. Closes: #596679Joey Hess1-0/+9
2010-01-30adjust for new buildsystemJoey Hess1-1/+1
2009-12-04Typo in the code.Modestas Vainius1-2/+2
How perl didn't fail one this is beyond me.
2009-12-04Add --parallel option.Modestas Vainius1-5/+11
This patch adds --parallel option that enables parallel builds and does not impose limits on maximum concurrent processes. --max-parallel (that implies --parallel) can be used to specify that maximum limit. Also make necessary adjustments to debhelper.pod and buildsystem_tests for this option.
2009-12-04Sometimes SIGINTing the test suite leaves Makefile behind.Modestas Vainius1-1/+1
So use -f for ln. It is safe. (cherry picked from commit d89a2c6d2c7148f6e890c0c11e64b92982d3f869)
2009-12-04Remove legacy punctuation hacks tests which no longer work by design.Modestas Vainius1-40/+4
I assume backwards compatibility in this area was broken by design. Adding --max-parallel to these in 6dd27753803ae2091a9fc3aedc8e70548ea87675 was wrong and negated their whole point, i.e. testing of backwards compatibility when parallel options were not supported. (cherry picked from commit ca0ad4922ada7ae013b035cfe1550a257a330809)
2009-12-04Drop tests previously written for dpkg-buildpackage -jX detection.Modestas Vainius1-63/+1
dpkg-buildpackage -jX detection is gone so these tests were redundant. (cherry picked from commit fd6880eddac9bde6ecdec514a83a169f36316b6a)
2009-11-23releasing version 7.4.87.4.8Joey Hess1-1/+1
2009-11-23update for no-paralle-by-default changeJoey Hess1-9/+9
2009-11-19cmake build+ steps need Makefile.Modestas Vainius1-1/+1
The condition is not what dh_auto_* 7.0.x would have done. The patch makes auto-selection to pass through cmake.pm if Makefile was not created. This problem is not very dangerous though.
2009-11-19Add tests for #557006 bug.Modestas Vainius1-25/+27
When sourcedir/builddir is empty, check if: 1) auto-selection does not select any build system; 2) check_auto_buildable() returns numeric 0 for all auto-selectable build systems.
2009-11-18Improve build system auto-selection processModestas Vainius1-21/+34
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>
2009-11-04--max-parallel requires a numberJoey Hess1-5/+1
2009-10-29update test suite for implicit parallelisation and flag renameJoey Hess1-27/+25
2009-10-28reduce amount of MAKEFLAGS cleaningJoey Hess1-13/+13
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.
2009-10-28split get_make_jobserver_status into two functionsJoey Hess1-18/+26
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.
2009-10-28Support parallel building in makefile buildsystemModestas Vainius2-8/+288
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>
2009-07-14test suite should not need modification to add a new build systemJoey Hess1-3/+3
2009-06-29remove enforce_out_of_source_buildingJoey Hess1-7/+1
It was only used by the test suite, and while symetrical I don't feel that justifies keeping dead code.
2009-06-30More verbose rmdir_builddir() and more its testsModestas Vainius1-2/+32
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
2009-06-30Support absolute paths for builddir.Modestas Vainius1-9/+14
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>