1 |
commit: 5ed5adad0197d06d6f3dbe7d4ea16b2bf7e4ed2d |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Apr 24 08:25:10 2020 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Apr 24 08:25:10 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=5ed5adad |
7 |
|
8 |
profile: Add initial support for arches.desc |
9 |
|
10 |
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> |
11 |
|
12 |
.../tests/profiles/arches-desc/profiles/arch.list | 45 ++++ |
13 |
.../profiles/arches-desc/profiles/arches.desc | 17 ++ |
14 |
.../profiles/arches-desc/profiles/profiles.desc | 295 +++++++++++++++++++++ |
15 |
pym/gentoolkit/profile.py | 28 +- |
16 |
pym/gentoolkit/test/test_profile.py | 12 + |
17 |
5 files changed, 394 insertions(+), 3 deletions(-) |
18 |
|
19 |
diff --git a/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arch.list b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arch.list |
20 |
new file mode 100644 |
21 |
index 0000000..e4787c0 |
22 |
--- /dev/null |
23 |
+++ b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arch.list |
24 |
@@ -0,0 +1,45 @@ |
25 |
+alpha |
26 |
+amd64 |
27 |
+amd64-fbsd |
28 |
+arm |
29 |
+arm64 |
30 |
+hppa |
31 |
+ia64 |
32 |
+m68k |
33 |
+mips |
34 |
+ppc |
35 |
+ppc64 |
36 |
+s390 |
37 |
+sh |
38 |
+sparc |
39 |
+sparc-fbsd |
40 |
+x86 |
41 |
+x86-fbsd |
42 |
+ |
43 |
+# Prefix keywords |
44 |
+ppc-aix |
45 |
+x86-freebsd |
46 |
+x64-freebsd |
47 |
+sparc64-freebsd |
48 |
+hppa-hpux |
49 |
+ia64-hpux |
50 |
+x86-interix |
51 |
+amd64-linux |
52 |
+arm-linux |
53 |
+ia64-linux |
54 |
+ppc64-linux |
55 |
+x86-linux |
56 |
+ppc-macos |
57 |
+x86-macos |
58 |
+x64-macos |
59 |
+m68k-mint |
60 |
+x86-netbsd |
61 |
+ppc-openbsd |
62 |
+x86-openbsd |
63 |
+x64-openbsd |
64 |
+sparc-solaris |
65 |
+sparc64-solaris |
66 |
+x64-solaris |
67 |
+x86-solaris |
68 |
+x86-winnt |
69 |
+x86-cygwin |
70 |
|
71 |
diff --git a/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arches.desc b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arches.desc |
72 |
new file mode 100644 |
73 |
index 0000000..ca9f946 |
74 |
--- /dev/null |
75 |
+++ b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/arches.desc |
76 |
@@ -0,0 +1,17 @@ |
77 |
+alpha testing |
78 |
+amd64 stable |
79 |
+amd64-fbsd testing |
80 |
+arm stable |
81 |
+arm64 stable |
82 |
+hppa stable |
83 |
+ia64 testing |
84 |
+m68k testing |
85 |
+mips testing |
86 |
+ppc stable |
87 |
+ppc64 stable |
88 |
+s390 stable |
89 |
+sh stable |
90 |
+sparc stable |
91 |
+sparc-fbsd testing |
92 |
+x86 stable |
93 |
+x86-fbsd testing |
94 |
|
95 |
diff --git a/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/profiles.desc b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/profiles.desc |
96 |
new file mode 100644 |
97 |
index 0000000..be751a8 |
98 |
--- /dev/null |
99 |
+++ b/pym/gentoolkit/ekeyword/tests/profiles/arches-desc/profiles/profiles.desc |
100 |
@@ -0,0 +1,295 @@ |
101 |
+############################################# |
102 |
+# This is a list of valid profiles for each architecture. This file is used by |
103 |
+# repoman when doing a repoman scan or repoman full. |
104 |
+# DO NOT ADD PROFILES WITH A "die" or "exit" IN THEM OR IT KILLS REPOMAN |
105 |
+# |
106 |
+#layout: |
107 |
+#arch profile_directory status |
108 |
+ |
109 |
+# Alpha Profiles |
110 |
+alpha default/linux/alpha/13.0 stable |
111 |
+alpha default/linux/alpha/13.0/desktop stable |
112 |
+alpha default/linux/alpha/13.0/desktop/gnome stable |
113 |
+alpha default/linux/alpha/13.0/desktop/gnome/systemd stable |
114 |
+alpha default/linux/alpha/13.0/desktop/kde stable |
115 |
+alpha default/linux/alpha/13.0/desktop/kde/systemd stable |
116 |
+alpha default/linux/alpha/13.0/developer stable |
117 |
+ |
118 |
+# AMD64 Profiles |
119 |
+amd64 default/linux/amd64/13.0 stable |
120 |
+amd64 default/linux/amd64/13.0/selinux dev |
121 |
+amd64 default/linux/amd64/13.0/desktop stable |
122 |
+amd64 default/linux/amd64/13.0/desktop/gnome stable |
123 |
+amd64 default/linux/amd64/13.0/desktop/gnome/systemd stable |
124 |
+amd64 default/linux/amd64/13.0/desktop/kde stable |
125 |
+amd64 default/linux/amd64/13.0/desktop/kde/systemd stable |
126 |
+amd64 default/linux/amd64/13.0/developer stable |
127 |
+amd64 default/linux/amd64/13.0/no-multilib dev |
128 |
+amd64 default/linux/amd64/13.0/x32 dev |
129 |
+ |
130 |
+# ARM Profiles |
131 |
+arm default/linux/arm/13.0 stable |
132 |
+arm default/linux/arm/13.0/desktop dev |
133 |
+arm default/linux/arm/13.0/desktop/gnome dev |
134 |
+arm default/linux/arm/13.0/desktop/gnome/systemd dev |
135 |
+arm default/linux/arm/13.0/desktop/kde dev |
136 |
+arm default/linux/arm/13.0/desktop/kde/systemd dev |
137 |
+arm default/linux/arm/13.0/developer dev |
138 |
+arm default/linux/arm/13.0/armv4 dev |
139 |
+arm default/linux/arm/13.0/armv4/desktop dev |
140 |
+arm default/linux/arm/13.0/armv4/desktop/gnome dev |
141 |
+arm default/linux/arm/13.0/armv4/desktop/kde dev |
142 |
+arm default/linux/arm/13.0/armv4/developer dev |
143 |
+arm default/linux/arm/13.0/armv4t dev |
144 |
+arm default/linux/arm/13.0/armv4t/desktop dev |
145 |
+arm default/linux/arm/13.0/armv4t/desktop/gnome dev |
146 |
+arm default/linux/arm/13.0/armv4t/desktop/kde dev |
147 |
+arm default/linux/arm/13.0/armv4t/developer dev |
148 |
+arm default/linux/arm/13.0/armv5te dev |
149 |
+arm default/linux/arm/13.0/armv5te/desktop dev |
150 |
+arm default/linux/arm/13.0/armv5te/desktop/gnome dev |
151 |
+arm default/linux/arm/13.0/armv5te/desktop/kde dev |
152 |
+arm default/linux/arm/13.0/armv5te/developer dev |
153 |
+arm default/linux/arm/13.0/armv6j dev |
154 |
+arm default/linux/arm/13.0/armv6j/desktop dev |
155 |
+arm default/linux/arm/13.0/armv6j/desktop/gnome dev |
156 |
+arm default/linux/arm/13.0/armv6j/desktop/kde dev |
157 |
+arm default/linux/arm/13.0/armv6j/developer dev |
158 |
+arm default/linux/arm/13.0/armv7a dev |
159 |
+arm default/linux/arm/13.0/armv7a/desktop dev |
160 |
+arm default/linux/arm/13.0/armv7a/desktop/gnome dev |
161 |
+arm default/linux/arm/13.0/armv7a/desktop/kde dev |
162 |
+arm default/linux/arm/13.0/armv7a/developer dev |
163 |
+ |
164 |
+# ARM64 Profiles |
165 |
+arm64 default/linux/arm64/13.0 exp |
166 |
+arm64 default/linux/arm64/13.0/desktop exp |
167 |
+arm64 default/linux/arm64/13.0/developer exp |
168 |
+ |
169 |
+# HPPA Profiles |
170 |
+hppa default/linux/hppa/13.0 stable |
171 |
+hppa default/linux/hppa/13.0/desktop dev |
172 |
+hppa default/linux/hppa/13.0/developer dev |
173 |
+ |
174 |
+# IA64 Profiles |
175 |
+ia64 default/linux/ia64/13.0 stable |
176 |
+ia64 default/linux/ia64/13.0/desktop stable |
177 |
+ia64 default/linux/ia64/13.0/desktop/gnome stable |
178 |
+ia64 default/linux/ia64/13.0/desktop/gnome/systemd stable |
179 |
+ia64 default/linux/ia64/13.0/desktop/kde stable |
180 |
+ia64 default/linux/ia64/13.0/desktop/kde/systemd stable |
181 |
+ia64 default/linux/ia64/13.0/developer stable |
182 |
+ |
183 |
+# M68K Profiles |
184 |
+m68k default/linux/m68k/13.0 dev |
185 |
+m68k default/linux/m68k/13.0/desktop dev |
186 |
+m68k default/linux/m68k/13.0/desktop/gnome dev |
187 |
+m68k default/linux/m68k/13.0/desktop/kde dev |
188 |
+m68k default/linux/m68k/13.0/developer dev |
189 |
+ |
190 |
+# MIPS Profiles |
191 |
+mips default/linux/mips/13.0 dev |
192 |
+mips default/linux/mips/13.0/n32 dev |
193 |
+mips default/linux/mips/13.0/n64 exp |
194 |
+mips default/linux/mips/13.0/multilib dev |
195 |
+mips default/linux/mips/13.0/multilib/n32 dev |
196 |
+mips default/linux/mips/13.0/multilib/n64 exp |
197 |
+mips default/linux/mips/13.0/mipsel dev |
198 |
+mips default/linux/mips/13.0/mipsel/n32 dev |
199 |
+mips default/linux/mips/13.0/mipsel/n64 exp |
200 |
+mips default/linux/mips/13.0/mipsel/multilib dev |
201 |
+mips default/linux/mips/13.0/mipsel/multilib/n32 dev |
202 |
+mips default/linux/mips/13.0/mipsel/multilib/n64 exp |
203 |
+ |
204 |
+# PPC32 Profiles |
205 |
+ppc default/linux/powerpc/ppc32/13.0 stable |
206 |
+ppc default/linux/powerpc/ppc32/13.0/desktop stable |
207 |
+ppc default/linux/powerpc/ppc32/13.0/desktop/gnome stable |
208 |
+ppc default/linux/powerpc/ppc32/13.0/desktop/gnome/systemd stable |
209 |
+ppc default/linux/powerpc/ppc32/13.0/desktop/kde stable |
210 |
+ppc default/linux/powerpc/ppc32/13.0/desktop/kde/systemd stable |
211 |
+ppc default/linux/powerpc/ppc32/13.0/developer stable |
212 |
+ |
213 |
+# PPC64 Profiles |
214 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland stable |
215 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop stable |
216 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/gnome stable |
217 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/gnome/systemd stable |
218 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/kde stable |
219 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/kde/systemd stable |
220 |
+ppc default/linux/powerpc/ppc64/13.0/32bit-userland/developer stable |
221 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland stable |
222 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop stable |
223 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/gnome stable |
224 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/gnome/systemd stable |
225 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/kde stable |
226 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/kde/systemd stable |
227 |
+ppc64 default/linux/powerpc/ppc64/13.0/64bit-userland/developer stable |
228 |
+ |
229 |
+# S390 Profiles |
230 |
+s390 default/linux/s390/13.0 dev |
231 |
+s390 default/linux/s390/13.0/s390x dev |
232 |
+ |
233 |
+# SH Profiles |
234 |
+sh default/linux/sh/13.0 dev |
235 |
+sh default/linux/sh/13.0/desktop dev |
236 |
+sh default/linux/sh/13.0/desktop/gnome dev |
237 |
+sh default/linux/sh/13.0/desktop/kde dev |
238 |
+sh default/linux/sh/13.0/developer dev |
239 |
+ |
240 |
+# SPARC Profiles |
241 |
+sparc default/linux/sparc/13.0 stable |
242 |
+sparc default/linux/sparc/13.0/desktop stable |
243 |
+sparc default/linux/sparc/13.0/desktop/gnome stable |
244 |
+sparc default/linux/sparc/13.0/desktop/kde stable |
245 |
+sparc default/linux/sparc/13.0/developer stable |
246 |
+ |
247 |
+# x86 Profiles |
248 |
+x86 default/linux/x86/13.0 stable |
249 |
+x86 default/linux/x86/13.0/selinux dev |
250 |
+x86 default/linux/x86/13.0/desktop stable |
251 |
+x86 default/linux/x86/13.0/desktop/gnome stable |
252 |
+x86 default/linux/x86/13.0/desktop/gnome/systemd stable |
253 |
+x86 default/linux/x86/13.0/desktop/kde stable |
254 |
+x86 default/linux/x86/13.0/desktop/kde/systemd stable |
255 |
+x86 default/linux/x86/13.0/developer stable |
256 |
+ |
257 |
+# Gentoo/FreeBSD Profiles |
258 |
+amd64-fbsd default/bsd/fbsd/amd64/9.1 stable |
259 |
+amd64-fbsd default/bsd/fbsd/amd64/9.2 dev |
260 |
+amd64-fbsd default/bsd/fbsd/amd64/9.1/clang exp |
261 |
+amd64-fbsd default/bsd/fbsd/amd64/9.2/clang exp |
262 |
+sparc-fbsd default/bsd/fbsd/sparc/8.2 exp |
263 |
+x86-fbsd default/bsd/fbsd/x86/9.1 dev |
264 |
+x86-fbsd default/bsd/fbsd/x86/9.2 dev |
265 |
+ |
266 |
+# Hardened Profiles |
267 |
+amd64 hardened/linux/amd64 stable |
268 |
+amd64 hardened/linux/amd64/selinux stable |
269 |
+amd64 hardened/linux/amd64/no-multilib stable |
270 |
+amd64 hardened/linux/amd64/no-multilib/selinux stable |
271 |
+amd64 hardened/linux/amd64/x32 dev |
272 |
+amd64 hardened/linux/uclibc/amd64 dev |
273 |
+arm hardened/linux/arm/armv7a dev |
274 |
+arm hardened/linux/arm/armv6j dev |
275 |
+arm hardened/linux/uclibc/arm/armv7a dev |
276 |
+ia64 hardened/linux/ia64 dev |
277 |
+mips hardened/linux/uclibc/mips exp |
278 |
+mips hardened/linux/uclibc/mips/mipsel exp |
279 |
+ppc hardened/linux/powerpc/ppc32 dev |
280 |
+ppc hardened/linux/powerpc/ppc64/32bit-userland dev |
281 |
+ppc64 hardened/linux/powerpc/ppc64/64bit-userland dev |
282 |
+x86 hardened/linux/x86 stable |
283 |
+x86 hardened/linux/x86/selinux stable |
284 |
+x86 hardened/linux/uclibc/x86 dev |
285 |
+ |
286 |
+# uclibc/embedded multiarch profiles |
287 |
+#amd64 uclibc/amd64 dev |
288 |
+#arm uclibc/arm dev |
289 |
+#arm uclibc/arm/2.4 dev |
290 |
+#mips uclibc/mips dev |
291 |
+#mips uclibc/mips/hardened dev |
292 |
+#ppc uclibc/ppc dev |
293 |
+#ppc uclibc/ppc/2.4 dev |
294 |
+#ppc uclibc/ppc/hardened dev |
295 |
+#ppc uclibc/ppc/hardened/2.4 dev |
296 |
+#sh uclibc/sh dev |
297 |
+#sh uclibc/sh/2.4 dev |
298 |
+#x86 uclibc/x86 dev |
299 |
+#x86 uclibc/x86/2.4 dev |
300 |
+#x86 uclibc/x86/2005.1 dev |
301 |
+#x86 uclibc/x86/2005.1/2.4 dev |
302 |
+#x86 uclibc/x86/hardened dev |
303 |
+#x86 uclibc/x86/hardened/2.4 dev |
304 |
+ |
305 |
+ |
306 |
+# These are Gentoo Prefix profiles, maintained by the Prefix team |
307 |
+ |
308 |
+# Linux Profiles |
309 |
+amd64-linux prefix/linux/amd64 exp |
310 |
+arm-linux prefix/linux/arm exp |
311 |
+ia64-linux prefix/linux/ia64 exp |
312 |
+ppc64-linux prefix/linux/ppc64 exp |
313 |
+x86-linux prefix/linux/x86 exp |
314 |
+ |
315 |
+# Mac OS X Profiles |
316 |
+ppc-macos prefix/darwin/macos/10.4/ppc exp |
317 |
+x86-macos prefix/darwin/macos/10.4/x86 exp |
318 |
+ppc-macos prefix/darwin/macos/10.5/ppc exp |
319 |
+x86-macos prefix/darwin/macos/10.5/x86 exp |
320 |
+x64-macos prefix/darwin/macos/10.5/x64 exp |
321 |
+x86-macos prefix/darwin/macos/10.6/x86 exp |
322 |
+x64-macos prefix/darwin/macos/10.6/x64 exp |
323 |
+x86-macos prefix/darwin/macos/10.7/x86 exp |
324 |
+x64-macos prefix/darwin/macos/10.7/x64 exp |
325 |
+x86-macos prefix/darwin/macos/10.8/x86 exp |
326 |
+x64-macos prefix/darwin/macos/10.8/x64 exp |
327 |
+x86-macos prefix/darwin/macos/10.9/x86 exp |
328 |
+x64-macos prefix/darwin/macos/10.9/x64 exp |
329 |
+ |
330 |
+# Solaris Profiles |
331 |
+sparc-solaris prefix/sunos/solaris/5.9/sparc exp |
332 |
+sparc-solaris prefix/sunos/solaris/5.10/sparc exp |
333 |
+sparc64-solaris prefix/sunos/solaris/5.10/sparc64 exp |
334 |
+x86-solaris prefix/sunos/solaris/5.10/x86 exp |
335 |
+x64-solaris prefix/sunos/solaris/5.10/x64 exp |
336 |
+sparc-solaris prefix/sunos/solaris/5.11/sparc exp |
337 |
+sparc64-solaris prefix/sunos/solaris/5.11/sparc64 exp |
338 |
+x86-solaris prefix/sunos/solaris/5.11/x86 exp |
339 |
+x64-solaris prefix/sunos/solaris/5.11/x64 exp |
340 |
+ |
341 |
+# AIX Profiles |
342 |
+ppc-aix prefix/aix/5.2.0.0/ppc exp |
343 |
+ppc-aix prefix/aix/5.3.0.0/ppc exp |
344 |
+ppc-aix prefix/aix/6.1.0.0/ppc exp |
345 |
+ |
346 |
+# Interix Profiles |
347 |
+x86-interix prefix/windows/interix/3.5/x86 exp |
348 |
+x86-interix prefix/windows/interix/5.2/x86 exp |
349 |
+x86-interix prefix/windows/interix/6.0/x86 exp |
350 |
+x86-interix prefix/windows/interix/6.1/x86 exp |
351 |
+ |
352 |
+# Windows Profiles |
353 |
+x86-winnt prefix/windows/winnt/3.5/x86 exp |
354 |
+x86-winnt prefix/windows/winnt/5.2/x86 exp |
355 |
+x86-winnt prefix/windows/winnt/6.0/x86 exp |
356 |
+x86-winnt prefix/windows/winnt/6.1/x86 exp |
357 |
+ |
358 |
+# Cygwin Profiles |
359 |
+x86-cygwin prefix/windows/cygwin/1.7/x86 exp |
360 |
+ |
361 |
+# HP-UX Profiles |
362 |
+ia64-hpux prefix/hpux/B.11.23/ia64 exp |
363 |
+hppa-hpux prefix/hpux/B.11.31/hppa2.0 exp |
364 |
+ia64-hpux prefix/hpux/B.11.31/ia64 exp |
365 |
+ |
366 |
+# FreeBSD Profiles |
367 |
+x86-freebsd prefix/bsd/freebsd/7.1/x86 exp |
368 |
+x64-freebsd prefix/bsd/freebsd/7.1/x64 exp |
369 |
+x86-freebsd prefix/bsd/freebsd/7.2/x86 exp |
370 |
+x64-freebsd prefix/bsd/freebsd/7.2/x64 exp |
371 |
+x86-freebsd prefix/bsd/freebsd/8.0/x86 exp |
372 |
+x64-freebsd prefix/bsd/freebsd/8.0/x64 exp |
373 |
+x86-freebsd prefix/bsd/freebsd/8.1/x86 exp |
374 |
+x64-freebsd prefix/bsd/freebsd/8.1/x64 exp |
375 |
+sparc64-freebsd prefix/bsd/freebsd/8.1/sparc64 exp |
376 |
+x86-freebsd prefix/bsd/freebsd/8.2/x86 exp |
377 |
+x64-freebsd prefix/bsd/freebsd/8.2/x64 exp |
378 |
+x86-freebsd prefix/bsd/freebsd/9.0/x86 exp |
379 |
+x64-freebsd prefix/bsd/freebsd/9.0/x64 exp |
380 |
+x86-freebsd prefix/bsd/freebsd/9.1/x86 exp |
381 |
+x64-freebsd prefix/bsd/freebsd/9.1/x64 exp |
382 |
+ |
383 |
+ |
384 |
+# OpenBSD Profiles |
385 |
+ppc-openbsd prefix/bsd/openbsd/4.2/ppc exp |
386 |
+x86-openbsd prefix/bsd/openbsd/4.2/x86 exp |
387 |
+x64-openbsd prefix/bsd/openbsd/4.2/x64 exp |
388 |
+ |
389 |
+# NetBSD Profiles |
390 |
+x86-netbsd prefix/bsd/netbsd/4.0/x86 exp |
391 |
+ |
392 |
+# FreeMiNT |
393 |
+m68k-mint prefix/mint/m68k exp |
394 |
+ |
395 |
+# vim: set ts=8: |
396 |
|
397 |
diff --git a/pym/gentoolkit/profile.py b/pym/gentoolkit/profile.py |
398 |
index 031b497..01f823a 100644 |
399 |
--- a/pym/gentoolkit/profile.py |
400 |
+++ b/pym/gentoolkit/profile.py |
401 |
@@ -81,12 +81,34 @@ def load_profile_data(portdir=None, repo='gentoo'): |
402 |
warning('could not read profile files: %s' % arch_list) |
403 |
warning('will not be able to verify args are correct') |
404 |
|
405 |
- # TODO: support arches.desc once the GLEP is finalized |
406 |
- # for now, we just hardcode everything + *-* (fbsd, prefix) |
407 |
+ arches_desc = {} |
408 |
+ try: |
409 |
+ arches_list = os.path.join(portdir, 'profiles', 'arches.desc') |
410 |
+ with open(_unicode_encode(arches_list, encoding=_encodings['fs']), |
411 |
+ encoding=_encodings['content']) as f: |
412 |
+ for line in f: |
413 |
+ line = line.split('#', 1)[0].split() |
414 |
+ if line: |
415 |
+ arch, status = line |
416 |
+ arches_desc[arch] = status |
417 |
+ except IOError: |
418 |
+ # backwards compatibility |
419 |
+ arches_desc = { |
420 |
+ 'alpha': 'testing', |
421 |
+ 'ia64': 'testing', |
422 |
+ 'm68k': 'testing', |
423 |
+ 'mips': 'testing', |
424 |
+ 'riscv': 'testing', |
425 |
+ } |
426 |
+ for k in arch_status: |
427 |
+ if '-' in k: |
428 |
+ arches_desc[k] = 'testing' |
429 |
+ |
430 |
for k, v in arch_status.items(): |
431 |
- if k in ('alpha', 'ia64', 'm68k', 'mips', 'riscv') or '-' in k: |
432 |
+ if arches_desc.get(k) == 'testing': |
433 |
arch_status[k] = (v, '~arch') |
434 |
else: |
435 |
+ # TODO: explicit distinction of transitional, bad values? |
436 |
arch_status[k] = (v, 'arch') |
437 |
|
438 |
return arch_status |
439 |
|
440 |
diff --git a/pym/gentoolkit/test/test_profile.py b/pym/gentoolkit/test/test_profile.py |
441 |
index 038525d..f91de6d 100644 |
442 |
--- a/pym/gentoolkit/test/test_profile.py |
443 |
+++ b/pym/gentoolkit/test/test_profile.py |
444 |
@@ -43,6 +43,18 @@ class TestLoadProfileData(unittest.TestCase): |
445 |
self.assertIn('arm64', ret) |
446 |
self.assertEqual(ret['arm64'], ('exp', 'arch')) |
447 |
|
448 |
+ def testLoadArchesDesc(self): |
449 |
+ """Test loading arch.list, arches.desc and profiles.desc""" |
450 |
+ ret = self._test('arches-desc') |
451 |
+ self.assertIn('arm', ret) |
452 |
+ self.assertEqual(ret['arm'], ('stable', 'arch')) |
453 |
+ self.assertIn('arm64', ret) |
454 |
+ self.assertEqual(ret['arm64'], ('exp', 'arch')) |
455 |
+ self.assertIn('alpha', ret) |
456 |
+ self.assertEqual(ret['alpha'], ('stable', '~arch')) |
457 |
+ self.assertIn('sparc-fbsd', ret) |
458 |
+ self.assertEqual(ret['sparc-fbsd'], ('exp', '~arch')) |
459 |
+ |
460 |
def testLoadNone(self): |
461 |
"""Test running when neither files exists""" |
462 |
ret = self._test('none') |