diff options
Diffstat (limited to 'pym')
5 files changed, 394 insertions, 3 deletions
diff --git a/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arch.list b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arch.list new file mode 100644 index 0000000..e4787c0 --- /dev/null +++ b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arch.list @@ -0,0 +1,45 @@ +alpha +amd64 +amd64-fbsd +arm +arm64 +hppa +ia64 +m68k +mips +ppc +ppc64 +s390 +sh +sparc +sparc-fbsd +x86 +x86-fbsd + +# Prefix keywords +ppc-aix +x86-freebsd +x64-freebsd +sparc64-freebsd +hppa-hpux +ia64-hpux +x86-interix +amd64-linux +arm-linux +ia64-linux +ppc64-linux +x86-linux +ppc-macos +x86-macos +x64-macos +m68k-mint +x86-netbsd +ppc-openbsd +x86-openbsd +x64-openbsd +sparc-solaris +sparc64-solaris +x64-solaris +x86-solaris +x86-winnt +x86-cygwin diff --git a/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arches.desc b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arches.desc new file mode 100644 index 0000000..ca9f946 --- /dev/null +++ b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arches.desc @@ -0,0 +1,17 @@ +alpha testing +amd64 stable +amd64-fbsd testing +arm stable +arm64 stable +hppa stable +ia64 testing +m68k testing +mips testing +ppc stable +ppc64 stable +s390 stable +sh stable +sparc stable +sparc-fbsd testing +x86 stable +x86-fbsd testing diff --git a/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/profiles.desc b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/profiles.desc new file mode 100644 index 0000000..be751a8 --- /dev/null +++ b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/profiles.desc @@ -0,0 +1,295 @@ +############################################# +# This is a list of valid profiles for each architecture. This file is used by +# repoman when doing a repoman scan or repoman full. +# DO NOT ADD PROFILES WITH A "die" or "exit" IN THEM OR IT KILLS REPOMAN +# +#layout: +#arch profile_directory status + +# Alpha Profiles +alpha default/linux/alpha/13.0 stable +alpha default/linux/alpha/13.0/desktop stable +alpha default/linux/alpha/13.0/desktop/gnome stable +alpha default/linux/alpha/13.0/desktop/gnome/systemd stable +alpha default/linux/alpha/13.0/desktop/kde stable +alpha default/linux/alpha/13.0/desktop/kde/systemd stable +alpha default/linux/alpha/13.0/developer stable + +# AMD64 Profiles +amd64 default/linux/amd64/13.0 stable +amd64 default/linux/amd64/13.0/selinux dev +amd64 default/linux/amd64/13.0/desktop stable +amd64 default/linux/amd64/13.0/desktop/gnome stable +amd64 default/linux/amd64/13.0/desktop/gnome/systemd stable +amd64 default/linux/amd64/13.0/desktop/kde stable +amd64 default/linux/amd64/13.0/desktop/kde/systemd stable +amd64 default/linux/amd64/13.0/developer stable +amd64 default/linux/amd64/13.0/no-multilib dev +amd64 default/linux/amd64/13.0/x32 dev + +# ARM Profiles +arm default/linux/arm/13.0 stable +arm default/linux/arm/13.0/desktop dev +arm default/linux/arm/13.0/desktop/gnome dev +arm default/linux/arm/13.0/desktop/gnome/systemd dev +arm default/linux/arm/13.0/desktop/kde dev +arm default/linux/arm/13.0/desktop/kde/systemd dev +arm default/linux/arm/13.0/developer dev +arm default/linux/arm/13.0/armv4 dev +arm default/linux/arm/13.0/armv4/desktop dev +arm default/linux/arm/13.0/armv4/desktop/gnome dev +arm default/linux/arm/13.0/armv4/desktop/kde dev +arm default/linux/arm/13.0/armv4/developer dev +arm default/linux/arm/13.0/armv4t dev +arm default/linux/arm/13.0/armv4t/desktop dev +arm default/linux/arm/13.0/armv4t/desktop/gnome dev +arm default/linux/arm/13.0/armv4t/desktop/kde dev +arm default/linux/arm/13.0/armv4t/developer dev +arm default/linux/arm/13.0/armv5te dev +arm default/linux/arm/13.0/armv5te/desktop dev +arm default/linux/arm/13.0/armv5te/desktop/gnome dev +arm default/linux/arm/13.0/armv5te/desktop/kde dev +arm default/linux/arm/13.0/armv5te/developer dev +arm default/linux/arm/13.0/armv6j dev +arm default/linux/arm/13.0/armv6j/desktop dev +arm default/linux/arm/13.0/armv6j/desktop/gnome dev +arm default/linux/arm/13.0/armv6j/desktop/kde dev +arm default/linux/arm/13.0/armv6j/developer dev +arm default/linux/arm/13.0/armv7a dev +arm default/linux/arm/13.0/armv7a/desktop dev +arm default/linux/arm/13.0/armv7a/desktop/gnome dev +arm default/linux/arm/13.0/armv7a/desktop/kde dev +arm default/linux/arm/13.0/armv7a/developer dev + +# ARM64 Profiles +arm64 default/linux/arm64/13.0 exp +arm64 default/linux/arm64/13.0/desktop exp +arm64 default/linux/arm64/13.0/developer exp + +# HPPA Profiles +hppa default/linux/hppa/13.0 stable +hppa default/linux/hppa/13.0/desktop dev +hppa default/linux/hppa/13.0/developer dev + +# IA64 Profiles +ia64 default/linux/ia64/13.0 stable +ia64 default/linux/ia64/13.0/desktop stable +ia64 default/linux/ia64/13.0/desktop/gnome stable +ia64 default/linux/ia64/13.0/desktop/gnome/systemd stable +ia64 default/linux/ia64/13.0/desktop/kde stable +ia64 default/linux/ia64/13.0/desktop/kde/systemd stable +ia64 default/linux/ia64/13.0/developer stable + +# M68K Profiles +m68k default/linux/m68k/13.0 dev +m68k default/linux/m68k/13.0/desktop dev +m68k default/linux/m68k/13.0/desktop/gnome dev +m68k default/linux/m68k/13.0/desktop/kde dev +m68k default/linux/m68k/13.0/developer dev + +# MIPS Profiles +mips default/linux/mips/13.0 dev +mips default/linux/mips/13.0/n32 dev +mips default/linux/mips/13.0/n64 exp +mips default/linux/mips/13.0/multilib dev +mips default/linux/mips/13.0/multilib/n32 dev +mips default/linux/mips/13.0/multilib/n64 exp +mips default/linux/mips/13.0/mipsel dev +mips default/linux/mips/13.0/mipsel/n32 dev +mips default/linux/mips/13.0/mipsel/n64 exp +mips default/linux/mips/13.0/mipsel/multilib dev +mips default/linux/mips/13.0/mipsel/multilib/n32 dev +mips default/linux/mips/13.0/mipsel/multilib/n64 exp + +# PPC32 Profiles +ppc default/linux/powerpc/ppc32/13.0 stable +ppc default/linux/powerpc/ppc32/13.0/desktop stable +ppc default/linux/powerpc/ppc32/13.0/desktop/gnome stable +ppc default/linux/powerpc/ppc32/13.0/desktop/gnome/systemd stable +ppc default/linux/powerpc/ppc32/13.0/desktop/kde stable +ppc default/linux/powerpc/ppc32/13.0/desktop/kde/systemd stable +ppc default/linux/powerpc/ppc32/13.0/developer stable + +# PPC64 Profiles +ppc default/linux/powerpc/ppc64/13.0/32bit-userland stable +ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop stable +ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/gnome stable +ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/gnome/systemd stable +ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/kde stable +ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/kde/systemd stable +ppc default/linux/powerpc/ppc64/13.0/32bit-userland/developer stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/gnome stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/gnome/systemd stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/kde stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/kde/systemd stable +ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/developer stable + +# S390 Profiles +s390 default/linux/s390/13.0 dev +s390 default/linux/s390/13.0/s390x dev + +# SH Profiles +sh default/linux/sh/13.0 dev +sh default/linux/sh/13.0/desktop dev +sh default/linux/sh/13.0/desktop/gnome dev +sh default/linux/sh/13.0/desktop/kde dev +sh default/linux/sh/13.0/developer dev + +# SPARC Profiles +sparc default/linux/sparc/13.0 stable +sparc default/linux/sparc/13.0/desktop stable +sparc default/linux/sparc/13.0/desktop/gnome stable +sparc default/linux/sparc/13.0/desktop/kde stable +sparc default/linux/sparc/13.0/developer stable + +# x86 Profiles +x86 default/linux/x86/13.0 stable +x86 default/linux/x86/13.0/selinux dev +x86 default/linux/x86/13.0/desktop stable +x86 default/linux/x86/13.0/desktop/gnome stable +x86 default/linux/x86/13.0/desktop/gnome/systemd stable +x86 default/linux/x86/13.0/desktop/kde stable +x86 default/linux/x86/13.0/desktop/kde/systemd stable +x86 default/linux/x86/13.0/developer stable + +# Gentoo/FreeBSD Profiles +amd64-fbsd default/bsd/fbsd/amd64/9.1 stable +amd64-fbsd default/bsd/fbsd/amd64/9.2 dev +amd64-fbsd default/bsd/fbsd/amd64/9.1/clang exp +amd64-fbsd default/bsd/fbsd/amd64/9.2/clang exp +sparc-fbsd default/bsd/fbsd/sparc/8.2 exp +x86-fbsd default/bsd/fbsd/x86/9.1 dev +x86-fbsd default/bsd/fbsd/x86/9.2 dev + +# Hardened Profiles +amd64 hardened/linux/amd64 stable +amd64 hardened/linux/amd64/selinux stable +amd64 hardened/linux/amd64/no-multilib stable +amd64 hardened/linux/amd64/no-multilib/selinux stable +amd64 hardened/linux/amd64/x32 dev +amd64 hardened/linux/uclibc/amd64 dev +arm hardened/linux/arm/armv7a dev +arm hardened/linux/arm/armv6j dev +arm hardened/linux/uclibc/arm/armv7a dev +ia64 hardened/linux/ia64 dev +mips hardened/linux/uclibc/mips exp +mips hardened/linux/uclibc/mips/mipsel exp +ppc hardened/linux/powerpc/ppc32 dev +ppc hardened/linux/powerpc/ppc64/32bit-userland dev +ppc64 hardened/linux/powerpc/ppc64/64bit-userland dev +x86 hardened/linux/x86 stable +x86 hardened/linux/x86/selinux stable +x86 hardened/linux/uclibc/x86 dev + +# uclibc/embedded multiarch profiles +#amd64 uclibc/amd64 dev +#arm uclibc/arm dev +#arm uclibc/arm/2.4 dev +#mips uclibc/mips dev +#mips uclibc/mips/hardened dev +#ppc uclibc/ppc dev +#ppc uclibc/ppc/2.4 dev +#ppc uclibc/ppc/hardened dev +#ppc uclibc/ppc/hardened/2.4 dev +#sh uclibc/sh dev +#sh uclibc/sh/2.4 dev +#x86 uclibc/x86 dev +#x86 uclibc/x86/2.4 dev +#x86 uclibc/x86/2005.1 dev +#x86 uclibc/x86/2005.1/2.4 dev +#x86 uclibc/x86/hardened dev +#x86 uclibc/x86/hardened/2.4 dev + + +# These are Gentoo Prefix profiles, maintained by the Prefix team + +# Linux Profiles +amd64-linux prefix/linux/amd64 exp +arm-linux prefix/linux/arm exp +ia64-linux prefix/linux/ia64 exp +ppc64-linux prefix/linux/ppc64 exp +x86-linux prefix/linux/x86 exp + +# Mac OS X Profiles +ppc-macos prefix/darwin/macos/10.4/ppc exp +x86-macos prefix/darwin/macos/10.4/x86 exp +ppc-macos prefix/darwin/macos/10.5/ppc exp +x86-macos prefix/darwin/macos/10.5/x86 exp +x64-macos prefix/darwin/macos/10.5/x64 exp +x86-macos prefix/darwin/macos/10.6/x86 exp +x64-macos prefix/darwin/macos/10.6/x64 exp +x86-macos prefix/darwin/macos/10.7/x86 exp +x64-macos prefix/darwin/macos/10.7/x64 exp +x86-macos prefix/darwin/macos/10.8/x86 exp +x64-macos prefix/darwin/macos/10.8/x64 exp +x86-macos prefix/darwin/macos/10.9/x86 exp +x64-macos prefix/darwin/macos/10.9/x64 exp + +# Solaris Profiles +sparc-solaris prefix/sunos/solaris/5.9/sparc exp +sparc-solaris prefix/sunos/solaris/5.10/sparc exp +sparc64-solaris prefix/sunos/solaris/5.10/sparc64 exp +x86-solaris prefix/sunos/solaris/5.10/x86 exp +x64-solaris prefix/sunos/solaris/5.10/x64 exp +sparc-solaris prefix/sunos/solaris/5.11/sparc exp +sparc64-solaris prefix/sunos/solaris/5.11/sparc64 exp +x86-solaris prefix/sunos/solaris/5.11/x86 exp +x64-solaris prefix/sunos/solaris/5.11/x64 exp + +# AIX Profiles +ppc-aix prefix/aix/5.2.0.0/ppc exp +ppc-aix prefix/aix/5.3.0.0/ppc exp +ppc-aix prefix/aix/6.1.0.0/ppc exp + +# Interix Profiles +x86-interix prefix/windows/interix/3.5/x86 exp +x86-interix prefix/windows/interix/5.2/x86 exp +x86-interix prefix/windows/interix/6.0/x86 exp +x86-interix prefix/windows/interix/6.1/x86 exp + +# Windows Profiles +x86-winnt prefix/windows/winnt/3.5/x86 exp +x86-winnt prefix/windows/winnt/5.2/x86 exp +x86-winnt prefix/windows/winnt/6.0/x86 exp +x86-winnt prefix/windows/winnt/6.1/x86 exp + +# Cygwin Profiles +x86-cygwin prefix/windows/cygwin/1.7/x86 exp + +# HP-UX Profiles +ia64-hpux prefix/hpux/B.11.23/ia64 exp +hppa-hpux prefix/hpux/B.11.31/hppa2.0 exp +ia64-hpux prefix/hpux/B.11.31/ia64 exp + +# FreeBSD Profiles +x86-freebsd prefix/bsd/freebsd/7.1/x86 exp +x64-freebsd prefix/bsd/freebsd/7.1/x64 exp +x86-freebsd prefix/bsd/freebsd/7.2/x86 exp +x64-freebsd prefix/bsd/freebsd/7.2/x64 exp +x86-freebsd prefix/bsd/freebsd/8.0/x86 exp +x64-freebsd prefix/bsd/freebsd/8.0/x64 exp +x86-freebsd prefix/bsd/freebsd/8.1/x86 exp +x64-freebsd prefix/bsd/freebsd/8.1/x64 exp +sparc64-freebsd prefix/bsd/freebsd/8.1/sparc64 exp +x86-freebsd prefix/bsd/freebsd/8.2/x86 exp +x64-freebsd prefix/bsd/freebsd/8.2/x64 exp +x86-freebsd prefix/bsd/freebsd/9.0/x86 exp +x64-freebsd prefix/bsd/freebsd/9.0/x64 exp +x86-freebsd prefix/bsd/freebsd/9.1/x86 exp +x64-freebsd prefix/bsd/freebsd/9.1/x64 exp + + +# OpenBSD Profiles +ppc-openbsd prefix/bsd/openbsd/4.2/ppc exp +x86-openbsd prefix/bsd/openbsd/4.2/x86 exp +x64-openbsd prefix/bsd/openbsd/4.2/x64 exp + +# NetBSD Profiles +x86-netbsd prefix/bsd/netbsd/4.0/x86 exp + +# FreeMiNT +m68k-mint prefix/mint/m68k exp + +# vim: set ts=8: diff --git a/pym/gentoolkit/profile.py b/pym/gentoolkit/profile.py index 031b497..01f823a 100644 --- a/pym/gentoolkit/profile.py +++ b/pym/gentoolkit/profile.py @@ -81,12 +81,34 @@ def load_profile_data(portdir=None, repo='gentoo'): warning('could not read profile files: %s' % arch_list) warning('will not be able to verify args are correct') - # TODO: support arches.desc once the GLEP is finalized - # for now, we just hardcode everything + *-* (fbsd, prefix) + arches_desc = {} + try: + arches_list = os.path.join(portdir, 'profiles', 'arches.desc') + with open(_unicode_encode(arches_list, encoding=_encodings['fs']), + encoding=_encodings['content']) as f: + for line in f: + line = line.split('#', 1)[0].split() + if line: + arch, status = line + arches_desc[arch] = status + except IOError: + # backwards compatibility + arches_desc = { + 'alpha': 'testing', + 'ia64': 'testing', + 'm68k': 'testing', + 'mips': 'testing', + 'riscv': 'testing', + } + for k in arch_status: + if '-' in k: + arches_desc[k] = 'testing' + for k, v in arch_status.items(): - if k in ('alpha', 'ia64', 'm68k', 'mips', 'riscv') or '-' in k: + if arches_desc.get(k) == 'testing': arch_status[k] = (v, '~arch') else: + # TODO: explicit distinction of transitional, bad values? arch_status[k] = (v, 'arch') return arch_status diff --git a/pym/gentoolkit/test/test_profile.py b/pym/gentoolkit/test/test_profile.py index 038525d..f91de6d 100644 --- a/pym/gentoolkit/test/test_profile.py +++ b/pym/gentoolkit/test/test_profile.py @@ -43,6 +43,18 @@ class TestLoadProfileData(unittest.TestCase): self.assertIn('arm64', ret) self.assertEqual(ret['arm64'], ('exp', 'arch')) + def testLoadArchesDesc(self): + """Test loading arch.list, arches.desc and profiles.desc""" + ret = self._test('arches-desc') + self.assertIn('arm', ret) + self.assertEqual(ret['arm'], ('stable', 'arch')) + self.assertIn('arm64', ret) + self.assertEqual(ret['arm64'], ('exp', 'arch')) + self.assertIn('alpha', ret) + self.assertEqual(ret['alpha'], ('stable', '~arch')) + self.assertIn('sparc-fbsd', ret) + self.assertEqual(ret['sparc-fbsd'], ('exp', '~arch')) + def testLoadNone(self): """Test running when neither files exists""" ret = self._test('none') |
