summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2022-10-28 18:33:06 +0000
committerJulian Andres Klode <jak@debian.org>2022-10-28 18:33:06 +0000
commit331b592e70ddf352db694a987c5651703b0d2a94 (patch)
tree2cccecdcaac4a0b934db39604faae0e2044d293b
parentdccfe14ffb9713fbf320691c0f6cd679f2acf4fc (diff)
parentf52c1ce9b31befb71016a20759b96b4946034fcb (diff)
Merge branch 'feature/optional-dpkg-status' into 'main'
Allow apt to run if no dpkg/status file exists See merge request apt-team/apt!257
-rw-r--r--apt-pkg/deb/debsystem.cc23
-rw-r--r--apt-pkg/policy.cc14
-rw-r--r--test/integration/framework62
-rwxr-xr-xtest/integration/test-allow-scores-for-all-dependency-types5
-rwxr-xr-xtest/integration/test-apt-cache10
-rwxr-xr-xtest/integration/test-apt-cache-remapping1
-rwxr-xr-xtest/integration/test-apt-cli-json-hooks16
-rwxr-xr-xtest/integration/test-apt-cli-list2
-rwxr-xr-xtest/integration/test-apt-cli-update3
-rwxr-xr-xtest/integration/test-apt-get-changelog26
-rwxr-xr-xtest/integration/test-apt-mark9
-rwxr-xr-xtest/integration/test-apt-move-and-forget-manual-sections6
-rwxr-xr-xtest/integration/test-apt-never-markauto-sections12
-rwxr-xr-xtest/integration/test-apt-patterns2
-rwxr-xr-xtest/integration/test-apt-update-nofallback3
-rwxr-xr-xtest/integration/test-apt-update-rollback6
-rwxr-xr-xtest/integration/test-bug-604222-new-and-autoremove4
-rwxr-xr-xtest/integration/test-bug-673536-pre-depends-breaks-loop5
-rwxr-xr-xtest/integration/test-bug-728500-tempdir3
-rwxr-xr-xtest/integration/test-bug-753297-upgradable1
-rwxr-xr-xtest/integration/test-bug-782777-single-arch-weirdness3
-rwxr-xr-xtest/integration/test-external-dependency-solver-protocol2
-rwxr-xr-xtest/integration/test-external-installation-planner-protocol2
-rwxr-xr-xtest/integration/test-failing-maintainer-scripts9
-rwxr-xr-xtest/integration/test-policy-pinning2
-rwxr-xr-xtest/integration/test-prevent-markinstall-multiarch-same-versionscrew2
-rwxr-xr-xtest/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings3
-rwxr-xr-xtest/integration/test-ubuntu-bug-1876495-pkgnames-virtual8
-rwxr-xr-xtest/integration/test-ubuntu-bug-784473-InRelease-one-message-only4
-rwxr-xr-xtest/integration/test-unpack-different-version-unpacked5
30 files changed, 144 insertions, 109 deletions
diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc
index c9c6a7e85..9c55e0a6e 100644
--- a/apt-pkg/deb/debsystem.cc
+++ b/apt-pkg/deb/debsystem.cc
@@ -335,8 +335,27 @@ signed debSystem::Score(Configuration const &Cnf)
/* */
bool debSystem::AddStatusFiles(std::vector<pkgIndexFile *> &List)
{
- if (d->StatusFile == 0)
- d->StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status"));
+ if (d->StatusFile == nullptr)
+ {
+ auto dpkgstatus = _config->FindFile("Dir::State::status");
+ if (dpkgstatus.empty())
+ return true;
+ // we ignore only if the file doesn't exist, not if it is inaccessible
+ // e.g. due to permissions on parent directories as FileExists would do
+ errno = 0;
+ if (access(dpkgstatus.c_str(), R_OK) != 0 && errno == ENOENT)
+ return true;
+ _error->PushToStack();
+ d->StatusFile = new debStatusIndex(std::move(dpkgstatus));
+ bool const errored = _error->PendingError();
+ _error->MergeWithStack();
+ if (errored)
+ {
+ delete d->StatusFile;
+ d->StatusFile = nullptr;
+ return false;
+ }
+ }
List.push_back(d->StatusFile);
return true;
}
diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc
index 5fcc11b66..68b3f5e5f 100644
--- a/apt-pkg/policy.cc
+++ b/apt-pkg/policy.cc
@@ -70,17 +70,19 @@ pkgPolicy::pkgPolicy(pkgCache *Owner) : VerPins(nullptr),
if (DefRel.empty() == false)
{
bool found = false;
- // FIXME: make ExpressionMatches static to use it here easily
- pkgVersionMatch vm("", pkgVersionMatch::None);
for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F)
{
- if (vm.ExpressionMatches(DefRel, F.Archive()) ||
- vm.ExpressionMatches(DefRel, F.Codename()) ||
- vm.ExpressionMatches(DefRel, F.Version()) ||
+ if (pkgVersionMatch::ExpressionMatches(DefRel, F.Archive()) ||
+ pkgVersionMatch::ExpressionMatches(DefRel, F.Codename()) ||
+ pkgVersionMatch::ExpressionMatches(DefRel, F.Version()) ||
(DefRel.length() > 2 && DefRel[1] == '='))
found = true;
}
- if (found == false)
+ // "now" is our internal archive name for the status file,
+ // which we should accept even if we have no status file at the moment
+ if (not found && pkgVersionMatch::ExpressionMatches(DefRel, "now"))
+ found = true;
+ if (not found)
_error->Error(_("The value '%s' is invalid for APT::Default-Release as such a release is not available in the sources"), DefRel.c_str());
else
CreatePin(pkgVersionMatch::Release,"",DefRel,990);
diff --git a/test/integration/framework b/test/integration/framework
index 8bb8c00d6..d50b63518 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -473,10 +473,56 @@ if [ -r '${TMPWORKINGDIRECTORY}/noopchroot.so' ]; then
export LD_PRELOAD="noopchroot.so"
fi
fi
+EXEC='exec'
EOF
cp "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg"
+ local DPKG_VERSION="$(command dpkg-query --showformat '${VERSION}' --show dpkg)"
+ if command dpkg --compare-versions "${DPKG_VERSION}" '<<' '1.21.0'; then
+ cat >> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <<EOF
+dpkg_assert_call() {
+ while [ -n "\$1" ]; do
+ if [ "\${1#*--assert-}" != "\$1" ]; then return 0; fi
+ if [ "\$1" = '--' ]; then break; fi
+ shift
+ done
+ return 1
+}
+if dpkg_assert_call "\$@" && ! command dpkg-checkbuilddeps --admindir='${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg' -d 'dpkg' /dev/null >/dev/null 2>&1; then
+ EXEC=''
+ ORIGINAL="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status"
+ BACKUP="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status.apt-backup"
+ restoredpkgstatus() {
+ if [ -n "\$BACKUP" ]; then
+ if [ -e "\$BACKUP" ]; then
+ mv -f "\$BACKUP" "\$ORIGINAL"
+ else
+ rm -f "\$ORIGINAL"
+ fi
+ BACKUP=''
+ fi
+ }
+ trap "restoredpkgstatus;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+ if [ -e "\$ORIGINAL" ]; then
+ cp -a "\$ORIGINAL" "\$BACKUP"
+ fi
+ cat >> "${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" << EOS
+
+Package: dpkg
+Architecture: all
+Version: ${DPKG_VERSION}+fake
+Status: install ok installed
+Maintainer: Joe Sixpack <joe@example.org>
+Installed-Size: 42
+Description: tells dpkg it supports what we need
+ Some versions of dpkg check its own version from the status file
+ to know if it supports multi-arch and stuff in --assert-*.
+
+EOS
+fi
+EOF
+ fi
cat >> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <<EOF
-exec fakeroot '${DPKG:-dpkg}' --root='${TMPWORKINGDIRECTORY}/rootdir' \\
+\$EXEC fakeroot '${DPKG:-dpkg}' --root='${TMPWORKINGDIRECTORY}/rootdir' \\
--admindir="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg" \\
--log='${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log' \\
--force-not-root --force-bad-path "\$@"
@@ -491,9 +537,6 @@ EOF
echo "Dir::Bin::dpkg \"${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg\";" > rootdir/etc/apt/apt.conf.d/99dpkg
{
- if ! command dpkg --assert-multi-arch >/dev/null 2>&1; then
- echo "DPKG::options:: \"--force-architecture\";" # Added to test multiarch before dpkg is ready for it…
- fi
echo 'quiet "0";'
echo 'quiet::NoUpdate "true";'
echo 'quiet::NoStatistic "true";'
@@ -583,17 +626,9 @@ configdpkg() {
if tail -1 rootdir/var/lib/dpkg/status | grep -q .; then
echo >> rootdir/var/lib/dpkg/status
fi
- else
- echo -n > rootdir/var/lib/dpkg/status
fi
fi
rm -f rootdir/etc/apt/apt.conf.d/00foreigndpkg
- # make sure dpkg can detect itself as capable of it
- if [ "0" = "$(dpkg -l dpkg 2> /dev/null | grep '^i' | wc -l)" ]; then
- # dpkg doesn't really check the version as long as it is fully installed,
- # but just to be sure we choose one above the required version
- insertinstalledpackage 'dpkg' "all" '1.16.2+fake'
- fi
if dpkg --assert-multi-arch >/dev/null 2>&1 ; then
local ARCHS="$(getarchitectures)"
local DPKGARCH="$(dpkg --print-architecture)"
@@ -613,6 +648,9 @@ configdpkg() {
fi
fi
done
+ else
+ # test multiarch before dpkg is ready for it…
+ echo "DPKG::options:: \"--force-architecture\";" > rootdir/etc/apt/apt.conf.d/00foreigndpkg
fi
}
diff --git a/test/integration/test-allow-scores-for-all-dependency-types b/test/integration/test-allow-scores-for-all-dependency-types
index b8a9ed3ea..999efc04e 100755
--- a/test/integration/test-allow-scores-for-all-dependency-types
+++ b/test/integration/test-allow-scores-for-all-dependency-types
@@ -37,7 +37,6 @@ insertpackage 'jessie' 'login' 'amd64' '2' 'Pre-Depends: libaudit1 (>= 0)'
insertpackage 'jessie' 'libaudit1' 'amd64' '2' 'Depends: libaudit-common (>= 0)'
insertpackage 'jessie' 'libaudit-common' 'amd64' '2' 'Breaks: libaudit0, libaudit1 (<< 2)'
-cp rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status-backup
setupaptarchive
insertinstalledpackage 'libdb-dev' 'amd64' '5.1.7' 'Depends: libdb5.1-dev'
@@ -73,7 +72,7 @@ Inst libdb5.3-dev (5.3.28-3 versioned [amd64])
Conf libdb-dev (5.3.0 versioned [amd64])
Conf libdb5.3-dev (5.3.28-3 versioned [amd64])' aptget dist-upgrade -st versioned
-cp -f rootdir/var/lib/dpkg/status-backup rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
insertinstalledpackage 'foo' 'amd64' '1'
insertinstalledpackage 'bar' 'amd64' '1'
testsuccessequal 'Reading package lists...
@@ -131,7 +130,7 @@ Conf bar (2 versioned [amd64])
Conf baz (2 versioned [amd64])' aptget install baz -st versioned
# recreating the exact situation is hard, so we pull tricks to get the score
-cp -f rootdir/var/lib/dpkg/status-backup rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
insertinstalledpackage 'gdm3' 'amd64' '1' 'Depends: libaudit0, libaudit0'
insertinstalledpackage 'login' 'amd64' '1' 'Essential: yes'
insertinstalledpackage 'libaudit0' 'amd64' '1'
diff --git a/test/integration/test-apt-cache b/test/integration/test-apt-cache
index 56c3268fb..c003fba8c 100755
--- a/test/integration/test-apt-cache
+++ b/test/integration/test-apt-cache
@@ -22,9 +22,9 @@ Replaces: foo:i386 (<< 1)' "$DESCR"
setupaptarchive
-# dpkg is installed by our framework
-testdpkginstalled 'dpkg'
-testempty aptcache unmet dpkg
+insertinstalledpackage 'awesome' 'all' '1'
+testdpkginstalled 'awesome'
+testempty aptcache unmet awesome
# FIXME: Find some usecase for unmet as it seems kinda useless/broken
#testsuccess aptcache unmet
@@ -46,9 +46,9 @@ testsuccess aptcache dump
cp rootdir/tmp/testsuccess.output dump.output
testsuccess test -s dump.output
-testsuccessequal 'dpkg
-bar
+testsuccessequal 'bar
foo
+awesome
specific
fancy' aptcache pkgnames
testsuccessequal 'bar' aptcache pkgnames bar
diff --git a/test/integration/test-apt-cache-remapping b/test/integration/test-apt-cache-remapping
index 31a406c57..19647a6a4 100755
--- a/test/integration/test-apt-cache-remapping
+++ b/test/integration/test-apt-cache-remapping
@@ -8,6 +8,7 @@ setupenvironment
configarchitecture 'amd64'
buildsimplenativepackage 'foo' 'amd64' '1'
+insertinstalledpackage 'bar' 'all' '1'
# the default is 1MB – too much for our simple tests
echo 'APT::Cache-Grow "1000";' > rootdir/etc/apt/apt.conf.d/limit-cachegrow.conf
diff --git a/test/integration/test-apt-cli-json-hooks b/test/integration/test-apt-cli-json-hooks
index 17bd17814..9a3208c3c 100755
--- a/test/integration/test-apt-cli-json-hooks
+++ b/test/integration/test-apt-cli-json-hooks
@@ -169,7 +169,7 @@ Calculating upgrade...
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE
The following packages will be upgraded:
@@ -177,14 +177,14 @@ The following packages will be upgraded:
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE
Inst upgrade [1.0] (2.0 Lemons:testing [i386])
@@ -192,7 +192,7 @@ Conf upgrade (2.0 Lemons:testing [i386])
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE' apt dist-upgrade -s
@@ -206,7 +206,7 @@ Calculating upgrade...
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE
The following packages will be upgraded:
@@ -214,14 +214,14 @@ The following packages will be upgraded:
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE
Inst upgrade [1.0] (2.0 Lemons:testing [i386])
@@ -229,7 +229,7 @@ Conf upgrade (2.0 Lemons:testing [i386])
HOOK: HELLO
HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}}
HOOK: empty
-HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":4,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
+HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}}
HOOK: empty
HOOK: BYE' apt dist-upgrade -s
diff --git a/test/integration/test-apt-cli-list b/test/integration/test-apt-cli-list
index 3a9ca2c15..e81a3b7b3 100755
--- a/test/integration/test-apt-cli-list
+++ b/test/integration/test-apt-cli-list
@@ -26,7 +26,6 @@ setupaptarchive
testsuccessequal "Listing...
bar/now 1.0 i386 [installed,local]
baz/unstable 2.0 all [upgradable from: 0.1]
-dpkg/now 1.16.2+fake all [installed,local]
foo/unstable 1.0 all
foobar/unstable 2.0 i386 [upgradable from: 1.0]
foreign/unstable 2.0 armel [upgradable from: 1.0]
@@ -48,7 +47,6 @@ foreign/unstable 2.0 armel [upgradable from: 1.0]" apt list --upgradable
testsuccessequal "Listing...
bar/now 1.0 i386 [installed,local]
baz/now 0.1 all [installed,upgradable to: 2.0]
-dpkg/now 1.16.2+fake all [installed,local]
foobar/now 1.0 i386 [installed,upgradable to: 2.0]
foreign/now 1.0 armel [installed,upgradable to: 2.0]" apt list --installed
diff --git a/test/integration/test-apt-cli-update b/test/integration/test-apt-cli-update
index cc8d051d2..810221510 100755
--- a/test/integration/test-apt-cli-update
+++ b/test/integration/test-apt-cli-update
@@ -8,7 +8,6 @@ setupenvironment
configarchitecture "i386"
insertpackage 'unstable' 'foo' 'all' '2.0'
-cp rootdir/var/lib/dpkg/status dpkg.status
insertinstalledpackage 'foo' 'all' '1.0'
setupaptarchive --no-update
@@ -18,6 +17,6 @@ testfailuremsg 'E: The update command takes no arguments' apt update arguments
testempty apt update -qq -o pkgCacheFile::Generate=false
testsuccessequal "1 package can be upgraded. Run 'apt list --upgradable' to see it." apt update -qq
-cp dpkg.status rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
insertinstalledpackage 'foo' 'all' '2.0'
testsuccessequal 'All packages are up to date.' apt update -qq
diff --git a/test/integration/test-apt-get-changelog b/test/integration/test-apt-get-changelog
index 9ac9b063a..b216f6f9a 100755
--- a/test/integration/test-apt-get-changelog
+++ b/test/integration/test-apt-get-changelog
@@ -7,7 +7,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")"
setupenvironment
configarchitecture 'native'
-buildsimplenativepackage 'dpkg' 'native' '42' 'stable'
+buildsimplenativepackage 'awesome' 'native' '42' 'stable'
buildsimplenativepackage 'foo' 'all' '1.0' 'stable'
buildsimplenativepackage 'libbar' 'all' '1.0' 'stable'
@@ -118,20 +118,20 @@ testdpkgnotinstalled 'foo'
testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" apt changelog foo --print-uris -o Acquire::Changelogs::AlwaysOnline=false
testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" apt changelog foo --print-uris -o Acquire::Changelogs::AlwaysOnline=true
-testsuccess apt install dpkg -y
+testsuccess apt install awesome -y
# at this moment, we still have the Releasefile claim to be origin:ubuntu
echo 'Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu "false";' >> rootdir/etc/apt/apt.conf.d/nooriginchangelogs
-testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/d/dpkg/dpkg_42/changelog' dpkg.changelog" apt changelog dpkg --print-uris
-testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/dpkg/changelog' dpkg.changelog" apt changelog dpkg --print-uris -o Acquire::Changelogs::AlwaysOnline=false
-testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/d/dpkg/dpkg_42/changelog' dpkg.changelog" apt changelog dpkg --print-uris -o Acquire::Changelogs::AlwaysOnline=true
-testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/d/dpkg/dpkg_42/changelog' dpkg.changelog" apt changelog dpkg --print-uris -o Acquire::Changelogs::AlwaysOnline=false -o Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu=true
-testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/dpkg/changelog' dpkg.changelog" apt changelog dpkg --print-uris -o Acquire::Changelogs::AlwaysOnline=false -o Acquire::Changelogs::AlwaysOnline::Origin::Debian=true
-
-testsuccess apt changelog dpkg -d
-testfilestats 'dpkg.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
-head -n 3 dpkg.changelog > dpkg.change
-testfileequal 'dpkg.change' "$(apthelper cat-file 'rootdir/usr/share/doc/dpkg/changelog' | head -n 3)"
-rm -f dpkg.change dpkg.changelog
+testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris
+testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/awesome/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false
+testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=true
+testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false -o Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu=true
+testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/awesome/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false -o Acquire::Changelogs::AlwaysOnline::Origin::Debian=true
+
+testsuccess apt changelog awesome -d
+testfilestats 'awesome.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
+head -n 3 awesome.changelog > awesome.change
+testfileequal 'awesome.change' "$(apthelper cat-file 'rootdir/usr/share/doc/awesome/changelog' | head -n 3)"
+rm -f awesome.change awesome.changelog
# no package specified
testfailureequal 'E: No packages found' aptget changelog
diff --git a/test/integration/test-apt-mark b/test/integration/test-apt-mark
index 630a0d460..d1c65ad7c 100755
--- a/test/integration/test-apt-mark
+++ b/test/integration/test-apt-mark
@@ -15,14 +15,10 @@ insertinstalledpackage 'bar' 'amd64' '1'
setupaptarchive
-# dpkg is "installed" by our test framework
-testdpkginstalled dpkg
-
testnoautopkg() {
testempty aptmark showauto
testempty aptcache -q=1 showauto
testsuccessequal 'bar
-dpkg
foo' aptmark showmanual
testsuccessequal 'bar
foo' aptmark showmanual bar foo uninstalled
@@ -32,8 +28,7 @@ testfooisauto() {
testsuccessequal 'foo' aptcache -q=1 showauto
testsuccessequal 'foo' aptmark showauto foo
testsuccessequal 'foo' aptcache -q=1 showauto foo
- testsuccessequal 'bar
-dpkg' aptmark showmanual
+ testsuccessequal 'bar' aptmark showmanual
testsuccessequal 'bar' aptmark showmanual bar
}
testmarkonpkgasauto() {
@@ -59,8 +54,6 @@ testmarkonpkgasauto 'aptget' 'markauto' 'unmarkauto'
testnoholdpkg() {
testempty aptmark showhold
testempty aptmark showholds # typical "typo"
- testempty aptmark showhold dpkg
- testempty aptmark showholds dpkg
}
testpkgonhold() {
testsuccessequal "$1" aptmark showhold
diff --git a/test/integration/test-apt-move-and-forget-manual-sections b/test/integration/test-apt-move-and-forget-manual-sections
index 69a7d9f1d..4617abab3 100755
--- a/test/integration/test-apt-move-and-forget-manual-sections
+++ b/test/integration/test-apt-move-and-forget-manual-sections
@@ -15,17 +15,17 @@ buildsimplenativepackage 'libdef' 'native' '1' 'unstable' '' '' 'libs'
setupaptarchive
testmarkedauto
-testmarkedmanual 'dpkg'
+testmarkedmanual
testsuccess aptget install libabc/stable -y
testdpkginstalled 'libabc'
testdpkgnotinstalled 'libdef'
-testmarkedmanual 'dpkg' 'libabc'
+testmarkedmanual 'libabc'
testmarkedauto
testsuccess aptget dist-upgrade -y
testdpkginstalled 'libabc' 'libdef'
testmarkedauto 'libabc'
-testmarkedmanual 'dpkg' 'libdef'
+testmarkedmanual 'libdef'
diff --git a/test/integration/test-apt-never-markauto-sections b/test/integration/test-apt-never-markauto-sections
index 6ad89c506..a77d6b22b 100755
--- a/test/integration/test-apt-never-markauto-sections
+++ b/test/integration/test-apt-never-markauto-sections
@@ -25,11 +25,11 @@ setupaptarchive
testsuccess aptcache show nosection
testfailure grep 'Section' rootdir/tmp/testsuccess.output
-testequal 'dpkg' aptmark showmanual
+testempty aptmark showmanual
testsuccess aptget install mydesktop -y -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1
-testmarkedmanual 'dpkg' 'mydesktop'
+testmarkedmanual 'mydesktop'
testmarkedauto 'mydesktop-core' 'foreignpkg:i386' 'texteditor' 'browser' 'nosection'
# if the remove is from a user, don't do manual-bit passing
@@ -60,22 +60,22 @@ testsuccess aptget autoremove texteditor -y
testdpkgnotinstalled mydesktop mydesktop-core texteditor
testdpkginstalled browser
-testmarkedmanual 'browser' 'dpkg' 'foreignpkg:i386' 'nosection'
+testmarkedmanual 'browser' 'foreignpkg:i386' 'nosection'
testmarkedauto
# test that installed/upgraded auto-pkgs are not set to manual
testsuccess aptget install browser=41 -y --allow-downgrades
-testmarkedmanual 'browser' 'dpkg' 'foreignpkg:i386' 'nosection'
+testmarkedmanual 'browser' 'foreignpkg:i386' 'nosection'
testmarkedauto
testsuccess aptmark auto browser
testmarkedauto 'browser'
testsuccess aptmark auto nosection
testmarkedauto 'browser' 'nosection'
-testmarkedmanual 'dpkg' 'foreignpkg:i386'
+testmarkedmanual 'foreignpkg:i386'
testsuccess aptget install mydesktop -y -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1
-testmarkedmanual 'dpkg' 'foreignpkg:i386' 'mydesktop'
+testmarkedmanual 'foreignpkg:i386' 'mydesktop'
testmarkedauto 'browser' 'mydesktop-core' 'texteditor' 'nosection'
diff --git a/test/integration/test-apt-patterns b/test/integration/test-apt-patterns
index b015655d9..7f202710c 100755
--- a/test/integration/test-apt-patterns
+++ b/test/integration/test-apt-patterns
@@ -91,7 +91,6 @@ automatic2/now 1.0 i386 [installed,local]
available/unstable 1.0 all
broken/now 1.0 i386 [installed,local]
conf-only/now 1.0 i386 [residual-config]
-dpkg/now 1.16.2+fake all [installed,local]
essential/now 1.0 i386 [installed,local]
foreign/unstable 2.0 amd64
manual1/now 1.0 i386 [installed,local]
@@ -180,7 +179,6 @@ testsuccessequal "Listing...
automatic1/now 1.0 i386 [installed,local]
automatic2/now 1.0 i386 [installed,local]
broken/now 1.0 i386 [installed,local]
-dpkg/now 1.16.2+fake all [installed,local]
essential/now 1.0 i386 [installed,local]
manual1/now 1.0 i386 [installed,local]
manual2/now 1.0 i386 [installed,local]
diff --git a/test/integration/test-apt-update-nofallback b/test/integration/test-apt-update-nofallback
index 637716543..18f12b1e3 100755
--- a/test/integration/test-apt-update-nofallback
+++ b/test/integration/test-apt-update-nofallback
@@ -41,8 +41,7 @@ N: See apt-secure(8) manpage for repository creation and user configuration deta
assert_repo_is_intact()
{
- testsuccessequal "dpkg/now 1.16.2+fake all [installed,local]
-foo/unstable 2.0 all" apt list -qq
+ testsuccessequal 'foo/unstable 2.0 all' apt list -qq
testsuccess aptget install -y -s foo
testfailure aptget install -y evil
testsuccess aptget source foo --print-uris
diff --git a/test/integration/test-apt-update-rollback b/test/integration/test-apt-update-rollback
index ea431c816..8235968bb 100755
--- a/test/integration/test-apt-update-rollback
+++ b/test/integration/test-apt-update-rollback
@@ -39,8 +39,7 @@ start_with_good_inrelease() {
create_fresh_archive
testsuccess aptget update
listcurrentlistsdirectory > lists.before
- testsuccessequal 'dpkg/now 1.16.2+fake all [installed,local]
-old/unstable 1.0 all' apt list -qq
+ testsuccessequal 'old/unstable 1.0 all' apt list -qq
}
test_inrelease_to_new_inrelease() {
@@ -49,8 +48,7 @@ test_inrelease_to_new_inrelease() {
add_new_package '+1hour'
testsuccess aptget update -o Debug::Acquire::Transaction=1
- testsuccessequal 'dpkg/now 1.16.2+fake all [installed,local]
-new/unstable 1.0 all
+ testsuccessequal 'new/unstable 1.0 all
old/unstable 1.0 all' apt list -qq
}
diff --git a/test/integration/test-bug-604222-new-and-autoremove b/test/integration/test-bug-604222-new-and-autoremove
index 08756e03d..47da810c6 100755
--- a/test/integration/test-bug-604222-new-and-autoremove
+++ b/test/integration/test-bug-604222-new-and-autoremove
@@ -19,7 +19,6 @@ insertpackage 'stable' 'libkipi-data' 'i386' '4:15.08.0-1' '' 'important'
setupaptarchive
-cp -a rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status.backup
insertinstalledpackage 'libvtk5.4' 'i386' '5.4.2-7'
testsuccess aptmark markauto 'libvtk5.4'
testmarkedauto 'libvtk5.4'
@@ -80,8 +79,7 @@ Need to get 0 B/126 B of archives.
After this operation, 129 kB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only -o APT::Get::HideAutoRemove=small
-cp rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status
-rm -f rootdir/var/lib/apt/extended_states
+rm -f rootdir/var/lib/dpkg/status rootdir/var/lib/apt/extended_states
CONFLICTING='Reading package lists...
Building dependency tree...
diff --git a/test/integration/test-bug-673536-pre-depends-breaks-loop b/test/integration/test-bug-673536-pre-depends-breaks-loop
index a4cf66973..650866ee5 100755
--- a/test/integration/test-bug-673536-pre-depends-breaks-loop
+++ b/test/integration/test-bug-673536-pre-depends-breaks-loop
@@ -18,11 +18,8 @@ setupaptarchive
# we check with 'real' packages here as the simulation reports a 'Conf broken'
# which is technical correct for the simulation, but testing errormsg is ugly
-cp -a rootdir/var/lib/dpkg/status dpkg.status.backup
-
testloopbreak() {
- cp -a dpkg.status.backup rootdir/var/lib/dpkg/status
- rm -f rootdir/var/lib/apt/extended_states
+ rm -f rootdir/var/lib/dpkg/status rootdir/var/lib/apt/extended_states
testsuccess aptget install advanced=1 -y -t "$1"
testdpkginstalled advanced
diff --git a/test/integration/test-bug-728500-tempdir b/test/integration/test-bug-728500-tempdir
index 8fab8f28f..7497ffcf8 100755
--- a/test/integration/test-bug-728500-tempdir
+++ b/test/integration/test-bug-728500-tempdir
@@ -18,6 +18,5 @@ export TMPDIR=/does-not-exists
testsuccess aptget update -o Debug::Acquire::gpg=1
unset TMPDIR
-testsuccessequal 'dpkg
-coolstuff' aptcache pkgnames
+testsuccessequal 'coolstuff' aptcache pkgnames
testsuccess ls rootdir/var/lib/apt/lists/*InRelease
diff --git a/test/integration/test-bug-753297-upgradable b/test/integration/test-bug-753297-upgradable
index 353728db0..f33a6591d 100755
--- a/test/integration/test-bug-753297-upgradable
+++ b/test/integration/test-bug-753297-upgradable
@@ -31,5 +31,4 @@ N: There is 1 additional version. Please use the '-a' switch to see it" apt list
testsuccessequal "Listing...
bar/testing 2 all [upgradable from: 1]
-dpkg/now 1.16.2+fake all [installed,local]
foo/testing,now 1 all [installed]" apt list
diff --git a/test/integration/test-bug-782777-single-arch-weirdness b/test/integration/test-bug-782777-single-arch-weirdness
index 41be1e79c..695d053d3 100755
--- a/test/integration/test-bug-782777-single-arch-weirdness
+++ b/test/integration/test-bug-782777-single-arch-weirdness
@@ -50,7 +50,6 @@ is only available from another source
E: Package 'abar:amd64' has no installation candidate
E: Package 'zfoo:amd64' has no installation candidate" aptget install abar:amd64 zfoo:amd64 -s
- cp -f rootdir/var/lib/dpkg/status status.backup
insertinstalledpackage 'abar' 'i386' '1'
insertinstalledpackage 'zfoo' 'i386' '1'
@@ -62,7 +61,7 @@ zfoo set to automatically installed.' aptmark auto abar zfoo
testequal 'abar
zfoo' aptmark showauto abar zfoo
- mv -f status.backup rootdir/var/lib/dpkg/status
+ rm -f rootdir/var/lib/dpkg/status
}
msgmsg 'Single-Arch testrun'
diff --git a/test/integration/test-external-dependency-solver-protocol b/test/integration/test-external-dependency-solver-protocol
index 0091263b7..485a77068 100755
--- a/test/integration/test-external-dependency-solver-protocol
+++ b/test/integration/test-external-dependency-solver-protocol
@@ -213,7 +213,7 @@ APT-Candidate: yes
Package: stuff
Architecture: all
Version: 1
-APT-ID: 8
+APT-ID: 7
Source: stuff
Source-Version: 1
Priority: optional
diff --git a/test/integration/test-external-installation-planner-protocol b/test/integration/test-external-installation-planner-protocol
index 56a7ad1d6..192f21bb3 100755
--- a/test/integration/test-external-installation-planner-protocol
+++ b/test/integration/test-external-installation-planner-protocol
@@ -43,7 +43,7 @@ Remove: bar:amd64
Install: foo:amd64 libfoo:amd64
Planner: internal' head -n 6 "$EIPPLOG"
aptinternalplanner < "$EIPPLOG" > planner.log || true
-testsuccessequal 'Remove: 7
+testsuccessequal 'Remove: 6
Unpack: 2
Unpack: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log
diff --git a/test/integration/test-failing-maintainer-scripts b/test/integration/test-failing-maintainer-scripts
index 8cf2380ee..c2d631634 100755
--- a/test/integration/test-failing-maintainer-scripts
+++ b/test/integration/test-failing-maintainer-scripts
@@ -70,22 +70,21 @@ testmyfailure() {
testmarkedauto 'dependee'
}
-cp -a rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status.backup
testmyfailure aptget install failure-preinst -y
-cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
testmyfailure aptget install failure-postinst -y
-cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
testsuccess aptget install failure-prerm -y
testdpkginstalled failure-prerm
testmyfailure aptget purge failure-prerm -y
-cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
testsuccess aptget install failure-postrm -y
testdpkginstalled failure-postrm
testmyfailure aptget purge failure-postrm -y
# FIXME: test with output going to a PTY as it usually does
if false; then
- cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status
+ rm -f rootdir/var/lib/dpkg/status
apt install dependee -y || true
apt install failure-postinst -y || true
fi
diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning
index fccef6da3..dc3192fe9 100755
--- a/test/integration/test-policy-pinning
+++ b/test/integration/test-policy-pinning
@@ -7,6 +7,8 @@ TESTDIR="$(readlink -f "$(dirname "$0")")"
setupenvironment
configarchitecture "i386"
+insertinstalledpackage 'foobar' 'all' '1'
+
buildaptarchive
setupflataptarchive
diff --git a/test/integration/test-prevent-markinstall-multiarch-same-versionscrew b/test/integration/test-prevent-markinstall-multiarch-same-versionscrew
index 63fdb88d9..796623840 100755
--- a/test/integration/test-prevent-markinstall-multiarch-same-versionscrew
+++ b/test/integration/test-prevent-markinstall-multiarch-same-versionscrew
@@ -97,7 +97,7 @@ Conf out-of-sync-gone-foreign (2 unstable [amd64])
Conf out-of-sync-gone-native:i386 (2 unstable [i386])' aptget dist-upgrade -s #-o Debug::pkgDepCache::Marker=1
testempty dpkg -C
-rm rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
insertinstalledpackage 'libsame2' 'i386' '1' 'Multi-Arch: same'
insertinstalledpackage 'libsame3' 'i386' '1' 'Multi-Arch: same'
diff --git a/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings b/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings
index 4ac5e9060..d76602631 100755
--- a/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings
+++ b/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings
@@ -43,7 +43,6 @@ Inst steam:i386 (2 unstable [i386])
Conf libmesa:i386 (2 unstable [i386])
Conf steam:i386 (2 unstable [i386])' aptget install steam -st unstable
-cp rootdir/var/lib/dpkg/status default-status.dpkg
insertinstalledpackage 'libmesa' 'amd64' '1' 'Multi-Arch: same'
testsuccessequal 'Reading package lists...
Building dependency tree...
@@ -72,7 +71,7 @@ Conf libmesa (2 unstable [amd64])
Conf libmesa:i386 (2 unstable [i386])
Conf steam:i386 (2 unstable [i386])' aptget install steam -st unstable
-cp default-status.dpkg rootdir/var/lib/dpkg/status
+rm -f rootdir/var/lib/dpkg/status
insertinstalledpackage 'libmesa-lts' 'amd64' '1' 'Provides: libmesa
Conflicts: libmesa
Multi-Arch: same'
diff --git a/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual b/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual
index 2391c7e2d..627bd0c78 100755
--- a/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual
+++ b/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual
@@ -14,10 +14,8 @@ setupaptarchive
changetowebserver
testsuccess aptget update -o Debug::Acquire::gpg=1
-testsuccessequal "dpkg
-coolstuff" aptcache pkgnames
+testsuccessequal 'coolstuff' aptcache pkgnames
-testsuccessequal "dpkg
-source-package
+testsuccessequal 'source-package
virtual-package
-coolstuff" aptcache pkgnames --all-names
+coolstuff' aptcache pkgnames --all-names
diff --git a/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only
index fe42ba83d..80e41f2c2 100755
--- a/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only
+++ b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only
@@ -28,6 +28,10 @@ done
testfailure aptget update
testsuccess grep '^E:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output
+testsuccessequal "Package files:
+Pinned packages:" aptcache policy
+
+insertinstalledpackage 'foo' 'all' '1'
ROOTDIR="$(readlink -f .)"
testsuccessequal "Package files:
diff --git a/test/integration/test-unpack-different-version-unpacked b/test/integration/test-unpack-different-version-unpacked
index bcb483639..e7da64ceb 100755
--- a/test/integration/test-unpack-different-version-unpacked
+++ b/test/integration/test-unpack-different-version-unpacked
@@ -9,11 +9,8 @@ configarchitecture 'amd64' 'i386'
insertpackage 'unstable' 'libqtcore4' 'i386,amd64' '2' 'Multi-Arch: same'
setupaptarchive
-DPKGSTATUS='rootdir/var/lib/dpkg/status'
-cp $DPKGSTATUS dpkg.status
-
cleanstatus() {
- cp dpkg.status $DPKGSTATUS
+ rm -f rootdir/var/lib/dpkg/status
rm rootdir/var/cache/apt/*.bin
}