root/releases/pkgcore-checks/0.3/pkgcore_checks/deprecated.py @ ferringb%2540gmail.com-20070207174621-yb3eqrqc6jtmdgse

Revision ferringb%2540gmail.com-20070207174621-yb3eqrqc6jtmdgse, 1.7 KB (checked in by Brian Harring <ferringb@…>, 2 years ago)

kill off to_str, no longer used; use short_desc and long_desc properties instead

Line 
1# Copyright: 2006 Brian Harring <ferringb@gmail.com>
2# License: GPL2
3
4from pkgcore_checks.base import Template, versioned_feed, Result
5
6
7class DeprecatedEclass(Result):
8    """pkg uses an eclass that is deprecated/abandoned"""
9   
10    __slots__ = ("category", "package", "version", "eclasses")
11    threshold = versioned_feed
12   
13    def __init__(self, pkg, eclasses):
14        Result.__init__(self)
15        self._store_cpv(pkg)
16        self.eclasses = tuple(sorted(eclasses))
17
18    @property
19    def short_desc(self):
20        return "uses deprecated eclasses [ %s ]" % ', '.join(self.eclasses)
21
22
23class DeprecatedEclassReport(Template):
24
25    feed_type = versioned_feed
26    known_results = (DeprecatedEclass,)
27
28    blacklist = frozenset((
29    '64-bit',
30    'darcs',
31    'db4-fix',
32    'debian',
33    'embassy-2.10',
34    'embassy-2.9',
35    'gcc',
36    'gnustep-old',
37    'gtk-engines',
38    'gtk-engines2',
39    'inherit',
40    'jakarta-commons',
41    'java-pkg',
42    'java-utils',
43    'kde-base',
44    'kde-i18n',
45    'kde-source',
46    'kmod',
47    'koffice-i18n',
48    'motif',
49    'mozilla',
50    'myth',
51    'pax-utils',
52    'pcmcia',
53    'perl-post',
54    'php',
55    'php-2',
56    'php-ext',
57    'php-ext-base',
58    'php-ext-pecl',
59    'php-ext-source',
60    'php-lib',
61    'php-pear',
62    'php-sapi',
63    'php5-sapi',
64    'php5-sapi-r1',
65    'php5-sapi-r2',
66    'php5-sapi-r3',
67    'tla',
68    'webapp-apache',
69    'xfree'))
70
71    __doc__ = "scan for deprecated eclass usage\n\ndeprecated eclasses:%s\n" % \
72        ", ".join(sorted(blacklist))
73
74    def feed(self, pkg, reporter):
75        bad = self.blacklist.intersection(pkg.data["_eclasses_"])
76        if bad:
77            reporter.add_report(DeprecatedEclass(pkg, bad))
Note: See TracBrowser for help on using the browser.