** Description changed: + [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 + 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]
** Also affects: apt (Ubuntu Groovy) Importance: Undecided Status: Fix Committed ** Also affects: apt (Ubuntu Focal) Importance: Undecided Status: New ** Changed in: apt (Ubuntu Focal) Status: New => Triaged -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1872200 Title: apt does not accept globs and regexes in some cases To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1872200/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs