[Bug 1995790] Re: regression: ?garbage does not work correctly in install commands
Julian Andres Klode
1995790 at bugs.launchpad.net
Tue Feb 13 19:14:50 UTC 2024
** Changed in: apt (Ubuntu Mantic)
Status: Triaged => In Progress
** Changed in: apt (Ubuntu Jammy)
Status: Triaged => In Progress
** Description changed:
- The awesome apt has a some wonderful tips on their EXAMPLES section
- (printed below). The choice of name to "garbage" might not have been the
- best but the function is extremely useful.
+ [Impact]
+ The '?garbage' pattern doesn't work with install/remove commands which is confusing, and the fix for it is trivial.
+
+ [Test plan]
+ Successful autopkgtest. The comprehensive test suite run as an autopkgtest has been updated in test/integration/test-apt-get-autoremove to test for the correct behavior of '?garbage' with install and remove.
+
+ [Where problems could occur]
+ You can see we had to tweak the test suite in a bunch of places because it relies on exact debug output format and because we now call "markandsweep" there's additional mark flags in the debug output. It's unlikely that this is a problem for others.
+
+ We have not seen regressions in noble in the past 2 weeks.
+
+ [Original bug report]
+ The awesome apt has a some wonderful tips on their EXAMPLES section (printed below). The choice of name to "garbage" might not have been the best but the function is extremely useful.
$ man apt-patterns | sed '/EXAMPLES/,/^[^ ]/!d;/^[^ ]/d'
- apt remove ?garbage
- Remove all packages that are automatically installed and no longer needed -
- same as apt autoremove
+ apt remove ?garbage
+ Remove all packages that are automatically installed and no longer needed -
+ same as apt autoremove
- apt purge ?config-files
- Purge all packages that only have configuration files left
+ apt purge ?config-files
+ Purge all packages that only have configuration files left
- apt list '~i !~M (~slibs|~sperl|~spython)'
- List all manually-installed packages in sections matching libs, perl, or
- python.
+ apt list '~i !~M (~slibs|~sperl|~spython)'
+ List all manually-installed packages in sections matching libs, perl, or
+ python.
Lets mark a package as automatically installed, and use the examples.
$ sudo apt-mark auto shotwell
shotwell set to automatically installed.
$ sudo apt remove ?garbage
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
- libraw20 shotwell shotwell-common
+ libraw20 shotwell shotwell-common
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- $ sudo apt autoremove
+ $ sudo apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
- libraw20 shotwell shotwell-common
+ libraw20 shotwell shotwell-common
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 9.806 kB disk space will be freed.
Do you want to continue? [Y/n] N
Abort.
Apt-patterns works as it should everywhere else, as far as I can see, it
works wonders with ie `apt list '~g|~c'` and many other applications. I
used `apt purge '~g|~c'` successfully in Ubuntu 20.04 for years, so I
feel this is a regression.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: apt 2.4.8
ProcVersionSignature: Ubuntu 5.15.0-52.58-generic 5.15.60
Uname: Linux 5.15.0-52-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu82.1
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Sun Nov 6 10:57:52 2022
SourcePackage: apt
UpgradeStatus: Upgraded to jammy on 2022-03-26 (224 days ago)
** Description changed:
[Impact]
The '?garbage' pattern doesn't work with install/remove commands which is confusing, and the fix for it is trivial.
[Test plan]
Successful autopkgtest. The comprehensive test suite run as an autopkgtest has been updated in test/integration/test-apt-get-autoremove to test for the correct behavior of '?garbage' with install and remove.
[Where problems could occur]
You can see we had to tweak the test suite in a bunch of places because it relies on exact debug output format and because we now call "markandsweep" there's additional mark flags in the debug output. It's unlikely that this is a problem for others.
- We have not seen regressions in noble in the past 2 weeks.
+ We have not seen regressions in noble in the past 2 weeks or noble-
+ proposed since 2023-11-23 (it was stuck for other reasons there), hence
+ other places the code change may affect have been thoroughly exercised
+ in the builders and autopkgtest runners.
[Original bug report]
The awesome apt has a some wonderful tips on their EXAMPLES section (printed below). The choice of name to "garbage" might not have been the best but the function is extremely useful.
$ man apt-patterns | sed '/EXAMPLES/,/^[^ ]/!d;/^[^ ]/d'
apt remove ?garbage
Remove all packages that are automatically installed and no longer needed -
same as apt autoremove
apt purge ?config-files
Purge all packages that only have configuration files left
apt list '~i !~M (~slibs|~sperl|~spython)'
List all manually-installed packages in sections matching libs, perl, or
python.
Lets mark a package as automatically installed, and use the examples.
$ sudo apt-mark auto shotwell
shotwell set to automatically installed.
$ sudo apt remove ?garbage
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libraw20 shotwell shotwell-common
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
libraw20 shotwell shotwell-common
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 9.806 kB disk space will be freed.
Do you want to continue? [Y/n] N
Abort.
Apt-patterns works as it should everywhere else, as far as I can see, it
works wonders with ie `apt list '~g|~c'` and many other applications. I
used `apt purge '~g|~c'` successfully in Ubuntu 20.04 for years, so I
feel this is a regression.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: apt 2.4.8
ProcVersionSignature: Ubuntu 5.15.0-52.58-generic 5.15.60
Uname: Linux 5.15.0-52-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu82.1
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Sun Nov 6 10:57:52 2022
SourcePackage: apt
UpgradeStatus: Upgraded to jammy on 2022-03-26 (224 days ago)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1995790
Title:
regression: ?garbage does not work correctly in install commands
Status in apt package in Ubuntu:
Fix Released
Status in apt source package in Jammy:
In Progress
Status in apt source package in Lunar:
Won't Fix
Status in apt source package in Mantic:
In Progress
Status in apt source package in Noble:
Fix Released
Bug description:
[Impact]
The '?garbage' pattern doesn't work with install/remove commands which is confusing, and the fix for it is trivial.
[Test plan]
Successful autopkgtest. The comprehensive test suite run as an autopkgtest has been updated in test/integration/test-apt-get-autoremove to test for the correct behavior of '?garbage' with install and remove.
[Where problems could occur]
You can see we had to tweak the test suite in a bunch of places because it relies on exact debug output format and because we now call "markandsweep" there's additional mark flags in the debug output. It's unlikely that this is a problem for others.
We have not seen regressions in noble in the past 2 weeks or noble-
proposed since 2023-11-23 (it was stuck for other reasons there),
hence other places the code change may affect have been thoroughly
exercised in the builders and autopkgtest runners.
[Original bug report]
The awesome apt has a some wonderful tips on their EXAMPLES section (printed below). The choice of name to "garbage" might not have been the best but the function is extremely useful.
$ man apt-patterns | sed '/EXAMPLES/,/^[^ ]/!d;/^[^ ]/d'
apt remove ?garbage
Remove all packages that are automatically installed and no longer needed -
same as apt autoremove
apt purge ?config-files
Purge all packages that only have configuration files left
apt list '~i !~M (~slibs|~sperl|~spython)'
List all manually-installed packages in sections matching libs, perl, or
python.
Lets mark a package as automatically installed, and use the examples.
$ sudo apt-mark auto shotwell
shotwell set to automatically installed.
$ sudo apt remove ?garbage
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libraw20 shotwell shotwell-common
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
libraw20 shotwell shotwell-common
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 9.806 kB disk space will be freed.
Do you want to continue? [Y/n] N
Abort.
Apt-patterns works as it should everywhere else, as far as I can see,
it works wonders with ie `apt list '~g|~c'` and many other
applications. I used `apt purge '~g|~c'` successfully in Ubuntu 20.04
for years, so I feel this is a regression.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: apt 2.4.8
ProcVersionSignature: Ubuntu 5.15.0-52.58-generic 5.15.60
Uname: Linux 5.15.0-52-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu82.1
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Sun Nov 6 10:57:52 2022
SourcePackage: apt
UpgradeStatus: Upgraded to jammy on 2022-03-26 (224 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1995790/+subscriptions
More information about the foundations-bugs
mailing list