** Also affects: software-properties (Ubuntu Noble)
   Importance: Undecided
       Status: Confirmed

** Also affects: ppa-purge (Ubuntu Noble)
   Importance: High
     Assignee: Ghadi Rahme (ghadi-rahme)
       Status: Triaged

** Description changed:

+ 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

-- 
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:
  Triaged
Status in software-properties package in Ubuntu:
  Confirmed
Status in ppa-purge source package in Mantic:
  Triaged
Status in software-properties source package in Mantic:
  Confirmed
Status in ppa-purge source package in Noble:
  Triaged
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

Reply via email to