Test done on Noble: 1- Confirming that gawk is not in use: $ awk --version mawk 1.3.4 20240123 Copyright 2008-2023,2024, Thomas E. Dickey Copyright 1991-1996,2014, Michael D. Brennan random-funcs: arc4random_stir/arc4random regex-funcs: internal compiled limits: sprintf buffer 8192 maximum-integer 9223372036854775808 2- Verify that ppa-purge from proposed is installed: $ apt list ppa-purge Listing... Done ppa-purge/noble-proposed,now 0.2.8+bzr63-0ubuntu2.1 all [installed] 3- Install mesa from oibaf ppa: $ apt list mesa-vulkan-drivers Listing... Done mesa-vulkan-drivers/noble,now 24.2~git2406140600.39fdd2~oibaf~n amd64 [installed,automatic] 4- Remove the oibaf ppa using ppa-purge: $ sudo ppa-purge ppa:oibaf/graphics-drivers Updating packages lists Warning: The unit file, source configuration file or drop-ins of apt-news.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of esm-cache.service changed on disk. Run 'systemctl daemon-reload' to reload units. W: https://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu/dists/noble/InRelease: Signature by key 5ABCE68FF4633EA42E219156957D2708A03A4626 uses weak algorithm (rsa1024) 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 libxatracker2:amd64/noble mesa-vulkan-drivers:amd64/noble Updating packages lists Warning: The unit file, source configuration file or drop-ins of apt-news.service changed on disk. Run 'systemctl daemon-reload' to reload units. Warning: The unit file, source configuration file or drop-ins of esm-cache.service changed on disk. Run 'systemctl daemon-reload' to reload units. Reading package lists... Done Building dependency tree... Done Reading state information... Done Selected version '2.4.120-2build1' (Ubuntu:24.04/noble [amd64]) for 'libdrm-amdgpu1' Selected version '2.4.120-2build1' (Ubuntu:24.04/noble [all]) for 'libdrm-common' Selected version '2.4.120-2build1' (Ubuntu:24.04/noble [amd64]) for 'libdrm-intel1' Selected version '2.4.120-2build1' (Ubuntu:24.04/noble [amd64]) for 'libdrm-nouveau2' Selected version '2.4.120-2build1' (Ubuntu:24.04/noble [amd64]) for 'libdrm-radeon1' Selected version '2.4.120-2build1' (Ubuntu:24.04/noble [amd64]) for 'libdrm2' Selected version '24.0.5-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libegl-mesa0' Selected version '24.0.5-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libgbm1' Selected version '24.0.5-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libgl1-mesa-dri' Selected version '24.0.5-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libglapi-mesa' Selected version '24.0.5-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libglx-mesa0' Selected version '24.0.5-1ubuntu1' (Ubuntu:24.04/noble [amd64]) for 'libxatracker2' Selected version '24.0.5-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 libxatracker2 mesa-vulkan-drivers 0 upgraded, 0 newly installed, 13 downgraded, 0 to remove and 1 not upgraded. Need to get 0 B/22.6 MB of archives. After this operation, 39.8 MB disk space will be freed. Do you want to continue? [Y/n] dpkg: warning: downgrading libdrm2:amd64 from 2.4.121+git2406040500.7f2091~oibaf~n to 2.4.120-2build1 (Reading database ... 147892 files and directories currently installed.) Preparing to unpack .../00-libdrm2_2.4.120-2build1_amd64.deb ... Unpacking libdrm2:amd64 (2.4.120-2build1) over (2.4.121+git2406040500.7f2091~oibaf~n) ... dpkg: warning: downgrading libdrm-common from 2.4.121+git2406040500.7f2091~oibaf~n to 2.4.120-2build1 Preparing to unpack .../01-libdrm-common_2.4.120-2build1_all.deb ... Unpacking libdrm-common (2.4.120-2build1) over (2.4.121+git2406040500.7f2091~oibaf~n) ... dpkg: warning: downgrading libdrm-amdgpu1:amd64 from 2.4.121+git2406040500.7f2091~oibaf~n to 2.4.120-2build1 Preparing to unpack .../02-libdrm-amdgpu1_2.4.120-2build1_amd64.deb ... Unpacking libdrm-amdgpu1:amd64 (2.4.120-2build1) over (2.4.121+git2406040500.7f2091~oibaf~n) ... dpkg: warning: downgrading libdrm-intel1:amd64 from 2.4.121+git2406040500.7f2091~oibaf~n to 2.4.120-2build1 Preparing to unpack .../03-libdrm-intel1_2.4.120-2build1_amd64.deb ... Unpacking libdrm-intel1:amd64 (2.4.120-2build1) over (2.4.121+git2406040500.7f2091~oibaf~n) ... dpkg: warning: downgrading libdrm-nouveau2:amd64 from 2.4.121+git2406040500.7f2091~oibaf~n to 2.4.120-2build1 Preparing to unpack .../04-libdrm-nouveau2_2.4.120-2build1_amd64.deb ... Unpacking libdrm-nouveau2:amd64 (2.4.120-2build1) over (2.4.121+git2406040500.7f2091~oibaf~n) ... dpkg: warning: downgrading libdrm-radeon1:amd64 from 2.4.121+git2406040500.7f2091~oibaf~n to 2.4.120-2build1 Preparing to unpack .../05-libdrm-radeon1_2.4.120-2build1_amd64.deb ... Unpacking libdrm-radeon1:amd64 (2.4.120-2build1) over (2.4.121+git2406040500.7f2091~oibaf~n) ... dpkg: warning: downgrading libegl-mesa0:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../06-libegl-mesa0_24.0.5-1ubuntu1_amd64.deb ... Unpacking libegl-mesa0:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... dpkg: warning: downgrading libgbm1:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../07-libgbm1_24.0.5-1ubuntu1_amd64.deb ... Unpacking libgbm1:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... dpkg: warning: downgrading libgl1-mesa-dri:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../08-libgl1-mesa-dri_24.0.5-1ubuntu1_amd64.deb ... Unpacking libgl1-mesa-dri:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... dpkg: warning: downgrading libglx-mesa0:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../09-libglx-mesa0_24.0.5-1ubuntu1_amd64.deb ... Unpacking libglx-mesa0:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... dpkg: warning: downgrading libglapi-mesa:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../10-libglapi-mesa_24.0.5-1ubuntu1_amd64.deb ... Unpacking libglapi-mesa:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... dpkg: warning: downgrading libxatracker2:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../11-libxatracker2_24.0.5-1ubuntu1_amd64.deb ... Unpacking libxatracker2:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... dpkg: warning: downgrading mesa-vulkan-drivers:amd64 from 24.2~git2406140600.39fdd2~oibaf~n to 24.0.5-1ubuntu1 Preparing to unpack .../12-mesa-vulkan-drivers_24.0.5-1ubuntu1_amd64.deb ... Unpacking mesa-vulkan-drivers:amd64 (24.0.5-1ubuntu1) over (24.2~git2406140600.39fdd2~oibaf~n) ... Setting up libglapi-mesa:amd64 (24.0.5-1ubuntu1) ... Setting up libdrm-common (2.4.120-2build1) ... Setting up libdrm2:amd64 (2.4.120-2build1) ... Setting up libdrm-amdgpu1:amd64 (2.4.120-2build1) ... Setting up mesa-vulkan-drivers:amd64 (24.0.5-1ubuntu1) ... Setting up libdrm-nouveau2:amd64 (2.4.120-2build1) ... Setting up libgbm1:amd64 (24.0.5-1ubuntu1) ... Setting up libdrm-radeon1:amd64 (2.4.120-2build1) ... Setting up libdrm-intel1:amd64 (2.4.120-2build1) ... Setting up libgl1-mesa-dri:amd64 (24.0.5-1ubuntu1) ... Setting up libxatracker2:amd64 (24.0.5-1ubuntu1) ... Setting up libegl-mesa0:amd64 (24.0.5-1ubuntu1) ... Setting up libglx-mesa0:amd64 (24.0.5-1ubuntu1) ... Processing triggers for libc-bin (2.39-0ubuntu8.2) ... PPA purged successfully 5- make sure mesa got downgraded: $ apt list mesa-vulkan-drivers Listing... Done mesa-vulkan-drivers/noble,now 24.0.5-1ubuntu1 amd64 [installed] 6- Finally make sure the new help message prints correctly: $ ppa-purge Warning: Required ppa-name argument was not specified Usage: sudo ppa-purge [options] [/ppaname] ppa-purge will reset all packages from a PPA to the standard versions released for your distribution. Options: -p [ppaname] PPA name to be disabled (default: ppa) -o [ppaowner] PPA owner -s [host] Repository server (default: ppa.launchpadcontent.net) -d [distribution] Override the default distribution choice. -y Pass -y --force-yes to apt-get or -y to aptitude -i Reverse preference of apt-get upon aptitude. -h Display this help text Example usage commands: sudo ppa-purge -o xorg-edgers will remove https://launchpad.net/~xorg-edgers/+archive/ppa sudo ppa-purge -o sarvatt -p xorg-testing will remove https://launchpad.net/~sarvatt/+archive/xorg-testing sudo ppa-purge [ppa:]ubuntu-x-swat/x-updates will remove https://launchpad.net/~ubuntu-x-swat/+archive/x-updates Notice: If ppa-purge fails for some reason and you wish to try again, (For example: you left synaptic open while attempting to run it) remove the line "Enabled: no" from the Components section in the PPA ".sources" file or uncomment the PPA from its ".list" file, run apt-get update and try again. 7- This confirms that the patch works as expected on Noble