summaryrefslogtreecommitdiff
path: root/test/integration/test-bug-661537-build-profiles-support
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-01-21 23:22:00 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2016-01-25 18:15:44 +0100
commita249b3e6fd798935a02b769149c9791a6fa6ef16 (patch)
tree84a3848b7298d342486dca9ad86bc1e416a9185a /test/integration/test-bug-661537-build-profiles-support
parent074564d40c21cb063bf327e9151a4e24cd9534b5 (diff)
reimplement build-dep via apts normal resolver
build-dep was implemented by parsing the build-dependencies of a package and figuring out which packages to install/remove based on this. That means that for the first level of dependencies build-dep was implementing its very own resolver with all the benefits (aka: bugs) this gives us for not using the existing resolver for all levels. Making this work involves generating a dummy binary package with fitting Depends and Conflicts and as we can't create them out of thin air the cache generation needs to be involved so we end up writing a Packages file which we want to parse – after we have parsed the other Packages files already. With .dsc/.deb files we could add them before we started parsing anything. With a bit of care we can avoid generating too much data we have to throw away again (as many parts assume that e.g. the count of packages doesn't change midair), so that on a speed front there shouldn't be much of a difference, but output can be slightly confusing as if we have a completely valid cache on disk the "Reading package lists... Done" is printed two times – but apt is pretty quick about it in that case. Closes: #137560, #444930, #489911, #583914, #728317, #812173
Diffstat (limited to 'test/integration/test-bug-661537-build-profiles-support')
-rwxr-xr-xtest/integration/test-bug-661537-build-profiles-support6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/integration/test-bug-661537-build-profiles-support b/test/integration/test-bug-661537-build-profiles-support
index 707562df3..91115ea18 100755
--- a/test/integration/test-bug-661537-build-profiles-support
+++ b/test/integration/test-bug-661537-build-profiles-support
@@ -25,6 +25,7 @@ insertsource 'unstable' 'spec-7' 'any' '1' 'Build-Depends: foo <stage1> <!notest
setupaptarchive
testsuccessequal 'Reading package lists...
+Reading package lists...
Building dependency tree...
The following NEW packages will be installed:
bar
@@ -59,6 +60,7 @@ Inst bar (1.0 unstable [all])
Conf bar (1.0 unstable [all])' aptget build-dep buildprofiles -s -o APT::Architecture=i386 -P stage1
KEEP='Reading package lists...
+Reading package lists...
Building dependency tree...
The following NEW packages will be installed:
foo
@@ -67,8 +69,9 @@ Inst foo (1.0 unstable [all])
Conf foo (1.0 unstable [all])'
setdrop() {
DROP="Reading package lists...
-Building dependency tree...
$1 has no build depends.
+Reading package lists...
+Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."
}
@@ -114,6 +117,7 @@ testprofile() {
testwithdpkg "$2" "$3" "$4"
}
+testsuccess aptcache gencaches
setdrop 'spec-1'
testprofile 'spec-1' 'foo <!stage1>' '' "$KEEP"
testprofile 'spec-1' 'foo <!stage1>' 'stage1' "$DROP"