Use the keymap check during “make distcheck” rather than “check”.

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.
This commit is contained in:
Diego Elio 'Flameeyes' Pettenò 2009-08-07 20:05:55 +02:00
parent 51668e2c8b
commit eab32c2529
2 changed files with 15 additions and 9 deletions

View file

@ -7,6 +7,7 @@ dist_udevconf_DATA = \
EXTRA_DIST = \ EXTRA_DIST = \
autogen.sh \ autogen.sh \
libudev/exported_symbols \ libudev/exported_symbols \
extras/keymap/check-keymaps.sh \
extras/gudev/gudevmarshal.list \ extras/gudev/gudevmarshal.list \
extras/gudev/gudevenumtypes.h.template \ extras/gudev/gudevenumtypes.h.template \
extras/gudev/gudevenumtypes.c.template extras/gudev/gudevenumtypes.c.template
@ -386,10 +387,6 @@ BUILT_SOURCES += \
$(nodist_extras_keymap_keymap_SOURCES) \ $(nodist_extras_keymap_keymap_SOURCES) \
$(dist_extras_gudev_libgudev_1_0_la_SOURCES) $(dist_extras_gudev_libgudev_1_0_la_SOURCES)
TESTS += extras/keymap/check-keymaps.sh
check_DATA = extras/keymap/keys.txt
CLEANFILES += \ CLEANFILES += \
extras/keymap/keys.txt \ extras/keymap/keys.txt \
extras/keymap/keys-from-name.gperf extras/keymap/keys-from-name.gperf
@ -476,6 +473,8 @@ install-exec-hook: $(INSTALL_EXEC_HOOKS)
uninstall-hook: $(UNINSTALL_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 # move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
libudev-install-move-hook: libudev-install-move-hook:
if test "$(libdir)" != "$(rootlib_execdir)"; then \ if test "$(libdir)" != "$(rootlib_execdir)"; then \
@ -493,6 +492,9 @@ udevacl-install-hook:
mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d
ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-session.d/udev-acl.ck 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 # Custom rules
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------

View file

@ -1,15 +1,19 @@
#!/bin/bash #!/bin/bash
# check that all key names in keymaps/* are known in <linux/input.h> # check that all key names in keymaps/* are known in <linux/input.h>
KEYLIST=extras/keymap/keys.txt # and that all key maps listed in the rules are valid and present in
RULES=extras/keymap/95-keymap.rules # 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" ] || { [ -e "$KEYLIST" ] || {
echo "need $KEYLIST please build first" >&2 echo "need $KEYLIST please build first" >&2
exit 1 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" ] || { [ -z "$missing" ] || {
echo "ERROR: unknown key names in extras/keymap/keymaps/*:" >&2 echo "ERROR: unknown key names in extras/keymap/keymaps/*:" >&2
echo "$missing" >&2 echo "$missing" >&2
@ -22,11 +26,11 @@ for m in $maps; do
# ignore inline mappings # ignore inline mappings
[ "$m" = "${m#0x}" ] || continue [ "$m" = "${m#0x}" ] || continue
[ -e extras/keymap/keymaps/$m ] || { [ -e ${KEYMAPS_DIR}/$m ] || {
echo "ERROR: unknown map name in $RULES: $m" >&2 echo "ERROR: unknown map name in $RULES: $m" >&2
exit 1 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 echo "ERROR: map file $m is not added to Makefile.am" >&2
exit 1 exit 1
} }