blob: 3fe824f25d5ad5421b6ee8a63796d24172170fbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture "amd64"
insertpackage 'installed' 'obsolete-dependency' 'amd64' '1.0'
insertpackage 'installed,unstable' 'foo' 'amd64' '2.0' 'Depends: obsolete-dependency'
setupaptarchive
echo 'Debug::pkgProblemResolver "1";' > rootdir/etc/apt/apt.conf.d/debug-problemresolver
# We mark obsolete dependency for removal in B, then in C it is restored.
testsuccessequal "A: foo:amd64 < 2.0 @ii mK >
A: obsolete-dependency:amd64 < 1.0 @ii mK >
B: foo:amd64 < 2.0 @ii mK Ib >
B: obsolete-dependency:amd64 < 1.0 @ii mR >
Entering ResolveByKeep
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Keeping package foo:amd64
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Package foo:amd64 foo:amd64 Depends on obsolete-dependency:amd64 < 1.0 @ii mR >
Keeping Package obsolete-dependency:amd64 due to Depends
C: foo:amd64 < 2.0 @ii mK >
C: obsolete-dependency:amd64 < 1.0 @ii mK >" runapt ${APTTESTHELPERSBINDIR}/testkeep obsolete-dependency
# We have protected our decision to remove the obsolete dependency, so we fail to resolve it.
testfailureequal "A: foo:amd64 < 2.0 @ii mK >
A: obsolete-dependency:amd64 < 1.0 @ii mK >
B: foo:amd64 < 2.0 @ii mK Ib >
B: obsolete-dependency:amd64 < 1.0 @ii pmR >
Entering ResolveByKeep
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Keeping package foo:amd64
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Package foo:amd64 foo:amd64 Depends on obsolete-dependency:amd64 < 1.0 @ii pmR >
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
Dependencies are not satisfied for foo:amd64 < 2.0 @ii mK Ib >
C: foo:amd64 < 2.0 @ii mK Ib >
C: obsolete-dependency:amd64 < 1.0 @ii pmR >
E: Unable to correct problems, you have held broken packages." runapt ${APTTESTHELPERSBINDIR}/testkeep obsolete-dependency --hold
|