From b6f362e8013b03efce54e7381e0e22fac1fa1539 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 20 Nov 2023 10:02:21 +0100 Subject: Restore ?garbage by calling MarkAndSweep before parsing This ensures that things work correctly. LP: #1995790 --- apt-private/private-install.cc | 3 +++ test/integration/test-apt-get-autoremove | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc index e366634ad..2f254ca27 100644 --- a/apt-private/private-install.cc +++ b/apt-private/private-install.cc @@ -669,6 +669,9 @@ bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, std::vectorMarkAndSweep(); + std::list mods; mods.push_back(APT::VersionSet::Modifier(MOD_INSTALL, "+", APT::VersionSet::Modifier::POSTFIX, APT::CacheSetHelper::CANDIDATE)); diff --git a/test/integration/test-apt-get-autoremove b/test/integration/test-apt-get-autoremove index 5546958a0..66257f442 100755 --- a/test/integration/test-apt-get-autoremove +++ b/test/integration/test-apt-get-autoremove @@ -75,6 +75,28 @@ The following packages will be REMOVED: po-debconf 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. Remv po-debconf [1.0.16]' aptget upgrade -s --autoremove +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget install -s '?garbage-' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget remove -s '?garbage' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget upgrade -s '?garbage-' echo 'APT::Get::AutomaticRemove "true";' > rootdir/etc/apt/apt.conf.d/autoremoval testsuccessequal 'Reading package lists... Building dependency tree... -- cgit v1.2.3-70-g09d2