Summary: | [PATCH] repoman check for deprecated eclasses | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Alex Alexander (RETIRED) <wired> |
Component: | Repoman | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | qa, qt, releng, ruby |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://dev.gentoo.org/~wired/patches/0001-repoman-check-for-deprecated-eclasses.patch | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 335925 | ||
Attachments: |
repoman check for deprecated eclasses
updated patch with eclass deprecation check |
Description
Alex Alexander (RETIRED)
2010-07-03 16:46:41 UTC
Created attachment 237365 [details, diff]
repoman check for deprecated eclasses
1) Your check() looks a bit bogus. It looks to me like something like that would suffice: + def check(self, num, line): + pass 2) The longest line in end() could use some white spaces ("+i+" -> "+ i +") and a line break. 3) The qt4.eclass misses a deprecation notice. 4) The following eclass are marked as deprecated: "ruby": "ruby-ng", "qt3": 0, "gems": "ruby-fakegem", "ruby-gnome2": "ruby-ng-gnome2", "php-pear": "php-pear-r1" It would be nicer if this the list wouldn't be hard coded, but I guess it's not that easy. Other than that, looks good. :) (In reply to comment #2) > It would be nicer if this the list wouldn't be hard coded, but I guess it's not > that easy. Maybe one could agree on a standard header for deprecated eclasses that could be found by a regex. Something like: for eclasses without replacement: # @DEAD for eclasses with replacement: # @DEPRECATED <new-eclass> CCing QA and release for consideration. Created attachment 242991 [details, diff]
updated patch with eclass deprecation check
Sorry for the delay. I've fixed all your points :)
(In reply to comment #4) > Created an attachment (id=242991) [details] > updated patch with eclass deprecation check > > Sorry for the delay. I've fixed all your points :) > Why is this a LineCheck at all? This is just a metadata check. if bad_eclasses in metadata['INHERITED'] .... -A Please add to your list x-modular -> xorg-2 Other than that the patch looks good :) Ruby team would love to see this soon :) (In reply to comment #5) > Why is this a LineCheck at all? This is just a metadata check. > > if bad_eclasses in metadata['INHERITED'] .... Maybe do both. Do we care to distinguish between direct and indirect inherits? (In reply to comment #8) > (In reply to comment #5) > > Why is this a LineCheck at all? This is just a metadata check. > > > > if bad_eclasses in metadata['INHERITED'] .... > > Maybe do both. Do we care to distinguish between direct and indirect inherits? > We should probably distinguish about them and just warn when using eclass with bad inherit and die when using the bad inherit directly (eclasses are fixed slowly than ebuilds :)) (In reply to comment #4) > Created an attachment (id=242991) [details] > updated patch with eclass deprecation check Thanks, that's in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=6bfbbbefc91069cb4244cf5a5462e6cef3cef3e6 (In reply to comment #5) > Why is this a LineCheck at all? This is just a metadata check. Support for direct inherits with line numbers: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c810b639133301f605eabb1c9644d05cc0ff515a Support for indirect inherits, with errors indicating indirect nature: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=93ceaa213a10df814de8e893f4312dc43e2047c4 This is fixed in 2.1.9 and 2.2_rc68. (In reply to comment #6) > Please add to your list x-modular -> xorg-2 This is in git now: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9cf77a6c178f435e6747b1d6ab8d6757955e46f2 |