This bug was fixed in the package apt - 2.0.4 --------------- apt (2.0.4) focal; urgency=medium
[ Julian Andres Klode ] * Merge 2.0.2ubuntu0.1 and 2.0.2ubuntu0.2 security updates with 2.0.3 release. * pkgnames: Correctly set the default for AllNames to false, and do not exclude virtual packages if --all-names is specified (LP: #1876495) * Remove expired domain that became nsfw from debian/changelog * patterns: Terminate short pattern by ~ and ! (LP: #1911676) * Improve immediate configuration handling (LP: #1871268) - Do not immediately configure m-a: same packages in lockstep - Ignore failures from immediate configuration. This does not change the actual installation ordering - we never passed the return code to the caller and installation went underway anyway if it could be ordered at a later stage, this just removes spurious after-the-fact errors. [ JCGoran ] * Fix "extended_states" typo in apt-mark(8) (Closes: #969086) apt (2.0.3) focal; urgency=medium [ Frans Spiesschaert ] * Dutch manpages translation update (Closes: #956313) [ David Kalnischkies ] * Add correct std namespace to nullptr_t [ Julian Andres Klode ] * Reinstate * wildcards (Closes: #953531) (LP: #1872200) * apt list: Fix behavior of regex vs fnmatch vs wildcards * debian/gbp.conf: We're in the 2.0.y branch * CI: Test on ubuntu:focal, not debian:unstable -- Julian Andres Klode <juli...@ubuntu.com> Thu, 14 Jan 2021 12:49:00 +0100 ** Changed in: apt (Ubuntu Focal) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1872200 Title: apt does not accept globs and regexes in some cases Status in apt package in Ubuntu: Fix Released Status in apt source package in Focal: Fix Released Status in apt source package in Groovy: Fix Released Bug description: [Impact] Users can't use * wildcards anymore in focal, except by accident in apt list. For apt list, we now start restricting wildcard syntax to the same syntax install now accepts, and at the same time we remove the restrictions on which patterns are accepted (which only accepted patterns starting in ~ or ?), so !~napt now works, and does not accidentally match as a wildcard. [Test case] Test that * wildcards work for both install and list, and test that a ? wildcard does not. We included autopkgtests for those: #### BEGIN TESTS ##### # * wildcards should still work testsuccessequal "Listing... automatic1/now 1.0 i386 [installed,local] automatic2/now 1.0 i386 [installed,local]" apt list 'automatic*' testfailureequal "Reading package lists... Building dependency tree... Reading state information... Note, selecting 'automatic1' for glob 'automatic*' Note, selecting 'automatic2' for glob 'automatic*' automatic1 is already the newest version (1.0). automatic1 set to manually installed. automatic2 is already the newest version (1.0). automatic2 set to manually installed. You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: broken : Depends: does-not-exist but it is not installable E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)." apt install -s 'automatic*' # other wildcards should fail testfailureequal "Listing... E: input:0-10: error: Expected pattern automatic? ^^^^^^^^^^" apt list 'automatic?' testfailureequal "Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package automatic?" apt install -s 'automatic?' #### END TESTS ##### Also it might be worth checking that apt list !~napt works. This used to produce an empty list, as it was accidentally matched as a wildcard and produced no result - now it produces every package whose name does not contain "apt". [Regression potential] The changes only affect interactive users, as apt(8) is not stable for in-script use, hence they can fix up their command-line if it stops working for them (though, really, more should work now). No scripts will be broken :) [Squashed in changes] The SRU also fixes potential build failures by correctly prefxing nullptr_t with the std:: namespace, and includes updated Dutch documentation. [Original bug report] Observed with Ubuntu 20.04 Beta. apt remove 'mypackage*' does not remove all installed packages starting with “mypackage”. Instead: $ sudo apt remove 'mypackage*' Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package mypackage* However: $ sudo apt list --installed 'mypackage*' Listing... Done mypackage-data-v1/focal,focal,now 0.3.2-5build1 all [installed,automatic] mypackage1/focal,now 0.3.2-5build1 amd64 [installed] To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1872200/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp