xdeb tries to download package from wrong repository

Bug #851427 reported by Wookey
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xdeb (Ubuntu)
Fix Released

Bug Description

If there is an updated version of a package in a PPA (in this case flex:)
apt-cache policy flex-doc
  Installed: (none)
  Candidate: 2.5.35-10ubuntu3
  Version table:
     2.5.35-10ubuntu3 0
        500 http://ppa.launchpad.net/linaro-foundations/cross-alip/ubuntu/ natty/main armel Packages
     2.5.35-10ubuntu1 0
        500 http://arm-archive-ubuntu.cambridge.arm.com/ubuntu/ natty/main amd64 Packages
        500 http://ports.ubuntu.com/ natty/main armel Packages

xdeb, when trying to do native imports, notices that the new package exists, but due to it's simple-minded wget native-import implementation, tries to download it from the wrong URL:

===== Importing flex_2.5.35-10ubuntu3 =====

Considering binary flex
Considering binary flex-doc
wget -N http://ports.ubuntu.com/ubuntu-ports/pool/main/f/flex/flex-doc_2.5.35-10ubuntu3_all.deb
--2011-09-11 15:36:20-- http://ports.ubuntu.com/ubuntu-ports/pool/main/f/flex/flex-doc_2.5.35-10ubuntu3_all.deb
Resolving ports.ubuntu.com...
Connecting to ports.ubuntu.com||:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2011-09-11 15:36:20 ERROR 404: Not Found.

Traceback (most recent call last):
  File "/usr/bin/xdeb", line 946, in <module>
  File "/usr/bin/xdeb", line 930, in main
    native_crossed.extend(native_import(options, src))
  File "/usr/bin/xdeb", line 547, in native_import
  File "/usr/lib/xdeb/utils.py", line 29, in spawn

Using apt-get download instead of wget fixes this problem:
===== Importing flex_2.5.35-10ubuntu3 =====

Considering binary flex
apt-get -oAPT::Architecture=armel download flex:armel
apt-get -oAPT::Architecture=armel download flex:armel
Considering binary flex-doc
apt-get -oAPT::Architecture=armel download flex-doc:armel
apt-get -oAPT::Architecture=armel download flex-doc:armel
apt-get -oAPT::Architecture=armel download flex-doc:armel
apt-ftparchive generate apt.conf
 .: New 3161 kB 2364 files 2070 MB 0s
Packages done, Starting contents.
Done. 2070 MB in 2364 archives. Took 0s

Revision history for this message
Wookey (wookey) wrote :

Fix available in this branch: https://code.launchpad.net/~wookey/xdeb/xdeb-apt-download

This fix also solves a number of other problems:
1) removes the difference between Debian and Ubuntu versions (the native_import_source per-arch config option)
2) Allows all uses of apt config/preferences when downloading binaries (pinning, multiple repos, default-release etc)
3) Probably fixes mismatched binary/source download issue: https://bugs.launchpad.net/ubuntu/+source/xdeb/+bug/753968 (needs testing)

Loïc Minier (lool)
Changed in xdeb (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package xdeb - 0.6.5

xdeb (0.6.5) unstable; urgency=low

  [ Steve Langasek ]
  * If a package is Multi-Arch: foreign, we don't need to build it unless we
    also want to install it in its own right.
  * When calling apt-cache show, qualify the package name with an
    explicit architecture; this guards against attempts to import
    not-for-us binaries that are in the apt cache in a multiarch
    environment. LP: #752287.

  [ Wookey ]
  * Add some packages to black/whitelists
  * Improve graphing to only include binary deps that are
    actually depended on in the dependency tree
  * Update Standards-version
  * Depend on multiarch-capable dpkg-cross and invoke it with
  * Fix lintian test whinge
  * Don't fail if null dpkg-cross packages are found LP: #731079
  * Include lib64c in toolchain packages list - avoids
     multipleprovides exception on 64-bit arches. LP: #75574
  * Let xdeb grok binary package names as well as source ones. LP: #778506
  * Use 'apt-get download' rather than wget for native imports, provided
    that multiarch is configured. LP: #851427

  [ Steve McIntyre ]
  * Add initial support for armhf. LP: #772526

  [ Colin Watson ]
  * Convert to dh_python2.
  * Consistently use 'import utils' rather than 'from utils import ...'.
  * Suppress unusednames=_NATIVE_IMPORT_SOURCE_NAME in config.py, apparently
    due to a pychecker bug.
  * Split option parsing into a separate function to placate a pychecker
    warning about the length of main.
  * Extend need_loop_break hack to cover python2.7's build-dependency on
  * Add python2.7-dev to whitelist.
  * Fix installation of binutils-multiarch when cross-compiling.
  * Tolerate the removal of the fields collection in Lintian 2.5.2.
  * Don't install build-dependencies in --sequence mode.
  * Fix caching in Provides resolver.
  * Only skip Multi-Arch: foreign packages if the system is configured to be
    able to install packages of the appropriate foreign architecture.
  * Revamp build-dependency installation. We now point 'apt-get install' at
    a combination of the system sources.list and the destination directory
    rather than using 'dpkg -i', and we install build-dependencies
    immediately before building each package as well as in a block at the
    start of the run; this also allows us to be more selective about which
    crossed packages we install. The 'builddep_whitelist' configuration
    option is now unnecessary and has been removed.
  * Fix dependency resolver. We now only expand dependencies for binaries
    that are explicitly required to satisfy (build-)dependencies, rather
    than trying to expand all binaries in every source package we encounter.
  * If rebuilding a source package that had already been built, force a full
    regeneration of the apt repository and purge any previous incarnations
    of those binary packages.
  * Fix native_import to work again even if multiarch isn't configured.
  * Remove explicit code to install native imports; the new build-dependency
    installer can deal with that by itself.
  * Remove libreadline-dev from cross_...


Changed in xdeb (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.