commit:     21e613fe5efe6cdee4b5f7fc0473de14ff880ed3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  1 08:28:19 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 20 06:25:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21e613fe

desktop.eclass: Install files as foo.desktop rather than foo-foo.desktop

Bug: https://bugs.gentoo.org/771708#c14
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/desktop.eclass | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass
index de912bb80932..01de8b61ae1c 100644
--- a/eclass/desktop.eclass
+++ b/eclass/desktop.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: desktop.eclass
@@ -156,19 +156,18 @@ make_desktop_entry() {
                                ;;
                esac
        fi
-       local slot=${SLOT%/*}
-       if [[ ${slot} == "0" ]] ; then
-               local desktop_name="${PN}"
-       else
-               local desktop_name="${PN}-${slot}"
-       fi
+
        local desktop_exec="${exec%%[[:space:]]*}"
        desktop_exec="${desktop_exec##*/}"
+       local desktop_suffix="-${PN}"
+       [[ ${SLOT%/*} != 0 ]] && desktop_suffix+="-${SLOT%/*}"
+       # Replace foo-foo.desktop by foo.desktop
+       [[ ${desktop_suffix#-} == "${desktop_exec}" ]] && desktop_suffix=""
 
        # Prevent collisions if a file with the same name already exists #771708
-       local desktop="${desktop_exec}-${desktop_name}" count=0
+       local desktop="${desktop_exec}${desktop_suffix}" count=0
        while [[ -e ${ED}/usr/share/applications/${desktop}.desktop ]]; do
-               desktop="${desktop_exec}-$((++count))-${desktop_name}"
+               desktop="${desktop_exec}-$((++count))${desktop_suffix}"
        done
        desktop="${T}/${desktop}.desktop"
 

Reply via email to