coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: check-duplicate-no-install: depend on 'src/tr' necessary?


From: Pádraig Brady
Subject: Re: check-duplicate-no-install: depend on 'src/tr' necessary?
Date: Tue, 7 Mar 2017 17:49:15 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

On 07/03/17 15:33, Bernhard Voelker wrote:
> I see that src/tr is built _after_ 'make check' in the single-binary
> variant (before the gnulib tests):
> 
>   ../configure --enable-single-binary=symlinks  --quiet \
>     --enable-install-program=arch,hostname \
>     && make all check-very-expensive VERBOSE=yes
> 
>   ...
>   PASS: tests/factor/t36.sh
>   ============================================================================
>   Testsuite summary for GNU coreutils 8.26.61-10d1d
>   ============================================================================
>   # TOTAL: 592
>   # PASS:  549
>   # SKIP:  43
>   # XFAIL: 0
>   # FAIL:  0
>   # XPASS: 0
>   # ERROR: 0
>   ============================================================================
>   make[6]: Leaving directory '/tmp/coreutils-8.26.61-10d1d/build3'
>     GEN      check-README
>     CC       src/tr.o
>     CCLD     src/tr
>     GEN      check-duplicate-no-install
>     GEN      sc-avoid-builtin
>     GEN      sc-avoid-io
>     GEN      sc-avoid-non-zero
>     GEN      sc-avoid-path
>     GEN      sc-avoid-timezone
>     GEN      sc-avoid-zeroes
>     GEN      sc-exponent-grouping
>     GEN      sc-lower-case-var
>     GEN      check-texinfo
>   make[5]: Leaving directory '/tmp/coreutils-8.26.61-10d1d/build3'
>   make[4]: Leaving directory '/tmp/coreutils-8.26.61-10d1d/build3'
> 
> And the src/ directory looks odd after that:
> 
>   lrwxrwxrwx 1 berny users       9 Mar  4 19:18 test -> coreutils
>   lrwxrwxrwx 1 berny users       9 Mar  4 19:18 timeout -> coreutils
>   lrwxrwxrwx 1 berny users       9 Mar  4 19:18 touch -> coreutils
>   -rwxr-xr-x 1 berny users  210159 Mar  4 19:35 tr
>   -rw-r--r-- 1 berny users  151312 Mar  4 19:35 tr.o
>   lrwxrwxrwx 1 berny users       9 Mar  4 19:18 true -> coreutils
>   lrwxrwxrwx 1 berny users       9 Mar  4 19:18 truncate -> coreutils
>   lrwxrwxrwx 1 berny users       9 Mar  4 19:18 tsort -> coreutils
> 
> This does not affect 'make install', yet I'm wondering if the dependency
> is needed (it was introduced together with the rule in commit
> v6.9-216-gd6d5658).
> 
> Are there any implementations out there which do not support simple
> newline replacements, or could we simply rely on tr(1) installed
> on the build host?
> 
> diff --git a/src/local.mk b/src/local.mk
> index 84df099..9b2b172 100644
> --- a/src/local.mk
> +++ b/src/local.mk
> @@ -644,7 +644,7 @@ check-README:
>  # entry, because if that were to happen, it *would* be installed
>  # by default.
>  .PHONY: check-duplicate-no-install
> -check-duplicate-no-install: src/tr
> +check-duplicate-no-install:
>         $(AM_V_GEN)test -z "`echo '$(EXTRA_PROGRAMS)' | tr ' ' '\n' | uniq 
> -d`"
> 
>  # Use the just-built 'ginstall', when not cross-compiling.

Good spot.
This dependency looks superflous because:
 - It's not checking an install time issue so is only useful for devs really
 - tr works fine on solaris and freebsd at least
 - Our tr will probably be built anyway (and used in the single binary case)
 - even if tr doesn't work as expected, uniq will absorb the error

Please push.
thanks!
Pádraig



reply via email to

[Prev in Thread] Current Thread [Next in Thread]