| 1 | #!/bin/sh |
| 2 | set -e |
| 3 | |
| 4 | TESTDIR="$(readlink -f "$(dirname "$0")")" |
| 5 | . "$TESTDIR/framework" |
| 6 | setupenvironment |
| 7 | configarchitecture 'i386' 'amd64' |
| 8 | |
| 9 | insertpackage 'unstable' 'unrlated' 'all' '1.0' |
| 10 | |
| 11 | insertinstalledpackage 'foo' 'i386' '2.0' |
| 12 | insertpackage 'unstable' 'foo' 'i386' '4.0' |
| 13 | insertpackage 'unstable' 'foo-provider' 'i386' '1.0' 'Provides: foo' |
| 14 | insertpackage 'unstable' 'foo-breaker-3' 'i386' '1.0' 'Breaks: foo (<< 3.0)' |
| 15 | insertpackage 'unstable' 'foo-breaker-2' 'i386' '1.0' 'Breaks: foo (<< 2.0)' |
| 16 | insertpackage 'unstable' 'foo-breaker-none' 'i386' '1.0' 'Breaks: foo' |
| 17 | |
| 18 | insertinstalledpackage 'foo-foreign' 'amd64' '2.0' 'Multi-Arch: foreign' |
| 19 | insertpackage 'unstable' 'foo-foreign' 'amd64' '4.0' 'Multi-Arch: foreign' |
| 20 | insertpackage 'unstable' 'foo-foreign-provider' 'i386' '1.0' 'Provides: foo-foreign' |
| 21 | insertpackage 'unstable' 'foo-foreign-breaker-3' 'i386' '1.0' 'Breaks: foo-foreign (<< 3.0)' |
| 22 | insertpackage 'unstable' 'foo-foreign-breaker-2' 'i386' '1.0' 'Breaks: foo-foreign (<< 2.0)' |
| 23 | insertpackage 'unstable' 'foo-foreign-breaker-none' 'i386' '1.0' 'Breaks: foo-foreign' |
| 24 | |
| 25 | insertinstalledpackage 'foo-same' 'i386,amd64' '2.0' 'Multi-Arch: same' |
| 26 | insertpackage 'unstable' 'foo-same' 'i386,amd64' '4.0' 'Multi-Arch: same' |
| 27 | insertpackage 'unstable' 'foo-same-provider' 'i386' '1.0' 'Provides: foo-same' |
| 28 | insertpackage 'unstable' 'foo-same-breaker-3' 'i386' '1.0' 'Breaks: foo-same (<< 3.0)' |
| 29 | insertpackage 'unstable' 'foo-same-breaker-2' 'i386' '1.0' 'Breaks: foo-same (<< 2.0)' |
| 30 | insertpackage 'unstable' 'foo-same-breaker-none' 'i386' '1.0' 'Breaks: foo-same' |
| 31 | |
| 32 | |
| 33 | |
| 34 | setupaptarchive |
| 35 | |
| 36 | testfailureequal 'Reading package lists... |
| 37 | Building dependency tree... |
| 38 | Some packages could not be installed. This may mean that you have |
| 39 | requested an impossible situation or if you are using the unstable |
| 40 | distribution that some required packages have not yet been created |
| 41 | or been moved out of Incoming. |
| 42 | The following information may help to resolve the situation: |
| 43 | |
| 44 | The following packages have unmet dependencies: |
| 45 | foo-breaker-none : Breaks: foo |
| 46 | E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s |
| 47 | |
| 48 | testsuccessequal 'Reading package lists... |
| 49 | Building dependency tree... |
| 50 | The following NEW packages will be installed: |
| 51 | foo-breaker-2 foo-provider |
| 52 | 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. |
| 53 | Inst foo-breaker-2 (1.0 unstable [i386]) |
| 54 | Inst foo-provider (1.0 unstable [i386]) |
| 55 | Conf foo-breaker-2 (1.0 unstable [i386]) |
| 56 | Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-2 -s |
| 57 | |
| 58 | testsuccessequal 'Reading package lists... |
| 59 | Building dependency tree... |
| 60 | The following additional packages will be installed: |
| 61 | foo |
| 62 | The following NEW packages will be installed: |
| 63 | foo-breaker-3 foo-provider |
| 64 | The following packages will be upgraded: |
| 65 | foo |
| 66 | 1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded. |
| 67 | Inst foo [2.0] (4.0 unstable [i386]) |
| 68 | Inst foo-breaker-3 (1.0 unstable [i386]) |
| 69 | Inst foo-provider (1.0 unstable [i386]) |
| 70 | Conf foo (4.0 unstable [i386]) |
| 71 | Conf foo-breaker-3 (1.0 unstable [i386]) |
| 72 | Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-3 -s |
| 73 | |
| 74 | testfailureequal 'Reading package lists... |
| 75 | Building dependency tree... |
| 76 | Some packages could not be installed. This may mean that you have |
| 77 | requested an impossible situation or if you are using the unstable |
| 78 | distribution that some required packages have not yet been created |
| 79 | or been moved out of Incoming. |
| 80 | The following information may help to resolve the situation: |
| 81 | |
| 82 | The following packages have unmet dependencies: |
| 83 | foo-foreign-breaker-none : Breaks: foo-foreign |
| 84 | E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s |
| 85 | |
| 86 | testsuccessequal 'Reading package lists... |
| 87 | Building dependency tree... |
| 88 | The following NEW packages will be installed: |
| 89 | foo-foreign-breaker-2 foo-foreign-provider |
| 90 | 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. |
| 91 | Inst foo-foreign-breaker-2 (1.0 unstable [i386]) |
| 92 | Inst foo-foreign-provider (1.0 unstable [i386]) |
| 93 | Conf foo-foreign-breaker-2 (1.0 unstable [i386]) |
| 94 | Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-2 -s |
| 95 | |
| 96 | testsuccessequal 'Reading package lists... |
| 97 | Building dependency tree... |
| 98 | The following additional packages will be installed: |
| 99 | foo-foreign:amd64 |
| 100 | The following NEW packages will be installed: |
| 101 | foo-foreign-breaker-3 foo-foreign-provider |
| 102 | The following packages will be upgraded: |
| 103 | foo-foreign:amd64 |
| 104 | 1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded. |
| 105 | Inst foo-foreign:amd64 [2.0] (4.0 unstable [amd64]) |
| 106 | Inst foo-foreign-breaker-3 (1.0 unstable [i386]) |
| 107 | Inst foo-foreign-provider (1.0 unstable [i386]) |
| 108 | Conf foo-foreign:amd64 (4.0 unstable [amd64]) |
| 109 | Conf foo-foreign-breaker-3 (1.0 unstable [i386]) |
| 110 | Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-3 -s |
| 111 | |
| 112 | testfailureequal 'Reading package lists... |
| 113 | Building dependency tree... |
| 114 | Some packages could not be installed. This may mean that you have |
| 115 | requested an impossible situation or if you are using the unstable |
| 116 | distribution that some required packages have not yet been created |
| 117 | or been moved out of Incoming. |
| 118 | The following information may help to resolve the situation: |
| 119 | |
| 120 | The following packages have unmet dependencies: |
| 121 | foo-same-breaker-none : Breaks: foo-same |
| 122 | E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s |
| 123 | |
| 124 | testsuccessequal 'Reading package lists... |
| 125 | Building dependency tree... |
| 126 | The following NEW packages will be installed: |
| 127 | foo-same-breaker-2 foo-same-provider |
| 128 | 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. |
| 129 | Inst foo-same-breaker-2 (1.0 unstable [i386]) |
| 130 | Inst foo-same-provider (1.0 unstable [i386]) |
| 131 | Conf foo-same-breaker-2 (1.0 unstable [i386]) |
| 132 | Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-2 -s |
| 133 | |
| 134 | testsuccessequal 'Reading package lists... |
| 135 | Building dependency tree... |
| 136 | The following additional packages will be installed: |
| 137 | foo-same foo-same:amd64 |
| 138 | The following NEW packages will be installed: |
| 139 | foo-same-breaker-3 foo-same-provider |
| 140 | The following packages will be upgraded: |
| 141 | foo-same foo-same:amd64 |
| 142 | 2 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. |
| 143 | Inst foo-same [2.0] (4.0 unstable [i386]) [foo-same:i386 on foo-same:amd64] [foo-same:amd64 on foo-same:i386] [foo-same:amd64 ] |
| 144 | Inst foo-same:amd64 [2.0] (4.0 unstable [amd64]) |
| 145 | Inst foo-same-breaker-3 (1.0 unstable [i386]) |
| 146 | Inst foo-same-provider (1.0 unstable [i386]) |
| 147 | Conf foo-same:amd64 (4.0 unstable [amd64]) |
| 148 | Conf foo-same (4.0 unstable [i386]) |
| 149 | Conf foo-same-breaker-3 (1.0 unstable [i386]) |
| 150 | Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-3 -s |