1 |
commit: f32f9308393fe9e6ef9143ac852479ec63bc8a70 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 2 06:21:49 2012 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 2 06:21:49 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f32f9308 |
7 |
|
8 |
InheritEclass: exempt eclasses that export src_* |
9 |
|
10 |
We really need to annotate exceptions like these directly in the |
11 |
eclasses, but hardcode them for now. |
12 |
|
13 |
--- |
14 |
pym/repoman/checks.py | 38 +++++++++++++++++++++++++++++++++++--- |
15 |
1 files changed, 35 insertions(+), 3 deletions(-) |
16 |
|
17 |
diff --git a/pym/repoman/checks.py b/pym/repoman/checks.py |
18 |
index ab93ac9..62c735e 100644 |
19 |
--- a/pym/repoman/checks.py |
20 |
+++ b/pym/repoman/checks.py |
21 |
@@ -481,7 +481,8 @@ class InheritEclass(LineCheck): |
22 |
self._inherit = False |
23 |
self._func_call = False |
24 |
if self._exempt_eclasses is not None: |
25 |
- self._disabled = any(x in pkg.inherited for x in self._exempt_eclasses) |
26 |
+ inherited = pkg.inherited |
27 |
+ self._disabled = any(x in inherited for x in self._exempt_eclasses) |
28 |
else: |
29 |
self._disabled = False |
30 |
|
31 |
@@ -504,6 +505,37 @@ class InheritEclass(LineCheck): |
32 |
self.repoman_check_name = 'inherit.unused' |
33 |
yield 'no function called from %s.eclass; please drop' % self._eclass |
34 |
|
35 |
+# eclasses that export ${ECLASS}_src_(compile|configure|install) |
36 |
+_eclass_export_functions = ( |
37 |
+ 'ant-tasks', 'apache-2', 'apache-module', 'aspell-dict', |
38 |
+ 'autotools-utils', 'base', 'bsdmk', 'cannadic', |
39 |
+ 'clutter', 'cmake-utils', 'db', 'distutils', 'elisp', |
40 |
+ 'embassy', 'emboss', 'emul-linux-x86', 'enlightenment', |
41 |
+ 'font-ebdftopcf', 'font', 'fox', 'freebsd', 'freedict', |
42 |
+ 'games', 'games-ggz', 'games-mods', 'gdesklets', |
43 |
+ 'gems', 'gkrellm-plugin', 'gnatbuild', 'gnat', 'gnome2', |
44 |
+ 'gnome-python-common', 'gnustep-base', 'go-mono', 'gpe', |
45 |
+ 'gst-plugins-bad', 'gst-plugins-base', 'gst-plugins-good', |
46 |
+ 'gst-plugins-ugly', 'gtk-sharp-module', 'haskell-cabal', |
47 |
+ 'horde', 'java-ant-2', 'java-pkg-2', 'java-pkg-simple', |
48 |
+ 'java-virtuals-2', 'kde4-base', 'kde4-meta', 'kernel-2', |
49 |
+ 'latex-package', 'linux-mod', 'mozlinguas', 'myspell', |
50 |
+ 'myspell-r2', 'mysql', 'mysql-v2', 'mythtv-plugins', |
51 |
+ 'oasis', 'obs-service', 'office-ext', 'perl-app', |
52 |
+ 'perl-module', 'php-ext-base-r1', 'php-ext-pecl-r2', |
53 |
+ 'php-ext-source-r2', 'php-lib-r1', 'php-pear-lib-r1', |
54 |
+ 'php-pear-r1', 'python-distutils-ng', 'python', |
55 |
+ 'qt4-build', 'qt4-r2', 'rox-0install', 'rox', 'ruby', |
56 |
+ 'ruby-ng', 'scsh', 'selinux-policy-2', 'sgml-catalog', |
57 |
+ 'stardict', 'sword-module', 'tetex-3', 'tetex', |
58 |
+ 'texlive-module', 'toolchain-binutils', 'toolchain', |
59 |
+ 'twisted', 'vdr-plugin-2', 'vdr-plugin', 'vim', |
60 |
+ 'vim-plugin', 'vim-spell', 'virtuoso', 'vmware', |
61 |
+ 'vmware-mod', 'waf-utils', 'webapp', 'xemacs-elisp', |
62 |
+ 'xemacs-packages', 'xfconf', 'x-modular', 'xorg-2', |
63 |
+ 'zproduct' |
64 |
+) |
65 |
+ |
66 |
_eclass_info = { |
67 |
'autotools': { |
68 |
'funcs': ( |
69 |
@@ -531,7 +563,7 @@ _eclass_info = { |
70 |
'comprehensive': False, |
71 |
|
72 |
# These are "eclasses are the whole ebuild" type thing. |
73 |
- 'exempt_eclasses': ('base', 'cmake-utils', 'kde4-base', 'toolchain', 'toolchain-binutils', 'vim'), |
74 |
+ 'exempt_eclasses': _eclass_export_functions, |
75 |
|
76 |
#'inherited_api': ('multilib', 'user',), |
77 |
}, |
78 |
@@ -557,7 +589,7 @@ _eclass_info = { |
79 |
), |
80 |
|
81 |
# These are "eclasses are the whole ebuild" type thing. |
82 |
- 'exempt_eclasses': ('cmake-utils', 'kde4-base'), |
83 |
+ 'exempt_eclasses': _eclass_export_functions, |
84 |
|
85 |
'comprehensive': False |
86 |
}, |