#508403 pbuilder-satisfydepends-experimental doesn't always try higher versions

#508403#5
Date:
2008-12-10 22:24:22 UTC
From:
To:
Hi...

It seems that this (etch) version of pbuilder-satisfydepends-experimental
doesn't actually really work, in that in some situations it will not try
using a version of a package from experimental/backports (I've added some
extra echoes to help see what's going on):

 -> copying local configuration
 -> mounting /proc filesystem
 -> mounting /dev/pts filesystem
 -> policy-rc.d already exists
Obtaining the cached apt archive contents
Installing the build-deps
 -> Attempting to parse the build-deps : pbuilder-satisfydepends-experimental,v 1.1 2006/11/06 20:55:12 lool Exp $
 -> Considering build-dep devscripts (>= 2.10.7)
   -> Trying to add devscripts=2.10.35~bpo40+1
      Already adding
 -> Considering build-dep quilt
   -> Trying to add quilt
      Already adding  devscripts=2.10.35~bpo40+1
 -> Considering build-dep patchutils (>= 0.2.25)
   -> Trying to add patchutils
      Already adding  devscripts=2.10.35~bpo40+1 quilt
 -> Considering build-dep debhelper (>= 5.0.44)
   -> Trying to add debhelper=7.0.15~bpo40+2
      Already adding  devscripts=2.10.35~bpo40+1 quilt patchutils
APT_ADD_COMMAND is 'man-db=2.5.2-2~bpo40+1'
   -> Trying to add debhelper=7.0.15~bpo40+2 man-db=2.5.2-2~bpo40+1
      Already adding  devscripts=2.10.35~bpo40+1 quilt patchutils
APT_ADD_COMMAND is ''
   -> Loop detected, last APT error was: ======
Reading package lists...
Building dependency tree...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  debhelper: Conflicts: quilt (< 0.46-5) but 0.45-6 is to be installed
E: Broken packages
   -> =========================================
   -> (not adding  to debhelper=7.0.15~bpo40+2 man-db=2.5.2-2~bpo40+1)
       -> Cannot install debhelper=7.0.15~bpo40+2 man-db=2.5.2-2~bpo40+1; apt errors follow:
Reading package lists... Done
Building dependency tree... Done
E: Version '7.0.15~bpo40+2 man-db=2.5.2-2~bpo40+1' for 'debhelper' was not found
E: Could not satisfy build-dependency.
E: pbuilder-satisfydepends failed.


Since at the time it found the quilt dependency it was unaware that it
needed the bpo version, it chucked "vanilla" quilt in the install list.

When it subsequently found that the old version was unsatisfactory, it
didn't try the newer version.

I don't know whether the newer versions of pbuilder deal with this better
(I suspect the aptitude-style satisfydepends might handle it?), but it looks
like it would be fairly awkward to fix in the version that I have here.

I've also not looked into alternative workarounds yet; maybe I'll just move
the build environment over onto a lenny machine :-)

In any case, I thought it was something you should be aware of, if you're
not already.


Cheers,


Nick

#508403#10
Date:
2008-12-11 13:40:31 UTC
From:
To:
That's a very old and initial version of
pbuilder-satisfydepends-experimental.  I'm not sure what changed since
then, and I'm not sure how it's supposed to work.

Can you try the newer version? There should be a pbuilder from bpo,
and if you are a DD, you should probably have a sid box to develop on
anyway...

At Thu, 11 Dec 2008 11:24:22 +1300,
Nick Phillips wrote:

#508403#15
Date:
2008-12-11 20:29:18 UTC
From:
To:

OK, I've moved all the necessary stuff over to a lenny box, and confirm
that it works with lenny pbuilder with standard pbuilder-satisfydepends
and with pbuilder-satisfydepends-experimental.

Amusingly enough the "build a dummy package and let aptitude sort it
out"
approach is exactly what I was thinking of as a solution to a similar
problem the day before. Now I get to point at pbuilder-satisfydepends as
an example solution for the other problem - thanks!  :-)


Cheers,


Nick

#508403#20
Date:
2010-08-30 12:19:30 UTC
From:
To:
Hi,

I still have that kind of issue with version 0.199, ie with "folks"
package I get:

I: Installing the build-deps
 -> Attempting to parse the build-deps
 -> Considering build-depdebhelper (>= 7.0.50~)
   -> Trying to add debhelper
 -> Considering build-dep autotools-dev
   -> Trying to add autotools-dev
 -> Considering build-dep libglib2.0-dev (>= 2.24)
   -> Trying to add libglib2.0-dev
 -> Considering build-dep libtelepathy-glib-dev (>= 0.11.12)
   -> Trying to add libtelepathy-glib-dev=0.11.14-2
   -> Trying to add libtelepathy-glib-dev=0.11.14-2 libtelepathy-glib0=0.11.14-2
 -> Considering build-dep libdbus-glib-1-dev
   -> Trying to add libdbus-glib-1-dev
 -> Considering build-dep valac (>= 0.9.6)
   -> Trying to add valac=0.9.7-2
   -> Trying to add valac=0.9.7-2 valac-0.10
   -> Trying to add valac=0.9.7-2 valac-0.10 libglib2.0-0=2.25.14-1
   -> Trying to add valac=0.9.7-2 valac-0.10 libglib2.0-0=2.25.14-1 libglib2.0-0=2.24.1-1
   -> Loop detected, last APT error was: ======
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.24.1-1) but 2.25.14-1 is to be installed
 valac-0.10 : Depends: libglib2.0-dev (>= 2.25.11-3) but 2.24.1-1 is to be installed
E: Broken packages
   -> =========================================
   -> (not adding libglib2.0-0=2.24.1-1 to valac=0.9.7-2 valac-0.10 libglib2.0-0=2.25.14-1 libglib2.0-0=2.24.1-1)
       -> Cannot install valac=0.9.7-2 valac-0.10 libglib2.0-0=2.25.14-1 libglib2.0-0=2.24.1-1; apt errors follow:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package valac=0.9.7-2 valac-0.10 libglib2.0-0=2.25.14-1 libglib2.0-0
E: Couldn't find any package by regex 'valac=0.9.7-2 valac-0.10 libglib2.0-0=2.25.14-1 libglib2.0-0'

Cheers

Laurent Bigonville

#508403#25
Date:
2010-08-30 12:52:10 UTC
From:
To:
 One way to workaround is to bump the libglib2.0-dev build-dep here;
 it might not strictly correct for your source package, but it doesn't
 raise the real requirements since you need valac from experimental
 which needs glib from experimental (unless the uploaded valac binaries
 were misbuilt, but I think not since they build-dep on libglib2.0-dev
 (>= 2.25)).

 Problem is that valac-0.10 depends on libglib2.0-0 >= 2.25 and
 libglib2.0-dev 2.24 was already selected from unstable.  The current
 algorithm is linear and can't roll back the previous decision.

 Try to use the -aptitude resolver, it's usually much better.