[libvirt] [PATCH] Thu Oct 16 17:07:10 +0200 Jim Meyering <meyering at redhat.com>

Jim Meyering jim at meyering.net
Thu Oct 16 15:14:16 UTC 2008


The output of a failed po-check rule (part of "make syntax-check)
was unnecessarily cryptic.  Here's the fix that I've already applied
in upstream coreutils:

	build: when po-check fails, say why and suggest a fix

        * Makefile.maint (po-check): Before, when this check failed, it just
        spat out a diff mentioning two temporary files.  Now, it tells you
        what's wrong and suggests a fix with a patch using the name of the
        affected file (rather than temporary file names) in the diff output.

diff --git a/Makefile.maint b/Makefile.maint
index 03800f8..4920112 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -466,8 +466,12 @@ m4-check:
 	  && { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
 	       exit 1; } || :

+fix_po_file_diag = \
+'you have changed the set of files with translatable diagnostics;\n\
+apply the above patch\n'
+
 # Verify that all source files using _() are listed in po/POTFILES.in.
-# FIXME: don't hard-code file names below; use a more general mechanism.
+po_file = po/POTFILES.in
 po-check:
 	@if test -f po/POTFILES.in; then					\
 	  grep -E -v '^(#|$$)' po/POTFILES.in				\
@@ -482,13 +486,14 @@ po-check:
 	    *.[ch])							\
 	      base=`expr " $$file" : ' \(.*\)\..'`;			\
 	      { test -f $$base.l || test -f $$base.y; } && continue;;	\
-	    *) continue;;				\
+	    *) continue;;						\
 	    esac;							\
 	    files="$$files $$file";					\
 	  done;								\
 	  grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files		\
 	    | sort -u > $@-2;						\
-	  diff -u $@-1 $@-2 || exit 1;					\
+	  diff -u -L $(po_file) -L $(po_file) $@-1 $@-2			\
+	    || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; };	\
 	  rm -f $@-1 $@-2;						\
 	fi

--
1.6.0.2.98.gc82e




More information about the libvir-list mailing list