From 897d70248e0318573244f4665c4bbe7eb4f82dca Mon Sep 17 00:00:00 2001 From: Anders F Bjorklund Date: Sun, 8 Jan 2012 19:00:17 +0100 Subject: [PATCH] Add correct arch to arch :-) --- tests/arch/local/python2-2.7.2-4/desc | 45 ++++++++++++++++++++++++ tests/arch/local/zeroinstall-injector-1.5-1/desc | 40 +++++++++++++++++++++ tests/testdistro.py | 2 +- zeroinstall/injector/distro.py | 12 +++++-- 4 files changed, 95 insertions(+), 4 deletions(-) diff --git a/tests/arch/local/python2-2.7.2-4/desc b/tests/arch/local/python2-2.7.2-4/desc index e69de29..f7390eb 100644 --- a/tests/arch/local/python2-2.7.2-4/desc +++ b/tests/arch/local/python2-2.7.2-4/desc @@ -0,0 +1,45 @@ +%NAME% +python2 + +%VERSION% +2.7.2-4 + +%DESC% +A high-level scripting language + +%URL% +http://www.python.org/ + +%LICENSE% +PSF + +%ARCH% +x86_64 + +%BUILDDATE% +1321896418 + +%INSTALLDATE% +1326037157 + +%PACKAGER% +Stéphane Gaudreault + +%SIZE% +72404992 + +%DEPENDS% +bzip2 +gdbm +openssl +zlib +expat +sqlite3 +libffi + +%OPTDEPENDS% +tk: for IDLE + +%CONFLICTS% +python<3 + diff --git a/tests/arch/local/zeroinstall-injector-1.5-1/desc b/tests/arch/local/zeroinstall-injector-1.5-1/desc index e69de29..6116b83 100644 --- a/tests/arch/local/zeroinstall-injector-1.5-1/desc +++ b/tests/arch/local/zeroinstall-injector-1.5-1/desc @@ -0,0 +1,40 @@ +%NAME% +zeroinstall-injector + +%VERSION% +1.5-1 + +%DESC% +A decentralised loosly-coupled secure installation system + +%URL% +http://zero-install.sourceforge.net/ + +%LICENSE% +GPL2 +LGPL + +%ARCH% +any + +%BUILDDATE% +1326038881 + +%INSTALLDATE% +1326038910 + +%PACKAGER% +Unknown Packager + +%SIZE% +2244608 + +%DEPENDS% +pygtk +gnupg +hicolor-icon-theme +desktop-file-utils + +%OPTDEPENDS% +xdg-utils: GNOME and KDE desktop integration + diff --git a/tests/testdistro.py b/tests/testdistro.py index e20ae10..a7fd49f 100755 --- a/tests/testdistro.py +++ b/tests/testdistro.py @@ -188,7 +188,7 @@ class TestDistro(BaseTest): arch.get_package_info('zeroinstall-injector', factory) self.assertEqual(1, len(self.feed.implementations)) print self.feed.implementations - zip = self.feed.implementations['package:arch:zeroinstall-injector:1.5-1:' + distro.host_machine] + zip = self.feed.implementations['package:arch:zeroinstall-injector:1.5-1:*'] self.assertEqual('1.5-1', zip.get_version()) def testGentoo(self): diff --git a/zeroinstall/injector/distro.py b/zeroinstall/injector/distro.py index 1f5433f..99a0abd 100644 --- a/zeroinstall/injector/distro.py +++ b/zeroinstall/injector/distro.py @@ -602,9 +602,15 @@ class ArchDistribution(Distribution): for entry in os.listdir(self._packages_dir): name, version, build = entry.rsplit('-', 2) if name == package: - # TODO: parse %ARCH% from "desc" - #zi_arch = canonical_machine(arch) - zi_arch = host_machine + gotarch = False + for line in open(os.path.join(self._packages_dir, entry, "desc")): + if line == "%ARCH%\n": + gotarch = True + continue + if gotarch: + arch = line.strip() + break + zi_arch = canonical_machine(arch) clean_version = try_cleanup_distro_version("%s-%s" % (version, build)) if not clean_version: warn(_("Can't parse distribution version '%(version)s' for package '%(package)s'"), {'version': version, 'package': name}) -- 2.11.4.GIT