summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/doebuild.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/package/ebuild/doebuild.py')
-rw-r--r--pym/portage/package/ebuild/doebuild.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
index 471a5daeb..a6426eed5 100644
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@ -1773,6 +1773,9 @@ def _post_src_install_uid_fix(mysettings, out):
unicode_errors = []
desktop_file_validate = \
portage.process.find_binary("desktop-file-validate") is not None
+ xdg_dirs = mysettings.get('XDG_DATA_DIRS', '/usr/share').split(':')
+ xdg_dirs = tuple(os.path.join(i, "applications") + os.sep
+ for i in xdg_dirs if i)
while True:
@@ -1821,7 +1824,9 @@ def _post_src_install_uid_fix(mysettings, out):
fpath = os.path.join(parent, fname)
if desktop_file_validate and fname.endswith(".desktop") and \
- os.path.isfile(fpath):
+ os.path.isfile(fpath) and \
+ fpath[ed_len - 1:].startswith(xdg_dirs):
+
desktop_validate = validate_desktop_entry(fpath)
if desktop_validate:
desktopfile_errors.extend(desktop_validate)