aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Hubold <doktor5000@mageia.org>2016-03-28 13:01:44 +0200
committerFlorian Hubold <doktor5000@mageia.org>2016-03-28 13:01:44 +0200
commit0035307a699ac34b292310dd040e43e6eb2a0b6f (patch)
treee27e67fc6a4660872a1ea3a8597c787c54f4180d
parente679ce7f68a331f8bdde82a01ffbf2971c081dcc (diff)
downloadspec-helper-0035307a699ac34b292310dd040e43e6eb2a0b6f.tar
spec-helper-0035307a699ac34b292310dd040e43e6eb2a0b6f.tar.gz
spec-helper-0035307a699ac34b292310dd040e43e6eb2a0b6f.tar.bz2
spec-helper-0035307a699ac34b292310dd040e43e6eb2a0b6f.tar.xz
spec-helper-0035307a699ac34b292310dd040e43e6eb2a0b6f.zip
Add a new helper to check all .desktop files with desktop-files-validatev0.31.12
-rw-r--r--Makefile4
-rw-r--r--NEWS3
-rwxr-xr-xcheck_desktop_files67
-rw-r--r--spec-helper.macros.in1
4 files changed, 73 insertions, 2 deletions
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 <doktor5000@mageia.org> 0.31.12
+ * check_desktop_files: new macro and helper to validate all .desktop files
+
2016-01-09 Pascal Terjan <pterjan@mageia.org> 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<http://www.opensource.org/licenses/mit-license.php>
+
+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