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

Bug#863193: python-apt: Package.fullname and Package.architecture() is wrong for packages with 'all' architecture.



On Tue, May 23, 2017 at 10:11:38AM +0200, Michael Schaller wrote:
> Package: python-apt
> Version: 1.4.0~beta3
> Severity: normal
> 
> Dear Maintainer,
> 
> apt.package.Package's fullname property and architecture method return the wrong architecture for packages with the 'all' architecture. A good example is the 'bash-completion' package:
> 
> $ dpkg -l bash-completion
> ...
> ii  bash-completion         1:2.1-4.3        all              programmable completion for the bash shell
> 
> 
> $ python
> ...
> >>> cache = apt.Cache()
> >>> pkg = cache['bash-completion']
> >>> pkg.fullname
> 'bash-completion:amd64'
> >>> pkg.architecture()
> 'amd64'
> >>> pkg._pkg.architecture
> 'amd64'
> >>> pkg.versions
> <VersionList: ['1:2.1-4.3']>
> >>> pkg.installed.architecture
> 'all'
> >>> pkg.candidate.architecture
> 'all'

No, that's correct. 'all' versions are native packages. That's
how multi-arch works in apt. This also handles migration of
native -> all and all -> native. If you need to see if something
really is all, you have to use the 'architecture' field of the
version, as you noticed.

-- 
Debian Developer - deb.li/jak | jak-linux.org - free software dev
                  |  Ubuntu Core Developer |
When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to ('inline').  Thank you.


Reply to: