[Bug 1640892] Re: pbuilder: remove_packages() checks for existence in host, not in chroot

Mattia Rizzolo mattia at mapreri.org
Thu Nov 10 18:45:44 UTC 2016


** Description changed:

  The fix:
  https://anonscm.debian.org/git/pbuilder/pbuilder.git/commit/?id=bf1acdc
  
  [Impact]
  
  The remove_packages() function in pbuilder-modules contains:
      if (dpkg -s "$pkg" 2>&1)>/dev/null ; then
  This obviously must
      if ($CHROOTEXEC dpkg -s "$pkg" 2>&1)>/dev/null ; then
  
  This causes remove_packages() to try to remove packages that are not
  present, actually making the function not working at all in some
- circumstances, leading to crashes.
+ circumstances, leading to crashes; or anyway, it causes it to try to
+ remove packages from the chroot even when they are not there.
  
  [Test Case]
  
+ 2 ways:
+ 
+ 1)
   * get a sarge chroot, or anyway around that time
-  * assuming you have pbuilder installed on the host and not in the chroot, run:
+  * assuming you have pbuilder installed on the host and not in the chroot,
+    run:
         pbuilder u --removepackages pbuilder
+  * pbuilder crashes
+ 2)
+  * get a regular chroot of something common these days
+  * run `pbuilder u --removepackages pbuilder`
+  * notice how it tries to remove pbuilder from inside the chroot (it
+    shouldn't even try)
  
  [Regression Potential]
  
-  * for yakkety, no potential regression, this is a targetted fix.
+  * for yakkety, no potential regression, this is a targeted fix.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pbuilder in Ubuntu.
https://bugs.launchpad.net/bugs/1640892

Title:
  pbuilder: remove_packages() checks for existence in host, not in
  chroot

Status in pbuilder package in Ubuntu:
  New
Status in pbuilder source package in Yakkety:
  New
Status in pbuilder package in Debian:
  Unknown

Bug description:
  The fix:
  https://anonscm.debian.org/git/pbuilder/pbuilder.git/commit/?id=bf1acdc

  [Impact]

  The remove_packages() function in pbuilder-modules contains:
      if (dpkg -s "$pkg" 2>&1)>/dev/null ; then
  This obviously must
      if ($CHROOTEXEC dpkg -s "$pkg" 2>&1)>/dev/null ; then

  This causes remove_packages() to try to remove packages that are not
  present, actually making the function not working at all in some
  circumstances, leading to crashes; or anyway, it causes it to try to
  remove packages from the chroot even when they are not there.

  [Test Case]

  2 ways:

  1)
   * get a sarge chroot, or anyway around that time
   * assuming you have pbuilder installed on the host and not in the chroot,
     run:
         pbuilder u --removepackages pbuilder
   * pbuilder crashes
  2)
   * get a regular chroot of something common these days
   * run `pbuilder u --removepackages pbuilder`
   * notice how it tries to remove pbuilder from inside the chroot (it
     shouldn't even try)

  [Regression Potential]

   * for yakkety, no potential regression, this is a targeted fix.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pbuilder/+bug/1640892/+subscriptions



More information about the foundations-bugs mailing list