Merge lp:~jjed/archive-crawler/foreign-icons into lp:~mvo/archive-crawler/mvo
Status: | Merged |
---|---|
Merged at revision: | 116 |
Proposed branch: | lp:~jjed/archive-crawler/foreign-icons |
Merge into: | lp:~mvo/archive-crawler/mvo |
Diff against target: |
231 lines (+102/-10) 4 files modified
ArchiveCrawler/__init__.py (+8/-4) DesktopDataExtractor/__init__.py (+83/-4) data/icon_search.cfg (+11/-0) getMenuData.py (+0/-2) |
To merge this branch: | bzr merge lp:~jjed/archive-crawler/foreign-icons |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Vogt | Approve | ||
Review via email: mp+57166@code.launchpad.net |
Description of the change
This branch adds support for fetching icons for a number of different
storage patterns. For example:
audacity -> audacity-data
emacs23 -> emacs23-common
gnome-terminal -> gnome-icon-theme
bluedevil-audio -> oxygen-icon-theme
icedtea-
It introduces a non-trivial performance overhead due to the number extra
debs it has to search, changing the DesktopDataExtr
this:
*Nearly all DesktopDataExtr
Search for missing icons for `x` in any package x`-(common|data)
Search for missing icons for `x` in common icon themes
Search for missing icons for `x` in `x`s direct, nonlib dependencies
*calcArchSp
More patterns, if needed, can be added to a file "icon_search.cfg"
TESTING
I've tested this on main[a-j] and universe[2-d] (to avoid downloading
all of archive.
regressions, and all of them make sense as either:
(b) icons from package dependencies outside the pool I tested
(c) symbolic links (tarfile doesn't work well with them)
(a) broken packages
This should be a safe merge: the bulk of my added code executes after
what the script already does is finished.
FUTURE CONSIDERATIONS
* Symlinked icons still fail. This is affecting some GNUstep apps.
* A blacklist of frequent, non-lib dependencies that never have icons
* A hardcoded list for edge-case apps/long, fruitless icon searches
* More regular expressions to filter likely icon packages
Thanks a bunch! this looks excellent. I am currently running it on a full mirror and I can't wait to see what the results.