From eab32c2529ce53f9e01c12df739257511d58ebfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Elio=20=27Flameeyes=27=20Petten=C3=B2?= Date: Fri, 7 Aug 2009 20:05:55 +0200 Subject: [PATCH] =?UTF-8?q?Use=20the=20keymap=20check=20during=20=E2=80=9C?= =?UTF-8?q?make=20distcheck=E2=80=9D=20rather=20than=20=E2=80=9Ccheck?= =?UTF-8?q?=E2=80=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since the check-keymaps.sh script checks for validity the source directory and the Makefile.am file, instead of running it during user-oriented “make check”, run it during developed-oriented “make distcheck”. An invalid keymap will abort the execution which will prevent shipping an incomplete Makefile.am. To properly support out-of-source builds, pass as single parameter to the test the path to the source directory. --- Makefile.am | 10 ++++++---- extras/keymap/check-keymaps.sh | 14 +++++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7d97af51e5..c69529780d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,6 +7,7 @@ dist_udevconf_DATA = \ EXTRA_DIST = \ autogen.sh \ libudev/exported_symbols \ + extras/keymap/check-keymaps.sh \ extras/gudev/gudevmarshal.list \ extras/gudev/gudevenumtypes.h.template \ extras/gudev/gudevenumtypes.c.template @@ -386,10 +387,6 @@ BUILT_SOURCES += \ $(nodist_extras_keymap_keymap_SOURCES) \ $(dist_extras_gudev_libgudev_1_0_la_SOURCES) -TESTS += extras/keymap/check-keymaps.sh - -check_DATA = extras/keymap/keys.txt - CLEANFILES += \ extras/keymap/keys.txt \ extras/keymap/keys-from-name.gperf @@ -476,6 +473,8 @@ install-exec-hook: $(INSTALL_EXEC_HOOKS) uninstall-hook: $(UNINSTALL_EXEC_HOOKS) +distcheck-hook: keymaps-distcheck-hook + # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed libudev-install-move-hook: if test "$(libdir)" != "$(rootlib_execdir)"; then \ @@ -493,6 +492,9 @@ udevacl-install-hook: mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d/udev-acl.ck +keymaps-distcheck-hook: extras/keymap/keys.txt + ./extras/keymap/check-keymaps.sh $(top_srcdir) + # ------------------------------------------------------------------------------ # Custom rules # ------------------------------------------------------------------------------ diff --git a/extras/keymap/check-keymaps.sh b/extras/keymap/check-keymaps.sh index f79c3f5a82..d4e3e91760 100755 --- a/extras/keymap/check-keymaps.sh +++ b/extras/keymap/check-keymaps.sh @@ -1,15 +1,19 @@ #!/bin/bash # check that all key names in keymaps/* are known in -KEYLIST=extras/keymap/keys.txt -RULES=extras/keymap/95-keymap.rules +# and that all key maps listed in the rules are valid and present in +# Makefile.am +SRCDIR=$1 +KEYLIST=$SRCDIR/extras/keymap/keys.txt +KEYMAPS_DIR=$SRCDIR/extras/keymap/keymaps #extras/keymap/keymaps +RULES=$SRCDIR/extras/keymap/95-keymap.rules [ -e "$KEYLIST" ] || { echo "need $KEYLIST please build first" >&2 exit 1 } -missing=$(join -v 2 <(awk '{print tolower(substr($1,5))}' $KEYLIST | sort -u) <(awk '{print $2}' extras/keymap/keymaps/*|sort -u)) +missing=$(join -v 2 <(awk '{print tolower(substr($1,5))}' $KEYLIST | sort -u) <(awk '{print $2}' ${KEYMAPS_DIR}/*|sort -u)) [ -z "$missing" ] || { echo "ERROR: unknown key names in extras/keymap/keymaps/*:" >&2 echo "$missing" >&2 @@ -22,11 +26,11 @@ for m in $maps; do # ignore inline mappings [ "$m" = "${m#0x}" ] || continue - [ -e extras/keymap/keymaps/$m ] || { + [ -e ${KEYMAPS_DIR}/$m ] || { echo "ERROR: unknown map name in $RULES: $m" >&2 exit 1 } - grep -q "extras/keymap/keymaps/$m\>" Makefile.am || { + grep -q "extras/keymap/keymaps/$m\>" $SRCDIR/Makefile.am || { echo "ERROR: map file $m is not added to Makefile.am" >&2 exit 1 }