From 2fb6f2177448aec1817ce37a8d19ce75e233595d Mon Sep 17 00:00:00 2001 From: Carsten Lohrke Date: Fri, 6 Apr 2007 11:43:30 +0000 Subject: [PATCH] add validate_desktop_entries() --- eclass/eutils.eclass | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index 3a7ee91bf384..905463931d6c 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.276 2007/02/18 03:11:46 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.277 2007/04/06 11:43:30 carlo Exp $ # # This eclass is for general purpose functions that most ebuilds # have to implement themselves. @@ -919,6 +919,32 @@ make_desktop_entry() { ) } + +# Validatedesktop entries using desktop-file-utils +# Carsten Lohrke +# +# Usage: validate_desktop_entries [directory ...] + +validate_desktop_entries() { + if [[ -x /usr/bin/desktop-file-validate ]] ; then + einfo "Checking desktop entry validity" + local directories="" + for d in $@ ; do + directories="${directories} ${D}${d}" + done + for FILE in $(find ${D}/usr/share/applications ${directories} -name "*\.desktop" \ + -not -path '*.hidden*' 2>/dev/null) + do + local temp=$(desktop-file-validate ${FILE} | grep -v "warning:") + [[ -n $temp ]] && elog ${temp//${D}/} + done + echo "" + else + einfo "Passing desktop entry validity check. Install dev-util/desktop-file-utils, if you want to help to improve Gentoo." + fi +} + + # Make a GDM/KDM Session file # # make_session_desktop(, <command>) -- 2.26.2