1#!/bin/sh 2 3set -e 4set -o pipefail 5 6. "${dp_SCRIPTSDIR}/functions.sh" 7 8validate_env dp_SED dp_ECHO_CMD dp_STAGEDIR dp_DESKTOPDIR 9 10[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_INSTALL_DESKTOP_ENTRIES}" ] && set -x 11 12set -u 13 14while [ $# -ge 6 ]; do 15 16 Name="${1}" 17 Comment="${2}" 18 Icon="${3}" 19 Exec="${4}" 20 Categories="${5}" 21 StartupNotify="${6}" 22 23 shift 6 24 25 filename="$(${dp_ECHO_CMD} "${Exec}" | ${dp_SED} -e 's,^/,,g;s,[/ ],_,g;s,[^_[:alnum:]],,g').desktop" 26 27 pathname="${dp_STAGEDIR}${dp_DESKTOPDIR}/${filename}" 28 29 ${dp_ECHO_CMD} "${dp_DESKTOPDIR}/${filename}" >> "${dp_TMPPLIST}" 30 31 { 32 ${dp_ECHO_CMD} "[Desktop Entry]" 33 ${dp_ECHO_CMD} "Type=Application" 34 ${dp_ECHO_CMD} "Version=1.0" 35 ${dp_ECHO_CMD} "Name=${Name}" 36 } > "${pathname}" 37 38 if [ -n "${Comment}" ]; then 39 comment="${Comment}" 40 else 41 comment="$(cd "${dp_CURDIR}" && ${dp_MAKE} -VCOMMENT)" 42 fi 43 44 ${dp_ECHO_CMD} "GenericName=${comment}" >> "${pathname}" 45 ${dp_ECHO_CMD} "Comment=${comment}" >> "${pathname}" 46 47 if [ -n "${Icon}" ]; then 48 ${dp_ECHO_CMD} "Icon=${Icon}" >> "${pathname}" 49 fi 50 51 ${dp_ECHO_CMD} "Exec=${Exec}" >> "${pathname}" 52 53 if [ -n "${Categories}" ]; then 54 categories="${Categories}" 55 else 56 categories="$(cd "${dp_CURDIR}" && ${dp_MAKE} desktop-categories)" 57 fi 58 59 ${dp_ECHO_CMD} "Categories=${categories}" >> "${pathname}" 60 61 if [ -n "${StartupNotify}" ]; then 62 ${dp_ECHO_CMD} "StartupNotify=${StartupNotify}" >> "${pathname}" 63 fi 64done 65