From 0035307a699ac34b292310dd040e43e6eb2a0b6f Mon Sep 17 00:00:00 2001 From: Florian Hubold Date: Mon, 28 Mar 2016 13:01:44 +0200 Subject: Add a new helper to check all .desktop files with desktop-files-validate --- Makefile | 4 +-- NEWS | 3 +++ check_desktop_files | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ spec-helper.macros.in | 1 + 4 files changed, 73 insertions(+), 2 deletions(-) create mode 100755 check_desktop_files diff --git a/Makefile b/Makefile index fe4f7ab..f65bd53 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ PACKAGE = spec-helper -VERSION = 0.31.11 +VERSION = 0.31.12 -SCRIPT_FILES = clean_files clean_perl compress_files check_elf_files \ +SCRIPT_FILES = clean_files clean_perl compress_files check_elf_files check_desktop_files\ lib_symlinks fix_mo translate_menu \ fix_pamd gprintify remove_info_dir relink_symlinks fix_eol \ restrict_to_cpu0 diff --git a/NEWS b/NEWS index 6c6215f..d98d122 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +2016-03-28 Florian Hubold 0.31.12 + * check_desktop_files: new macro and helper to validate all .desktop files + 2016-01-09 Pascal Terjan 0.31.11 * compress_files: drop support for LZMA * restrict_to_cpu0: new helper to prevent SMP on some arches diff --git a/check_desktop_files b/check_desktop_files new file mode 100755 index 0000000..e84871e --- /dev/null +++ b/check_desktop_files @@ -0,0 +1,67 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use File::Find; + +my $FILTER = qr/\.desktop\z/; + +sub main +{ + my $buildroot = $ENV{RPM_BUILD_ROOT}; + + find( + { + wanted => + sub { + my $fn = $File::Find::name; + if ($fn =~ $FILTER) + { + if (system('desktop-file-validate', $fn) != 0) + { + die "Validating <$fn> failed!"; + } + } + }, + no_chdir => 1, + }, + $buildroot + ); + + exit(0); +} + +main(@ARGV); + +__END__ + +=head1 COPYRIGHT & LICENSE + +Copyright 2016 by Shlomi Fish + +This program is distributed under the MIT (X11) License: +L + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +=cut diff --git a/spec-helper.macros.in b/spec-helper.macros.in index 9e3f94b..3c527ea 100644 --- a/spec-helper.macros.in +++ b/spec-helper.macros.in @@ -14,6 +14,7 @@ %{?!dont_fix_pamd: [ -n "$DONT_FIX_PAMD_CONFIGS" ] || %_spec_helper_dir/fix_pamd} \ %{?!dont_remove_info_dir: [ -n "$DONT_REMOVE_INFO_DIR" ] || %_spec_helper_dir/remove_info_dir} \ %{?!dont_fix_eol: [ -n "$DONT_FIX_EOL" ] || %_spec_helper_dir/fix_eol} \ + %{?!dont_check_desktop_files: [ -n "$DONT_CHECK_DESKTOP_FILES" ] || %_spec_helper_dir/check_desktop_files} \ %{?!dont_check_elf_files: [ -n "$DONT_CHECK_ELF_FILES" ] || %_spec_helper_dir/check_elf_files} \ %{?!__debug_package: [ -n "%{?dont_strip:1}%{?!dont_strip:$DONT_STRIP}" ] || export DISABLE_DEBUG=1 && %__debug_install_post} \ %nil -- cgit v1.2.1