diff options
author | Jonathan Callen <abcd@gentoo.org> | 2010-02-26 03:15:26 +0000 |
---|---|---|
committer | Jonathan Callen <abcd@gentoo.org> | 2010-02-26 03:15:26 +0000 |
commit | 5636d7c7583151d5c4867eb05af75dd2a8952014 (patch) | |
tree | d84edcb472260f9b2837fceda8d6a2f288286a4c /eclass | |
parent | Fixed some QA issues. (diff) | |
download | gentoo-2-5636d7c7583151d5c4867eb05af75dd2a8952014.tar.gz gentoo-2-5636d7c7583151d5c4867eb05af75dd2a8952014.tar.bz2 gentoo-2-5636d7c7583151d5c4867eb05af75dd2a8952014.zip |
Properly implement the Desktop File Specification in make_desktop_entry()
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/eutils.eclass | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index 17893be10e58..d8b753e4b906 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.333 2010/02/17 17:10:23 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.334 2010/02/26 03:15:26 abcd Exp $ # @ECLASS: eutils.eclass # @MAINTAINER: @@ -961,6 +961,7 @@ make_desktop_entry() { news) type=News;; nntp) type=News;; p2p) type=FileTransfer;; + voip) type=Telephony;; *) type=;; esac type="Network;${type}" @@ -979,7 +980,7 @@ make_desktop_entry() { visual*) type=DataVisualization;; *) type=;; esac - type="Science;${type}" + type="Education;Science;${type}" ;; sys) @@ -991,7 +992,7 @@ make_desktop_entry() { client) type=WebBrowser;; *) type=;; esac - type="Network" + type="Network;${type}" ;; *) @@ -1007,6 +1008,17 @@ make_desktop_entry() { local desktop="${T}/$(echo ${exec} | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop" #local desktop=${T}/${exec%% *:-${desktop_name}}.desktop + # Don't append another ";" when a valid category value is provided. + type=${type%;}${type:+;} + + eshopts_push -s extglob + if [[ -n ${icon} && ${icon} != /* && ${icon} == *.@(xpm|png|svg) ]]; then + ewarn "As described in the Icon Theme Specification, icon file extensions are not" + ewarn "allowed in .desktop files if the value is not an absolute path." + icon=${icon%.@(xpm|png|svg)} + fi + eshopts_pop + cat <<-EOF > "${desktop}" [Desktop Entry] Name=${name} @@ -1015,7 +1027,7 @@ make_desktop_entry() { Exec=${exec} TryExec=${exec%% *} Icon=${icon} - Categories=${type}; + Categories=${type} EOF [[ ${path} ]] && echo "Path=${path}" >> "${desktop}" |