Bug#590041: Mishandles Packages.gz from other archs

2010-07-25 Thread Goswin von Brederlow
David Kalnischkies kalnischkies+deb...@gmail.com writes:

 Hi Goswin,

 2010/7/23 Goswin von Brederlow goswin-...@web.de:
 r...@frosties:/var/lib/apt/lists# apt-cache show libc6-armel-cross
 E: Can't select versions from package 'libc6-armel-cross' as it purely 
 virtual
 E: No packages found

 try: apt-cache show libc6-armel-cross:armel
 or as an alternative:
 apt-cache show libc6-armel-cross -o APT::Architecture=armel

That works. Didn't know apt already supported the :arch.

 And now for the really spooky part:
 Testing some more I find that the problem is the Replaces line. Changing
 libc6-armel-cross to Changing libc6-armel-cross2 makes libc6-armel-cross
 appear. Changing it back makes it disapear.

 This happens as APT adds Replaces against all known architectures to the
 package. So what you get above is correct as you have requested package
 libc6-armel-cross:i386 and this one is virtual as it is only created for the
 Replaces line. Still i guess it should do the same for virtual packages
 as it does it already if the package doesn't exist at all:
 Get the next possible match if no architecture is requested explicit…


 Best regards,

 David Kalnischkies

The odd behaviour makes sense now. But shouldn't it show the entries for
all architectures if no specific architecture is requested? Just like it
shows all versions if no version is specified.

Short of that it could say what it actualy searched for:

E: Can't select versions from package 'libc6-armel-cross:amd64' as it purely 
virtual
E: No packages found

E: Unable to locate package libfoo-armel-cross:amd64
E: No packages found

But showing the right thing would be better.

MfG
Goswin



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#590041: Mishandles Packages.gz from other archs

2010-07-24 Thread David Kalnischkies
Hi Goswin,

2010/7/23 Goswin von Brederlow goswin-...@web.de:
 r...@frosties:/var/lib/apt/lists# apt-cache show libc6-armel-cross
 E: Can't select versions from package 'libc6-armel-cross' as it purely virtual
 E: No packages found

try: apt-cache show libc6-armel-cross:armel
or as an alternative:
apt-cache show libc6-armel-cross -o APT::Architecture=armel

 And now for the really spooky part:
 Testing some more I find that the problem is the Replaces line. Changing
 libc6-armel-cross to Changing libc6-armel-cross2 makes libc6-armel-cross
 appear. Changing it back makes it disapear.

This happens as APT adds Replaces against all known architectures to the
package. So what you get above is correct as you have requested package
libc6-armel-cross:i386 and this one is virtual as it is only created for the
Replaces line. Still i guess it should do the same for virtual packages
as it does it already if the package doesn't exist at all:
Get the next possible match if no architecture is requested explicit…


Best regards,

David Kalnischkies


apt-prefer-non-virtual-packages.diff
Description: Binary data


Bug#590041: Mishandles Packages.gz from other archs

2010-07-23 Thread Goswin von Brederlow
Package: apt
Version: 0.7.26~exp10
Severity: normal

Hi,

I have apt configured with Apt::Architectures = { amd64; armel; }
and a Apt::Post-Update hook that transforms the armel Packages.gz file
into something suitable for cross-compiling. But all packages that are
not Architecture: all are ignored from
ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages.
Replacing the amd64 Packages file with the armel one makes all
packages suddenly appear.

As a testcase I have stripped down the Packages files to bare minimum:

# ls -lh /var/lib/apt/lists/*Packages
-rw-r--r-- 1 root root0 Jul 23 06:51 
ftp.de.debian.org_debian_dists_sid_main_binary-amd64_Packages
-rw-r--r-- 1 root root 3.5K Jul 23 06:50 
ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages

# grep-dctrl  -s Package,Architecture,Version 
ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages
Package: banshee-extension-telepathy
Architecture: all
Version: 1.6.1-1

Package: libc6-armel-cross
Architecture: amd64
Version: 2.11.2-2~0.2

# apt-cache show banshee-extension-telepathy
Package: banshee-extension-telepathy
Architecture: all
Version: 1.6.1-1
...

# apt-cache show libc6-armel-cross  
E: Can't select versions from package 'libc6-armel-cross' as it purely virtual
E: No packages found

# cp 
/var/lib/apt/lists/ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages
 
/var/lib/apt/lists/ftp.de.debian.org_debian_dists_sid_main_binary-amd64_Packages
 

# apt-cache show libc6-armel-cross
Package: libc6-armel-cross
Architecture: amd64
Version: 2.11.2-2~0.2
...


This is a big regression from previous experimental versions.

MfG
Goswin

-- Package-specific info:

-- (/etc/apt/preferences present, but not submitted) --


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


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31.6-xen-2010.02.18 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages apt depends on:
ii  debian-archive-keyring2009.01.31 GnuPG archive keys of the Debian a
ii  libc6 2.11.1-3   Embedded GNU C Library: Shared lib
ii  libgcc1   1:4.4.4-5  GCC support library
ii  libstdc++64.4.4-5The GNU Standard C++ Library v3

apt recommends no packages.

Versions of packages apt suggests:
ii  apt-doc   0.7.25.3   Documentation for APT
ii  aptitude  0.6.3-3terminal-based package manager (te
ii  bzip2 1.0.5-4high-quality block-sorting file co
ii  dpkg-dev  1.15.7.2   Debian package development tools
ii  lzma  4.43-14Compression method of 7z format in
pn  python-aptnone (no description available)

-- no debconf information
Package: banshee-extension-telepathy
Architecture: all
Version: 1.6.1-1
Conflicts: libc6-i386 ( 2.9-18), ia32-libs, ia32-libs-gtk
Depends: banshee-extensions-common (= 1.6.1-1), empathy (= 2.27.91), 
telepathy-gabble (= 0.9), telepathy-mission-control-5 (= 5.3.1), 
libc6-armel-cross (= 2.11~0.2) | libc6.1-armel-cross (= 2.11~0.2) | 
libc0.1-armel-cross (= 2.11~0.2), libglib2.0-0-armel-cross (= 2.24.0~0.2), 
libglib2.0-cil-armel-cross (= 2.12.10~0.2), libgtk2.0-cil-armel-cross (= 
2.12.10~0.2), libmono-addins0.2-cil (= 0.4), libmono-corlib2.0-cil (= 
1.2.2.1), libmono-posix2.0-cil (= 2.4), libmono-system-data2.0-cil (= 1.2.6), 
libmono-system2.0-cil (= 2.4.3), libnotify0.4-cil (= 0.4.0~r2998)
Provides: ia32-abi, ia32-abi-1
Replaces: ia32-libs, ia32-libs-gtk
Description: Telepathy extension for Banshee
 This extension provides integration between the Empathy instant messenger and
 Banshee. It provides the following features:
 .
  * Download your friends' Banshee library metadata and check out what they
listen to, their ratings, BPM values, etc.
  * View your friends' playlists and export them to disk
  * Share what you're listening to with all your instant messaging friends by
advertising the track, artist, and album of the currently playing track in
Empathy's status message. This can be disabled.
  * Download your friends' music; one track at a time or a selection. You can
cancel ones in progress, queued, individually or all at once. The sender has
the option to cancel all in progress or queued transfers only. Both sender
and receiver get a progress bar. File sharing can be disabled.
  * Stream your friends' music. This feature can be disabled.
 .
 Banshee is a media management and playback application for the GNOME desktop.
Filename: 
pool/main/b/banshee-community-extensions/banshee-extension-telepathy_1.6.1-1_all.deb
Homepage: http://gitorious.org/banshee-community-extensions
Installed-Size: 404
MD5sum: fb1f3f35e5817516f9b3cd5c642e79d0

Bug#590041: Mishandles Packages.gz from other archs

2010-07-23 Thread David Kalnischkies
2010/7/23 Goswin von Brederlow goswin-...@web.de:
 I have apt configured with Apt::Architectures = { amd64; armel; }
 and a Apt::Post-Update hook that transforms the armel Packages.gz file
 into something suitable for cross-compiling. But all packages that are
 not Architecture: all are ignored from
 ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages.

More specifically: It ignores packages which are not arch :all or :armel
in this file. Your libc6-armel-cross package is :amd64.

Its done more or less on intension as files which have a specific
architecture (in this case armel) shouldn't include other architectures
by design. Could be changed, sure, but i am unsure if this should be done.
APT has done it that way since ever so far
(expect the experimental versions in which i broke it…).

(dpkg/status and flat Packages files are different, from these APT will
include all packages included in the Architectures list).


Best regards,

David Kalnischkies



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#590041: Mishandles Packages.gz from other archs

2010-07-23 Thread Goswin von Brederlow
David Kalnischkies kalnischkies+deb...@gmail.com writes:

 2010/7/23 Goswin von Brederlow goswin-...@web.de:
 I have apt configured with Apt::Architectures = { amd64; armel; }
 and a Apt::Post-Update hook that transforms the armel Packages.gz file
 into something suitable for cross-compiling. But all packages that are
 not Architecture: all are ignored from
 ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages.

 More specifically: It ignores packages which are not arch :all or :armel
 in this file. Your libc6-armel-cross package is :amd64.

 Its done more or less on intension as files which have a specific
 architecture (in this case armel) shouldn't include other architectures
 by design. Could be changed, sure, but i am unsure if this should be done.
 APT has done it that way since ever so far
 (expect the experimental versions in which i broke it…).

 (dpkg/status and flat Packages files are different, from these APT will
 include all packages included in the Architectures list).

I thought that could be the problem. But that isn't it, or not just
that (see spooky part below).

I 've put the mangled Packages file at
  
http://mrvn.homeip.net/ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages.bz2
if you want to try yourself.

r...@frosties:/var/lib/apt/lists# apt-get update
Get:1 http://chocos sid Release.gpg [197B]
Ign http://chocos/debian/ sid/main Translation-en   
Get:2 http://chocos sid Release [7962B] 
Ign http://chocos sid/main amd64 Packages  
Get:3 http://chocos sid/main amd64 Packages [8996kB]
Get:4 http://ftp.de.debian.org sid Release.gpg [835B]  
Ign http://ftp.de.debian.org/debian/ sid/main Translation-en
Get:5 http://ftp.de.debian.org sid Release [104kB] 
Get:6 http://ftp.de.debian.org sid/main armel Packages [6649kB]
Fetched 15.8MB in 33s (476kB/s)
I: mangling chocos_debian_dists_sid_main_binary-amd64_Packages
I: mangling ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages
Reading package lists... Done

r...@frosties:/var/lib/apt/lists# grep-dctrl -P libc6-armel-cross 
ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages 
Package: libc6-armel-cross
Architecture: armel
Version: 2.11.2-2~0.3
Breaks: locales ( 2.11), locales-all ( 2.11), nscd ( 2.11)
Conflicts: tzdata ( 2007k-1), tzdata-etch, libc6-i386 ( 2.9-18), ia32-libs, 
ia32-libs-gtk
Depends: libc-bin (= 2.11.2-2), libgcc1-armel-cross
Provides: glibc-2.11-1-armel-cross, ia32-abi, ia32-abi-1
Replaces: ia32-libs, ia32-libs-gtk
Suggests: glibc-doc, debconf | debconf-2.0, locales
Description: Embedded GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs on
 the system. This package includes shared versions of the standard C library
 and the standard math library, as well as many others.
Filename: pool/main/e/eglibc/libc6_2.11.2-2_armel.deb
Homepage: http://www.eglibc.org
Installed-Size: 9740
MD5sum: f5b878ce5fb8aa01a7927fa1460df537
Maintainer: GNU Libc Maintainers debian-gl...@lists.debian.org
Priority: required
SHA1: 0464d597dfbf949e8c17a42325b1f93fb4914afd
SHA256: faca4a3d9ccff57568abf41f6cb81ddd835be7b5d8b0161e2d5f9a7f26aae3c0
Section: libs
Size: 4178958
Source: eglibc (2.11.2-2)
Tag: devel::lang:c, devel::library, implemented-in::c, protocol::ipv6, 
role::shared-lib, suite::gnu

r...@frosties:/var/lib/apt/lists# apt-cache show libc6-armel-cross
E: Can't select versions from package 'libc6-armel-cross' as it purely virtual
E: No packages found


And now for the really spooky part:

r...@frosties:/var/lib/apt/lists# grep-dctrl -P libc6-armel-cross 
ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages  t

r...@frosties:/var/lib/apt/lists# mv t 
ftp.de.debian.org_debian_dists_sid_main_binary-armel_Packages

r...@frosties:/var/lib/apt/lists# apt-cache show libc6-armel-cross
Package: libc6-armel-cross
Architecture: armel
Version: 2.11.2-2~0.3
Breaks: locales ( 2.11), locales-all ( 2.11), nscd ( 2.11)
Conflicts: tzdata ( 2007k-1), tzdata-etch, libc6-i386 ( 2.9-18), ia32-libs, 
ia32-libs-gtk
Depends: libc-bin (= 2.11.2-2), libgcc1-armel-cross
Provides: glibc-2.11-1-armel-cross, ia32-abi, ia32-abi-1
Replaces: ia32-libs, ia32-libs-gtk
Suggests: glibc-doc, debconf | debconf-2.0, locales
Description: Embedded GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs on
 the system. This package includes shared versions of the standard C library
 and the standard math library, as well as many others.
Filename: pool/main/e/eglibc/libc6_2.11.2-2_armel.deb
Homepage: http://www.eglibc.org
Installed-Size: 9740
MD5sum: f5b878ce5fb8aa01a7927fa1460df537
Maintainer: GNU Libc Maintainers debian-gl...@lists.debian.org
Priority: required
SHA1: 0464d597dfbf949e8c17a42325b1f93fb4914afd
SHA256: faca4a3d9ccff57568abf41f6cb81ddd835be7b5d8b0161e2d5f9a7f26aae3c0
Section: