Subject: Re: bug#12728: v8.20 is missing LIBICONV for factor tool

From: Pádraig Brady <[email-masked]>
Date: Sun, 04 Nov 2012 00:59:25 +0000

On 10/25/2012 05:36 PM, Jim Meyering wrote:
> Pádraig Brady wrote:
>
>> On 10/25/2012 11:21 AM, Jim Meyering wrote:
>>> Thanks for dealing with that.
>>> Along with the fix, please add a syntax-check rule that does something
>>> like this:
>>>
>>>     cd src; for i in $(git grep -l -w proper_name_utf8 *.c|sed 's/\.c//'); do
>>>       grep -E "^src_${i}_LDADD .?= .*\$(LIBICONV)" local.mk > /dev/null \
>>>         || echo FAIL $i
>>>     done
>>>
>>> Before the fix, it would print this:
>>>
>>>     FAIL factor
>>
>> Pushed with this:
>>
>> # Ensure programs with authors with non ASCII names link with LIBICONV
>> sc_check-I18N-AUTHORS:
>>         @(cd $(srcdir)/src &&                           \
>>           for i in $$(git grep -l -w proper_name_utf8 *.c|sed 's/\.c//'); do \
>>             grep -E "^src_$${i}_LDADD"' .?= .*\$$\(LIBICONV\)' local.mk > \
>>               /dev/null || { echo FAIL $$i; exit 1; };            \
>>           done)
>
> Thanks!
> I wanted to include a little more information in the diagnostic, so...
>
>>>From 74da4c80470bffe3ccfaead598dad36bf64f1b97 Mon Sep 17 00:00:00 2001
> From: Jim Meyering <[email-masked]>
> Date: Thu, 25 Oct 2012 18:35:34 +0200
> Subject: [PATCH] maint: tweak sc_check-I18N-AUTHORS
>
> * cfg.mk (sc_check-I18N-AUTHORS): Remove unnecessary subshell;
> add a self-explanatory diagnostic.
> ---
>   cfg.mk | 12 +++++++-----
>   1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/cfg.mk b/cfg.mk
> index 40ece55..08f6c3d 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -181,13 +181,15 @@ sc_check-AUTHORS: $(all_programs)
>   	  && diff $(au_actual) $(au_dotdot) \
>   	  && rm -f $(au_actual) $(au_dotdot)
>
> -# Ensure programs with authors with non ASCII names link with LIBICONV
> +# Each program with a non-ASCII author name must link with LIBICONV.
>   sc_check-I18N-AUTHORS:
> -	@(cd $(srcdir)/src &&                           \
> +	@cd $(srcdir)/src &&						\
>   	  for i in $$(git grep -l -w proper_name_utf8 *.c|sed 's/\.c//'); do \
> -	    grep -E "^src_$${i}_LDADD"' .?= .*\$$\(LIBICONV\)' local.mk > \
> -	      /dev/null || { echo FAIL $$i; exit 1; };            \
> -	  done)
> +	    grep -E "^src_$${i}_LDADD"' .?= .*\$$\(LIBICONV\)' local.mk	\
> +		> /dev/null						\
> +	      || { "echo $(ME): link rules for $$i do not include"	\
> +		    '$$(LIBICONV)' 1>&2; exit 1; };			\
> +	  done
>
>   # Look for lines longer than 80 characters, except omit:
>   # - program-generated long lines in diff headers,

The quoting was a bit off there, so I just pushed this.

cheers,
Pádraig.

commit 8096ec664173f243e045be065203e6ad1aa1fa75
Author: Pádraig Brady <[email-masked]>
Date:   Sun Nov 4 00:55:57 2012 +0000

     maint: fix the error message from sc_check-I18N-AUTHORS

     * cfk.mk (sc_check-I18N-AUTHORS): Fix the quoting so
     you don't get a 'command not found' error.

diff --git a/cfg.mk b/cfg.mk
index 46652b0..53295b4 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -187,7 +187,7 @@ sc_check-I18N-AUTHORS:
           for i in $$(git grep -l -w proper_name_utf8 *.c|sed 's/\.c//'); do \
             grep -E "^src_$${i}_LDADD"' .?= .*\$$\(LIBICONV\)' local.mk \
                 > /dev/null                                             \
-             || { "echo $(ME): link rules for $$i do not include"      \
+             || { echo "$(ME): link rules for $$i do not include"      \
                     '$$(LIBICONV)' 1>&2; exit 1; };                     \
           done