diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-03-03 10:28:17 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-03-03 10:28:17 +0000 |
commit | d99093fb4bb5652015c06274d64083daa2439e4f (patch) | |
tree | cf61513204d97974179580065e85df5c8009087c /eclass/desktop.eclass | |
parent | 463397cf1e064185110fe57c568d73f99a06f5d1 (diff) |
gentoo resync : 03.03.2021
Diffstat (limited to 'eclass/desktop.eclass')
-rw-r--r-- | eclass/desktop.eclass | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass index 7d5c0f0f9a26..82e764e2a1a4 100644 --- a/eclass/desktop.eclass +++ b/eclass/desktop.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: desktop.eclass @@ -162,8 +162,15 @@ make_desktop_entry() { else local desktop_name="${PN}-${slot}" fi - local desktop="${exec%%[[:space:]]*}" - desktop="${T}/${desktop##*/}-${desktop_name}.desktop" + local desktop_exec="${exec%%[[:space:]]*}" + desktop_exec="${desktop_exec##*/}" + + # Prevent collisions if a file with the same name already exists #771708 + local desktop="${desktop_exec}-${desktop_name}" count=0 + while [[ -e ${ED}/usr/share/applications/${desktop}.desktop ]]; do + desktop="${desktop_exec}-$((++count))-${desktop_name}" + done + desktop="${T}/${desktop}.desktop" # Don't append another ";" when a valid category value is provided. type=${type%;}${type:+;} |