| Line | |
|---|
| 1 | # Copyright: 2006 Brian Harring <ferringb@gmail.com> |
|---|
| 2 | # License: GPL2 |
|---|
| 3 | |
|---|
| 4 | from pkgcore_checks.base import Template, versioned_feed, Result |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | class 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 | |
|---|
| 23 | class 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 | 'pcmcia', |
|---|
| 52 | 'perl-post', |
|---|
| 53 | 'php', |
|---|
| 54 | 'php-2', |
|---|
| 55 | 'php-ext', |
|---|
| 56 | 'php-ext-base', |
|---|
| 57 | 'php-ext-pecl', |
|---|
| 58 | 'php-ext-source', |
|---|
| 59 | 'php-lib', |
|---|
| 60 | 'php-pear', |
|---|
| 61 | 'php-sapi', |
|---|
| 62 | 'php5-sapi', |
|---|
| 63 | 'php5-sapi-r1', |
|---|
| 64 | 'php5-sapi-r2', |
|---|
| 65 | 'php5-sapi-r3', |
|---|
| 66 | 'tla', |
|---|
| 67 | 'webapp-apache', |
|---|
| 68 | 'xfree')) |
|---|
| 69 | |
|---|
| 70 | __doc__ = "scan for deprecated eclass usage\n\ndeprecated eclasses:%s\n" % \ |
|---|
| 71 | ", ".join(sorted(blacklist)) |
|---|
| 72 | |
|---|
| 73 | def feed(self, pkg, reporter): |
|---|
| 74 | bad = self.blacklist.intersection(pkg.data["_eclasses_"]) |
|---|
| 75 | if bad: |
|---|
| 76 | reporter.add_report(DeprecatedEclass(pkg, bad)) |
|---|