Public bug reported:

[Impact]
If a package that is Protected: yes (or Important: yes), or one of it's 
dependencies, is involved in a dependency loop with Breaks, APT requires 
APT::Force-LoopBreak instead of resolving the situation directly.

[Test plan]
Run the integration test suite (the autopkgtest) :)

Our test suite covers the tests for both Breaks and Conflicts.

Breaks:

protected-sysvinit (= 1) without dependencies is installed
protected-sysvinit (= 2) Pre-Depends protected-systemd-sysv
protected-systemd-sysv (= 2) Breaks: protected-sysvinit (<< 2)

Test: Install protected-sysvinit (= 2)
Expected result: Unpacking protected-sysvinit (= 2) deconfigures 
protected-sysvinit (= 1), and then we unpack and configure protected-sysvinit 
(= 2) and end up with a working system.

Conflicts: As for Breaks, but the Conflicts will remove the package
temporarily, requiring the use of APT::Force-LoopBreak option.

[Where problems could occur]
We now allow dpkg to automatically deconfigure protected packages. This should 
just make them behave like normal packages to APT's eye, but bugs I guess could 
occur somewhere in the APT/dpkg interaction (this only applies to releases with 
Protected support in dpkg, Important is not affected, it's always been "normal" 
for dpkg).

During development, we accidentally simplified the patch so much that
Conflicts did not require Force-LoopBreak for temporary removal. We
fixed that, but it points out that there is a place where the loop break
check happens that is a potential regression place.

** Affects: apt (Ubuntu)
     Importance: Undecided
         Status: Triaged

** Affects: apt (Ubuntu Bionic)
     Importance: Undecided
         Status: Triaged

** Affects: apt (Ubuntu Focal)
     Importance: Undecided
         Status: Triaged

** Affects: apt (Ubuntu Groovy)
     Importance: Undecided
         Status: Triaged

** Affects: apt (Ubuntu Hirsute)
     Importance: Undecided
         Status: Triaged

** Description changed:

  [Impact]
  If a package that is Protected: yes (or Important: yes), or one of it's 
dependencies, is involved in a dependency loop with Breaks, APT requires 
APT::Force-LoopBreak instead of resolving the situation directly.
  
  [Test plan]
  Our test suite covers the tests for both Breaks and Conflicts.
  
  Breaks:
  
  protected-sysvinit (= 1) without dependencies is installed
  protected-sysvinit (= 2) Pre-Depends protected-systemd-sysv
  protected-systemd-sysv (= 2) Breaks: protected-sysvinit (<< 2)
  
  Test: Install protected-sysvinit (= 2)
  Expected result: Unpacking protected-sysvinit (= 2) deconfigures 
protected-sysvinit (= 1), and then we unpack and configure protected-sysvinit 
(= 2) and end up with a working system.
  
  Conflicts: As for Breaks, but the Conflicts will remove the package
  temporarily, requiring the use of APT::Force-LoopBreak option.
  
- 
  [Where problems could occur]
- We now allow dpkg to automatically deconfigure protected packages. This 
should just make them behave like normal packages to APT's eye, but bugs I 
guess could occur somewhere in the APT/dpkg interaction.
+ We now allow dpkg to automatically deconfigure protected packages. This 
should just make them behave like normal packages to APT's eye, but bugs I 
guess could occur somewhere in the APT/dpkg interaction (this only applies to 
releases with Protected support in dpkg, Important is not affected, it's always 
been "normal" for dpkg).
  
  During development, we accidentally simplified the patch so much that
  Conflicts did not require Force-LoopBreak for temporary removal. We
  fixed that, but it points out that there is a place where the loop break
  check happens that is a potential regression place.

** Also affects: apt (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: apt (Ubuntu Hirsute)
   Importance: Undecided
       Status: New

** Also affects: apt (Ubuntu Groovy)
   Importance: Undecided
       Status: New

** Also affects: apt (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Changed in: apt (Ubuntu Hirsute)
       Status: New => Triaged

** Changed in: apt (Ubuntu Groovy)
       Status: New => Incomplete

** Changed in: apt (Ubuntu Groovy)
       Status: Incomplete => Triaged

** Changed in: apt (Ubuntu Focal)
       Status: New => Triaged

** Changed in: apt (Ubuntu Bionic)
       Status: New => Triaged

** Description changed:

  [Impact]
  If a package that is Protected: yes (or Important: yes), or one of it's 
dependencies, is involved in a dependency loop with Breaks, APT requires 
APT::Force-LoopBreak instead of resolving the situation directly.
  
  [Test plan]
+ Run the integration test suite (the autopkgtest) :)
+ 
  Our test suite covers the tests for both Breaks and Conflicts.
  
  Breaks:
  
  protected-sysvinit (= 1) without dependencies is installed
  protected-sysvinit (= 2) Pre-Depends protected-systemd-sysv
  protected-systemd-sysv (= 2) Breaks: protected-sysvinit (<< 2)
  
  Test: Install protected-sysvinit (= 2)
  Expected result: Unpacking protected-sysvinit (= 2) deconfigures 
protected-sysvinit (= 1), and then we unpack and configure protected-sysvinit 
(= 2) and end up with a working system.
  
  Conflicts: As for Breaks, but the Conflicts will remove the package
  temporarily, requiring the use of APT::Force-LoopBreak option.
  
  [Where problems could occur]
  We now allow dpkg to automatically deconfigure protected packages. This 
should just make them behave like normal packages to APT's eye, but bugs I 
guess could occur somewhere in the APT/dpkg interaction (this only applies to 
releases with Protected support in dpkg, Important is not affected, it's always 
been "normal" for dpkg).
  
  During development, we accidentally simplified the patch so much that
  Conflicts did not require Force-LoopBreak for temporary removal. We
  fixed that, but it points out that there is a place where the loop break
  check happens that is a potential regression place.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1916725

Title:
  Protected/Important packages are not deconfigured, require Force-
  LoopBreak

Status in apt package in Ubuntu:
  Triaged
Status in apt source package in Bionic:
  Triaged
Status in apt source package in Focal:
  Triaged
Status in apt source package in Groovy:
  Triaged
Status in apt source package in Hirsute:
  Triaged

Bug description:
  [Impact]
  If a package that is Protected: yes (or Important: yes), or one of it's 
dependencies, is involved in a dependency loop with Breaks, APT requires 
APT::Force-LoopBreak instead of resolving the situation directly.

  [Test plan]
  Run the integration test suite (the autopkgtest) :)

  Our test suite covers the tests for both Breaks and Conflicts.

  Breaks:

  protected-sysvinit (= 1) without dependencies is installed
  protected-sysvinit (= 2) Pre-Depends protected-systemd-sysv
  protected-systemd-sysv (= 2) Breaks: protected-sysvinit (<< 2)

  Test: Install protected-sysvinit (= 2)
  Expected result: Unpacking protected-sysvinit (= 2) deconfigures 
protected-sysvinit (= 1), and then we unpack and configure protected-sysvinit 
(= 2) and end up with a working system.

  Conflicts: As for Breaks, but the Conflicts will remove the package
  temporarily, requiring the use of APT::Force-LoopBreak option.

  [Where problems could occur]
  We now allow dpkg to automatically deconfigure protected packages. This 
should just make them behave like normal packages to APT's eye, but bugs I 
guess could occur somewhere in the APT/dpkg interaction (this only applies to 
releases with Protected support in dpkg, Important is not affected, it's always 
been "normal" for dpkg).

  During development, we accidentally simplified the patch so much that
  Conflicts did not require Force-LoopBreak for temporary removal. We
  fixed that, but it points out that there is a place where the loop
  break check happens that is a potential regression place.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1916725/+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