--- eutils.eclass +++ eutils.eclass @@ -942,8 +942,9 @@ else local desktop_name="${PN}-${SLOT}" fi - local desktop="${T}/$(echo ${exec} | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop" - #local desktop=${T}/${exec%% *:-${desktop_name}}.desktop + local desktop="${T}/$(echo ${exec} | sed 's/.*\///' | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop" + [ -f "${desktop}" ] && [[ $(cat "${desktop}" | grep ^Exec= | sed 's/Exec=//') != ${exec} ]] && + desktop="${T}/$(echo ${exec} | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop" cat <<-EOF > "${desktop}" [Desktop Entry]