From: Zac Medico Date: Sun, 2 Sep 2012 19:31:23 +0000 (-0700) Subject: validate_desktop_entry: handle emacs.desktop X-Git-Tag: v2.2.0_alpha124~10 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8a61c24952137ee10eac107c681cdc40f876ee33;p=portage.git validate_desktop_entry: handle emacs.desktop See . --- diff --git a/pym/portage/util/_desktop_entry.py b/pym/portage/util/_desktop_entry.py index deb0a35e7..bafac75d3 100644 --- a/pym/portage/util/_desktop_entry.py +++ b/pym/portage/util/_desktop_entry.py @@ -52,6 +52,12 @@ _ignore_kde_types = frozenset( # sections in /usr/share/apps/akonadi/{plugins,accountwizard} _ignore_kde_sections = ("Currency Code", "Plugin", "Wizard") +_ignored_errors = ( + # Ignore error for emacs.desktop: + # https://bugs.freedesktop.org/show_bug.cgi?id=35844#c6 + 'error: (will be fatal in the future): value "TextEditor" in key "Categories" in group "Desktop Entry" requires another category to be present among the following categories: Utility', +) + def validate_desktop_entry(path): args = ["desktop-file-validate", path] if sys.hexversion < 0x3000000 or sys.hexversion >= 0x3020000: @@ -99,6 +105,14 @@ def validate_desktop_entry(path): if desktop_entry.has_section(section): del output_lines[:] + if output_lines: + filtered_output = [] + for line in output_lines: + if line[len(path)+2:] in _ignored_errors: + continue + filtered_output.append(line) + output_lines = filtered_output + if output_lines: output_lines = [line for line in output_lines if _trivial_warnings.search(line) is None]