[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#740133: apt: fails to install versioned dependencies



Package: apt
Version: 0.9.9.1~ubuntu3
Severity: important

Dear Maintainer,

1) One of our products, call it P, is composed of a set of packages which
express some simple dependencies, never more than three deep at present.

2) Such dependencies are strictly versioned.  That is, if package X depends on
package Y then the control file for X version v will specify Y version v.

3) Our package repo holds several versions of each package, accumulated
during the evolution of the product.  The package index is generated in
the simplest way possible:

  (cd $repo-dir ; dpkg-scanpackages -m . /dev/null > Packages)

4) There is no issue with "apt-get download" accessing any package at any
version, in other words package search and resolution are functioning as
expected.

5) Our build process for P version v installs a manifest of toplevel packages
all specifying version v, which should cause dependent packages also of
version v to be installed.  So, for example:

  apt-get -qy install X1=v # Depends on Y1=v, ...
  apt-get -qy install X2=v # Depends on Y2=v, ...
  ...


5a) This works correctly as long as v is the latest version in
our package repo.  Packages X1, X2..., Y1, Y2, ... are all installed
at version v.

5b) When v is not the latest version of these packages, but say w is,
apt-get reports:

  The following packages have unmet dependencies:
   X1 : Depends : Y1 (= v) but w is to be installed
   X2 : Depends : Y2 (= v) but w is to be installed
   ...


5c) We can work around this behavior by explicitly listing Y1, Y2, ...
in the build manifest as in item (5) with version specified.

6) We conclude that there is no issue with installing the packages explicitly
at any desired version.  There is no issue with implictly resolving versioned
dependencies either and installing those, provided the version happens to
be the latest available in the repo.

7) But we think it's a severe issue that apt-get fails to install the
dependencies otherwise.  We've shown that it can install each dependency
as requested, at the version requested.  We think it should.  The cause
will probably turn up as nothing more than one or two lines of bad logic.

8) This issue occurs on a variety of Ubuntu versions from 12.04 precise
to latest.

Many thanks,

Dan Razzell
DevOps Engineer, Activestate
www.activestate.com

-- Package-specific info:

-- (no /etc/apt/preferences present) --


-- (/etc/apt/sources.list present, but not submitted) --


-- System Information:
Debian Release: wheezy/sid
  APT prefers saucy-updates
  APT policy: (500, 'saucy-updates'), (500, 'saucy-security'), (500, 'saucy'), (100, 'saucy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11.0-12-generic (SMP w/8 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages apt depends on:
ii  gnupg           1.4.14-1ubuntu2
ii  libapt-pkg4.12  0.9.9.1~ubuntu3
ii  libc6           2.17-93ubuntu4
ii  libgcc1         1:4.8.1-10ubuntu9
ii  libstdc++6      4.8.1-10ubuntu9
ii  ubuntu-keyring  2012.05.19

apt recommends no packages.

Versions of packages apt suggests:
pn  apt-doc                      <none>
pn  aptitude | synaptic | wajig  <none>
ii  dpkg-dev                     1.16.12ubuntu1
ii  python-apt                   0.8.9.1ubuntu1
ii  xz-utils                     5.1.1alpha+20120614-2ubuntu1

-- no debconf information


Reply to: