Actually the bug is not fixed on Noble, the PPA is not removed: ``` $ sudo bash -x -c "export DEBIAN_FRONTEND=noninteractive; apt-get -qq update && apt-get -qq dist-upgrade > /dev/null && apt-get -qq install software-properties-common apt-utils gpg-agent ppa-purge > /dev/null || apt-get -qq install software-properties-common apt-utils ppa-purge > /dev/null ; apt-cache policy software-properties-common ppa-purge; add-apt-repository -y ppa:nrbrtx/xorg-hotkeys > /dev/null; apt-cache policy | grep -E 'http://ppa|https://ppa' ; ppa-purge ppa:nrbrtx/xorg-hotkeys; grep -irE 'http://ppa|https://ppa' /etc/apt; apt-cache policy | grep -E 'http://ppa|https://ppa'" [sudo] password for n: + export DEBIAN_FRONTEND=noninteractive + DEBIAN_FRONTEND=noninteractive + apt-get -qq update + apt-get -qq dist-upgrade Extracting templates from packages: 100% + apt-get -qq install software-properties-common apt-utils gpg-agent ppa-purge + apt-cache policy software-properties-common ppa-purge software-properties-common: Installed: 0.99.46 Candidate: 0.99.46 Version table: *** 0.99.46 500 500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages 500 http://archive.ubuntu.com/ubuntu noble/main i386 Packages 100 /var/lib/dpkg/status ppa-purge: Installed: 0.2.8+bzr63-0ubuntu2 Candidate: 0.2.8+bzr63-0ubuntu2 Version table: *** 0.2.8+bzr63-0ubuntu2 500 500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages 500 http://archive.ubuntu.com/ubuntu noble/universe i386 Packages 100 /var/lib/dpkg/status + add-apt-repository -y ppa:nrbrtx/xorg-hotkeys + apt-cache policy + grep -E 'http://ppa|https://ppa' 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main i386 Packages 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main amd64 Packages + ppa-purge ppa:nrbrtx/xorg-hotkeys Updating packages lists PPA to be removed: nrbrtx xorg-hotkeys Package revert list generated: xserver-common/noble xserver-xorg-core/noble xserver-xorg-legacy/noble
awk: not an option: -i Updating packages lists Reading package lists... Done Building dependency tree... Done Reading state information... Done Selected version '2:21.1.11-2ubuntu2ppa2' (PPA with patched xserver-xorg to fix bug 865:24.04/noble [all]) for 'xserver-common' Selected version '2:21.1.11-2ubuntu2ppa2' (PPA with patched xserver-xorg to fix bug 865:24.04/noble [amd64]) for 'xserver-xorg-core' Selected version '2:21.1.11-2ubuntu2ppa2' (PPA with patched xserver-xorg to fix bug 865:24.04/noble [amd64]) for 'xserver-xorg-legacy' The following packages were automatically installed and are no longer required: cpdb-backend-cups cryptsetup cryptsetup-initramfs gir1.2-goa-1.0 gsfonts irqbalance libatk-adaptor libbabeltrace1 libc6-dbg libcpdb-frontend2 libcpdb2t64 libdebuginfod-common libecal-2.0-2 libipt2 libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra libmagickwand-6.q16-6 libnetplan0 libnsl-dev libperl5.36 libplist3 libpython3.11 libpython3.11-minimal libpython3.11-stdlib libsource-highlight-common libsource-highlight4v5 libtirpc-dev libvpx8 numix-gtk-theme numix-icon-theme p7zip-full perl-modules-5.36 python3-pyatspi python3.11 python3.11-minimal ubuntu-mate-wallpapers-mantic Use 'sudo apt autoremove' to remove them. Suggested packages: xfonts-100dpi | xfonts-75dpi The following packages will be upgraded: xserver-common xserver-xorg-core xserver-xorg-legacy 3 upgraded, 0 newly installed, 0 to remove and 4 not upgraded. Need to get 1546 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main amd64 xserver-common all 2:21.1.11-2ubuntu2ppa2 [33.0 kB] Get:2 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main amd64 xserver-xorg-legacy amd64 2:21.1.11-2ubuntu2ppa2 [40.0 kB] Get:3 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main amd64 xserver-xorg-core amd64 2:21.1.11-2ubuntu2ppa2 [1473 kB] Fetched 1546 kB in 1s (2180 kB/s) Preconfiguring packages ... setting xserver-xorg-legacy/xwrapper/allowed_users from configuration file (Reading database ... 321614 files and directories currently installed.) Preparing to unpack .../xserver-common_2%3a21.1.11-2ubuntu2ppa2_all.deb ... Unpacking xserver-common (2:21.1.11-2ubuntu2ppa2) over (2:21.1.11-2ubuntu1) ... Preparing to unpack .../xserver-xorg-legacy_2%3a21.1.11-2ubuntu2ppa2_amd64.deb ... Unpacking xserver-xorg-legacy (2:21.1.11-2ubuntu2ppa2) over (2:21.1.11-2ubuntu1) ... Preparing to unpack .../xserver-xorg-core_2%3a21.1.11-2ubuntu2ppa2_amd64.deb ... Unpacking xserver-xorg-core (2:21.1.11-2ubuntu2ppa2) over (2:21.1.11-2ubuntu1) ... Setting up xserver-common (2:21.1.11-2ubuntu2ppa2) ... Setting up xserver-xorg-legacy (2:21.1.11-2ubuntu2ppa2) ... setting xserver-xorg-legacy/xwrapper/allowed_users from configuration file Setting up xserver-xorg-core (2:21.1.11-2ubuntu2ppa2) ... Processing triggers for man-db (2.12.0-4build1) ... PPA purged successfully + grep -irE 'http://ppa|https://ppa' /etc/apt /etc/apt/sources.list.d/nrbrtx-ubuntu-xorg-hotkeys-noble.sources:URIs: https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu/ + apt-cache policy + grep -E 'http://ppa|https://ppa' 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main i386 Packages 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu noble/main amd64 Packages ``` Also the bug is not fixed on Mantic even with package from proposed: ``` $ sudo bash -x -c "export DEBIAN_FRONTEND=noninteractive; apt-get -qq update && apt-get -qq dist-upgrade > /dev/null && apt-get -qq install software-properties-common apt-utils gpg-agent ppa-purge > /dev/null || apt-get -qq install software-properties-common apt-utils ppa-purge > /dev/null ; apt-cache policy software-properties-common ppa-purge; add-apt-repository -y ppa:nrbrtx/xorg-hotkeys > /dev/null; apt-cache policy | grep -E 'http://ppa|https://ppa' ; ppa-purge ppa:nrbrtx/xorg-hotkeys; grep -irE 'http://ppa|https://ppa' /etc/apt; apt-cache policy | grep -E 'http://ppa|https://ppa'" + export DEBIAN_FRONTEND=noninteractive + DEBIAN_FRONTEND=noninteractive + apt-get -qq update + apt-get -qq dist-upgrade + apt-get -qq install software-properties-common apt-utils gpg-agent ppa-purge + apt-cache policy software-properties-common ppa-purge software-properties-common: Installed: 0.99.39 Candidate: 0.99.39 Version table: *** 0.99.39 500 500 http://archive.ubuntu.com/ubuntu mantic/main amd64 Packages 500 http://archive.ubuntu.com/ubuntu mantic/main i386 Packages 100 /var/lib/dpkg/status ppa-purge: Installed: 0.2.8+bzr63-0ubuntu1.23.10.1 Candidate: 0.2.8+bzr63-0ubuntu1.23.10.1 Version table: *** 0.2.8+bzr63-0ubuntu1.23.10.1 100 100 http://archive.ubuntu.com/ubuntu mantic-proposed/universe amd64 Packages 100 http://archive.ubuntu.com/ubuntu mantic-proposed/universe i386 Packages 100 /var/lib/dpkg/status 0.2.8+bzr63-0ubuntu1 500 500 http://archive.ubuntu.com/ubuntu mantic/universe amd64 Packages 500 http://archive.ubuntu.com/ubuntu mantic/universe i386 Packages + add-apt-repository -y ppa:nrbrtx/xorg-hotkeys + grep -E 'http://ppa|https://ppa' + apt-cache policy 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu mantic/main i386 Packages 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu mantic/main amd64 Packages + ppa-purge ppa:nrbrtx/xorg-hotkeys Updating packages lists PPA to be removed: nrbrtx xorg-hotkeys Package revert list generated: xserver-common/mantic xserver-xorg-core/mantic xserver-xorg-legacy/mantic awk: not an option: -i Updating packages lists Reading package lists... Done Building dependency tree... Done Reading state information... Done xserver-common is already the newest version (2:21.1.7-3ubuntu2.9ppa4). xserver-common set to manually installed. xserver-xorg-core is already the newest version (2:21.1.7-3ubuntu2.9ppa4). xserver-xorg-core set to manually installed. xserver-xorg-legacy is already the newest version (2:21.1.7-3ubuntu2.9ppa4). xserver-xorg-legacy set to manually installed. Selected version '2:21.1.7-3ubuntu2.9ppa4' (PPA with patched xserver-xorg to fix bug 865:23.10/mantic [all]) for 'xserver-common' Selected version '2:21.1.7-3ubuntu2.9ppa4' (PPA with patched xserver-xorg to fix bug 865:23.10/mantic [amd64]) for 'xserver-xorg-core' Selected version '2:21.1.7-3ubuntu2.9ppa4' (PPA with patched xserver-xorg to fix bug 865:23.10/mantic [amd64]) for 'xserver-xorg-legacy' 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. PPA purged successfully + grep -irE 'http://ppa|https://ppa' /etc/apt /etc/apt/sources.list.d/nrbrtx-ubuntu-xorg-hotkeys-mantic.sources:URIs: https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu/ + grep -E 'http://ppa|https://ppa' + apt-cache policy 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu mantic/main i386 Packages 500 https://ppa.launchpadcontent.net/nrbrtx/xorg-hotkeys/ubuntu mantic/main amd64 Packages ``` Please check your patches more carefully. You are breaking user experience. The same commands work normally on all previous LTS releases - from 16.04 LTS to 22.04 LTS. -- 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: Fix Released Status in software-properties package in Ubuntu: Confirmed Status in ppa-purge source package in Mantic: Fix Committed Status in software-properties source package in Mantic: Confirmed Status in ppa-purge source package in Noble: Fix Released 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