[Midnightbsd-cvs] mports [15544] trunk/Mk/bsd.mport.mk: upgrade desktop file format
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Oct 5 16:38:21 EDT 2013
Revision: 15544
http://svnweb.midnightbsd.org/mports/?rev=15544
Author: laffer1
Date: 2013-10-05 16:38:21 -0400 (Sat, 05 Oct 2013)
Log Message:
-----------
upgrade desktop file format
Modified Paths:
--------------
trunk/Mk/bsd.mport.mk
Modified: trunk/Mk/bsd.mport.mk
===================================================================
--- trunk/Mk/bsd.mport.mk 2013-10-05 20:35:42 UTC (rev 15543)
+++ trunk/Mk/bsd.mport.mk 2013-10-05 20:38:21 UTC (rev 15544)
@@ -4316,6 +4316,11 @@
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 1 (Name) is empty"; \
exit 1; \
fi; \
+ if ${ECHO_CMD} "$$3" | ${GREP} -iq '.\(png\|svg\|xpm\)$$'; then \
+ if ! ${ECHO_CMD} "$$3" | ${GREP} -iq '^/'; then \
+ ${ECHO_MSG} "${PKGNAME}: Makefile warning: in desktop entry $$entry: field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification"; \
+ fi; \
+ fi; \
if [ -z "$$4" ]; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 4 (Exec) is empty"; \
exit 1; \
@@ -4323,10 +4328,12 @@
if [ -n "$$5" ]; then \
for c in `${ECHO_CMD} "$$5" | ${TR} ';' ' '`; do \
if ! ${ECHO_CMD} ${VALID_DESKTOP_CATEGORIES} | ${GREP} -wq $$c; then \
- ${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: category $$c is not a valid desktop category"; \
- exit 1; \
+ ${ECHO_CMD} "${PKGNAME}: Makefile warning: in desktop entry $$entry: category $$c is not a valid desktop category"; \
fi; \
done; \
+ if ! ${ECHO_CMD} "$$5" | ${GREP} -q "`${ECHO_CMD} ${DESKTOP_CATEGORIES_MAIN} | ${SED} -E 's,[[:blank:]]+,\\\|,g'`"; then \
+ ${ECHO_CMD} "${PKGNAME}: Makefile warning: in desktop entry $$entry: field 5 (Categories) must contain at least one main desktop category (make -VDESKTOP_CATEGORIES_MAIN)"; \
+ fi; \
if ! ${ECHO_CMD} "$$5" | ${GREP} -q ';$$'; then \
${ECHO_MSG} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) does not end with a semicolon"; \
exit 1; \
@@ -4362,7 +4369,7 @@
${ECHO_CMD} "@cwd ${DESKTOPDIR}" >> ${TMPPLIST}; \
fi; \
while [ $$# -gt 6 ]; do \
- filename="$$4.desktop"; \
+ filename="`${ECHO_CMD} "$$4" | ${SED} -e 's,^/,,g;s,[/ ],_,g;s,[^_[:alnum:]],,g'`.desktop"; \
pathname="${FAKE_DESTDIR}${DESKTOPDIR}/$$filename"; \
categories="$$5"; \
if [ -z "$$categories" ]; then \
@@ -4371,18 +4378,22 @@
${ECHO_CMD} "${_DESKTOPDIR_REL}$$filename" >> ${TMPPLIST}; \
${ECHO_CMD} "[Desktop Entry]" > $$pathname; \
${ECHO_CMD} "Type=Application" >> $$pathname; \
- ${ECHO_CMD} "Version=0.9.4" >> $$pathname; \
- ${ECHO_CMD} "Encoding=UTF-8" >> $$pathname; \
+ ${ECHO_CMD} "Version=1.0" >> $$pathname; \
${ECHO_CMD} "Name=$$1" >> $$pathname; \
- if [ -n "$$2" ]; then \
- ${ECHO_CMD} "Comment=$$2" >> $$pathname; \
+ comment="$$2"; \
+ if [ -z "$$2" ]; then \
+ comment="`cd ${.CURDIR} && ${MAKE} -VCOMMENT`"; \
fi; \
+ ${ECHO_CMD} "GenericName=$$comment" >> $$pathname; \
+ ${ECHO_CMD} "Comment=$$comment" >> $$pathname; \
if [ -n "$$3" ]; then \
${ECHO_CMD} "Icon=$$3" >> $$pathname; \
fi; \
${ECHO_CMD} "Exec=$$4" >> $$pathname; \
${ECHO_CMD} "Categories=$$categories" >> $$pathname; \
- ${ECHO_CMD} "StartupNotify=$$6" >> $$pathname; \
+ if [ -n "$$6" ]; then \
+ ${ECHO_CMD} "StartupNotify=$$6" >> $$pathname; \
+ fi; \
shift 6; \
done; \
${ECHO_CMD} "@unexec rmdir ${DESKTOPDIR} 2>/dev/null || true" >> ${TMPPLIST}; \
More information about the Midnightbsd-cvs
mailing list