Hello Norbert, thank you for your testing and results. This issue is caused by the fact that Ubuntu server and Ubuntu desktop use different types of awk. Ubuntu server uses gawk (GNU awk) by default while Ubuntu desktop ships with mawk which has less features than gawk and does not have support for the -i argument hence the error "awk: not an option: -i". If your workflow depends on ppa-purge I recommend installing gawk (apt install gawk) and this will fix the issue temporarily while I get a permanent fix for ppa-purge.
side note: I am not sure why there is a difference in the default awk installed/used between Ubuntu desktop and server maybe it is an oversight and should be labeled as a bug? or maybe there is another reason that someone could clarify? To my knowledge gawk is the default version of awk on most linux distros and has all the features of mawk. I will add gawk as a dependency to ppa-purge but I still believe that someone should look into why different versions of awk are shipped between server and desktop since this means shell scripts are not compatible between server and desktop by default. ** Changed in: ppa-purge (Ubuntu Mantic) Status: Fix Committed => In Progress ** Changed in: ppa-purge (Ubuntu Noble) Status: Fix Released => In Progress ** Tags removed: verification-needed verification-needed-mantic ** Tags added: verification-failed verification-failed-mantic -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to software-properties in Ubuntu. https://bugs.launchpad.net/bugs/2036761 Title: [mantic] ppa-purge no longer purges what add-apt-repository adds Status in ppa-purge package in Ubuntu: In Progress Status in software-properties package in Ubuntu: Confirmed Status in ppa-purge source package in Mantic: In Progress Status in software-properties source package in Mantic: Confirmed Status in ppa-purge source package in Noble: In Progress Status in software-properties source package in Noble: Confirmed Bug description: Thank you @jbicha for the original bug report! [ Impact ] Currently ppa-purge fails to purge packages on distribution using the deb822 source format. Currently mantic and noble make use of this format and are affected by this issue. When running ppa-purge to remove a custom PPA, ppa-purge fails to disable the custom PPA since it cannot disable deb822 sources and leads to apt still querying the ppa when running: $ apt update In older versions of ubuntu, PPAs used the ".list" format which could be disabled by simply commenting out the "deb" line with a "#". This was the method that ppa-purge used to disable PPAs. This new patch allows ppa-purge to detect and disable deb822 source files by adding an "Enabled: no" field in each component section of the deb822 file. It also removes any line that starts with "Enabled:" to make sure the resulting file is clean. [ Test Plan ] The changes were tested on both mantic and noble in a lxc container using the oibaf mesa PPA (https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers) as the test PPA. The following steps were recorded in a noble lxc container. - First make sure that mesa-utils is installed in your environment: $ sudo apt update && sudo apt install mesa-utils - Add the oibaf PPA to your system using the following command: $ sudo add-apt-repository ppa:oibaf/graphics-drivers - Make sure that the mesa-utils packages were upgraded after adding the PPA: $ sudo apt update && sudo apt upgrade $ dpkg - l | grep mesa - output should be similar to the following: ii libegl-mesa0:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the EGL API -- Mesa vendor library ii libgl1-mesa-dri:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the OpenGL API -- DRI modules ii libglapi-mesa:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the GL API -- shared library ii libglx-mesa0:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the OpenGL API -- GLX vendor library ii mesa-utils 9.0.0-2 amd64 Miscellaneous Mesa utilities -- symlinks ii mesa-utils-bin:amd64 9.0.0-2 amd64 Miscellaneous Mesa utilities -- native applications ii mesa-vulkan-drivers:amd64 24.1~git2402280600.41722c~oibaf~n amd64 Mesa Vulkan graphics drivers - Install and run ppa-purge: $ sudo apt install ppa-purge $ sudo ppa-purge ppa:oibaf/graphics-drivers - ppa-purge will report at the end that none of the oibaf packages need to be downgraded/removed: .... libglapi-mesa is already the newest version (24.1~git2402280600.41722c~oibaf~n). libglapi-mesa set to manually installed. libglx-mesa0 is already the newest version (24.1~git2402280600.41722c~oibaf~n). libglx-mesa0 set to manually installed. mesa-vulkan-drivers is already the newest version (24.1~git2402280600.41722c~oibaf~n). mesa-vulkan-drivers set to manually installed. Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-amdgpu1' Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [all]) for 'libdrm-common' Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-intel1' Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-nouveau2' Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm-radeon1' Selected version '2.4.120+git2402271331.1b4e04~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libdrm2' Selected version '24.1~git2402280600.41722c~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libegl-mesa0' Selected version '24.1~git2402280600.41722c~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libgbm1' Selected version '24.1~git2402280600.41722c~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libgl1-mesa-dri' Selected version '24.1~git2402280600.41722c~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libglapi-mesa' Selected version '24.1~git2402280600.41722c~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'libglx-mesa0' Selected version '24.1~git2402280600.41722c~oibaf~n' (Updated Open Graphics Drivers - since 2011!:24.04/noble [amd64]) for 'mesa-vulkan-drivers' 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. PPA purged successfully - And indeed none got modified: $ dpkg -l | grep mesa ii libegl-mesa0:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the EGL API -- Mesa vendor library ii libgl1-mesa-dri:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the OpenGL API -- DRI modules ii libglapi-mesa:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the GL API -- shared library ii libglx-mesa0:amd64 24.1~git2402280600.41722c~oibaf~n amd64 free implementation of the OpenGL API -- GLX vendor library ii mesa-utils 9.0.0-2 amd64 Miscellaneous Mesa utilities -- symlinks ii mesa-utils-bin:amd64 9.0.0-2 amd64 Miscellaneous Mesa utilities -- native applications ii mesa-vulkan-drivers:amd64 24.1~git2402280600.41722c~oibaf~n amd64 Mesa Vulkan graphics drivers - After installing the new ppa-purge deb: $ dpkg -l | grep ppa-purge ii ppa-purge 0.2.8+bzr63-0ubuntu2 all disables a PPA and reverts to official packages - Runnin ppa-purge again $ sudo ppa-purge ppa:oibaf/graphics-drivers - We can see the following output: Updating packages lists PPA to be removed: oibaf graphics-drivers Package revert list generated: libdrm-amdgpu1:amd64/noble libdrm-common/noble libdrm-intel1:amd64/noble libdrm-nouveau2:amd64/noble libdrm-radeon1:amd64/noble libdrm2:amd64/noble libegl-mesa0:amd64/noble libgbm1:amd64/noble libgl1-mesa-dri:amd64/noble libglapi-mesa:amd64/noble libglx-mesa0:amd64/noble mesa-vulkan-drivers:amd64/noble Updating packages lists Reading package lists... Done Building dependency tree... Done Reading state information... Done Selected version '2.4.120-2' (Ubuntu:24.04/noble [amd64]) for 'libdrm-amdgpu1' Selected version '2.4.120-2' (Ubuntu:24.04/noble [all]) for 'libdrm-common' Selected version '2.4.120-2' (Ubuntu:24.04/noble [amd64]) for 'libdrm-intel1' Selected version '2.4.120-2' (Ubuntu:24.04/noble [amd64]) for 'libdrm-nouveau2' Selected version '2.4.120-2' (Ubuntu:24.04/noble [amd64]) for 'libdrm-radeon1' Selected version '2.4.120-2' (Ubuntu:24.04/noble [amd64]) for 'libdrm2' Selected version '24.0.1-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libegl-mesa0' Selected version '24.0.1-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libgbm1' Selected version '24.0.1-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libgl1-mesa-dri' Selected version '24.0.1-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libglapi-mesa' Selected version '24.0.1-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libglx-mesa0' Selected version '24.0.1-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'mesa-vulkan-drivers' The following packages will be DOWNGRADED: libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl-mesa0 libgbm1 libgl1-mesa-dri libglapi-mesa libglx-mesa0 mesa-vulkan-drivers 0 upgraded, 0 newly installed, 12 downgraded, 0 to remove and 0 not upgraded. Need to get 0 B/20.5 MB of archives. After this operation, 36.1 MB disk space will be freed. Do you want to continue? [Y/n] - After downgrading the packages: $ dpkg -l | grep mesa ii libegl-mesa0:amd64 24.0.1-1ubuntu1 amd64 free implementation of the EGL API -- Mesa vendor library ii libgl1-mesa-dri:amd64 24.0.1-1ubuntu1 amd64 free implementation of the OpenGL API -- DRI modules ii libglapi-mesa:amd64 24.0.1-1ubuntu1 amd64 free implementation of the GL API -- shared library ii libglx-mesa0:amd64 24.0.1-1ubuntu1 amd64 free implementation of the OpenGL API -- GLX vendor library ii mesa-utils 9.0.0-2 amd64 Miscellaneous Mesa utilities -- symlinks ii mesa-utils-bin:amd64 9.0.0-2 amd64 Miscellaneous Mesa utilities -- native applications ii mesa-vulkan-drivers:amd64 24.0.1-1ubuntu1 amd64 Mesa Vulkan graphics drivers - This confirms that the packages were indeed downgraded. We can also check from the sources file that it was indeed disabled with "Enabled: no": $ cat /etc/apt/sources.list.d/oibaf-ubuntu-graphics-drivers-noble.sources Types: deb URIs: https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu/ Suites: noble Components: main Enabled: no Signed-By: -----BEGIN PGP PUBLIC KEY BLOCK----- ... - Running sudo apt update also shows that the oibaf PPA URL is not being queried: root@build-noble:~# sudo apt update Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease Hit:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. [ Where problems could occur ] - Patch could fail to disable the PPA if an "Enabled: yes" entry was not detected and removed or if no Components line was found. This would cause ppa-purge to fails again in the same manner it is currently failing. - The patch could also fail to detect the file in its entirety if the file name does not end with ".sources" or if its name does not follow the pattern $PPAOWNER/$PPANAME [Original Description] Test Case --------- From Ubuntu 23.10: sudo apt install hello sudo add-apt-repository ppa:jbicha/temp sudo apt upgrade apt policy hello sudo ppa-purge ppa:jbicha/temp apt policy hello reveals that the PPA version of hello is still installed Also /etc/apt/sources.list.d/jbicha-ubuntu-temp-mantic.sources is still present and active What Should Happen ------------------ ppa-purge should disable the PPA and reinstall any PPA packages with the version apt currently sees. Background ---------- add-apt-repository creates deb822 sources lists, starting in Ubuntu 23.10 https://discourse.ubuntu.com/t/spec-apt-deb822-sources-by- default/29333 Other Info ---------- add-apt-repository has a --remove option But it does not do the reinstall part which is important Honestly, that feature is so important, I suggest that add-apt-repository take over the functionality of ppa-purge so that we always get the ppa-purge behavior To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ppa-purge/+bug/2036761/+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