pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/55168: 2020Q1 textproc/source-highlight check-portability failures
>Number: 55168
>Category: pkg
>Synopsis: 2020Q1 textproc/source-highlight check-portability failures
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Apr 12 15:15:00 +0000 2020
>Originator: Izumi Tsutsui
>Release: NetBSD 9.0 + pkgsrc-2020Q1
>Organization:
>Environment:
System: NetBSD optiplex 9.0 NetBSD 9.0 (GENERIC) #0: Fri Feb 14 00:06:28 UTC 2020 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64
Architecture: maybe all
Machine: all
>Description:
pkgsrc-2020Q1 textproc/source-highlight build fails:
---
:
=> Adding run-time search paths to pkg-config files.
=> Checking for portability problems in extracted files
ERROR: [check-portability.awk] => Found test ... == ...:
ERROR: [check-portability.awk] lib/tests/valgrind_test.sh.in:62: if test "$?" == "0"; then
ERROR: [check-portability.awk] lib/tests/valgrind_test.sh.in:72: if test "$?" == "0"; then
ERROR: [check-portability.awk] lib/tests/valgrind_test.sh.in:81: if test "x${tmp_err}" == "x"; then
Explanation:
===========================================================================
The "test" command, as well as the "[" command, are not required to know
the "==" operator. Only a few implementations like bash and some
versions of ksh support it.
When you run "test foo == foo" on a platform that does not support the
"==" operator, the result will be "false" instead of "true". This can
lead to unexpected behavior.
There are two ways to fix this error message. If the file that contains
the "test ==" is needed for building the package, you should create a
patch for it, replacing the "==" operator with "=". If the file is not
needed, add its name to the CHECK_PORTABILITY_SKIP variable in the
package Makefile.
===========================================================================
ERROR: [check-portability.awk] => Found test ... == ...:
ERROR: [check-portability.awk] tests/valgrind_suppressions.sh.in:58: if test "$?" == "0"; then
ERROR: [check-portability.awk] tests/valgrind_suppressions.sh.in:68: if test "$?" == "0"; then
ERROR: [check-portability.awk] tests/valgrind_suppressions.sh.in:77: if test "x${tmp_err}" == "x"; then
Explanation:
===========================================================================
The "test" command, as well as the "[" command, are not required to know
the "==" operator. Only a few implementations like bash and some
versions of ksh support it.
When you run "test foo == foo" on a platform that does not support the
"==" operator, the result will be "false" instead of "true". This can
lead to unexpected behavior.
There are two ways to fix this error message. If the file that contains
the "test ==" is needed for building the package, you should create a
patch for it, replacing the "==" operator with "=". If the file is not
needed, add its name to the CHECK_PORTABILITY_SKIP variable in the
package Makefile.
===========================================================================
ERROR: [check-portability.awk] => Found test ... == ...:
ERROR: [check-portability.awk] tests/valgrind_tests.sh.in:55: if test "$?" == "0"; then
ERROR: [check-portability.awk] tests/valgrind_tests.sh.in:65: if test "$?" == "0"; then
ERROR: [check-portability.awk] tests/valgrind_tests.sh.in:74: if test "x${tmp_err}" == "x"; then
Explanation:
===========================================================================
The "test" command, as well as the "[" command, are not required to know
the "==" operator. Only a few implementations like bash and some
versions of ksh support it.
When you run "test foo == foo" on a platform that does not support the
"==" operator, the result will be "false" instead of "true". This can
lead to unexpected behavior.
There are two ways to fix this error message. If the file that contains
the "test ==" is needed for building the package, you should create a
patch for it, replacing the "==" operator with "=". If the file is not
needed, add its name to the CHECK_PORTABILITY_SKIP variable in the
package Makefile.
===========================================================================
ERROR: [check-portability.awk] => Found test ... == ...:
ERROR: [check-portability.awk] tests/valgrind_test.sh.in:62: if test "$?" == "0"; then
ERROR: [check-portability.awk] tests/valgrind_test.sh.in:72: if test "$?" == "0"; then
ERROR: [check-portability.awk] tests/valgrind_test.sh.in:81: if test "x${tmp_err}" == "x"; then
Explanation:
===========================================================================
The "test" command, as well as the "[" command, are not required to know
the "==" operator. Only a few implementations like bash and some
versions of ksh support it.
When you run "test foo == foo" on a platform that does not support the
"==" operator, the result will be "false" instead of "true". This can
lead to unexpected behavior.
There are two ways to fix this error message. If the file that contains
the "test ==" is needed for building the package, you should create a
patch for it, replacing the "==" operator with "=". If the file is not
needed, add its name to the CHECK_PORTABILITY_SKIP variable in the
package Makefile.
===========================================================================
*** Error code 1
Stop.
make[3]: stopped in /usr/pkgsrc/textproc/source-highlight
*** Error code 1
---
>How-To-Repeat:
"make package" in pkgsrc/textproc/source-highlight as above.
>Fix:
Fix all usage of '=='?
(Some of them are not caught by check-portability.awk ?)
---
% grep -R 'if.*test.*==' .
./lib/tests/valgrind_test.sh.in: if test ! -x "$1" -o "$1" == `basename $0`; then
./lib/tests/valgrind_test.sh.in: if test "$?" == "0"; then
./lib/tests/valgrind_test.sh.in: if test "$?" == "0"; then
./lib/tests/valgrind_test.sh.in: if test "x${tmp_err}" == "x"; then
./tests/valgrind_suppressions.sh.in: if test ! -x "$1" -o "$1" == `basename $0`; then
./tests/valgrind_suppressions.sh.in: if test "$?" == "0"; then
./tests/valgrind_suppressions.sh.in: if test "$?" == "0"; then
./tests/valgrind_suppressions.sh.in: if test "x${tmp_err}" == "x"; then
./tests/valgrind_tests.sh.in: if test ! -x "$1" -o "$1" == `basename $0`; then
./tests/valgrind_tests.sh.in: if test "$?" == "0"; then
./tests/valgrind_tests.sh.in: if test "$?" == "0"; then
./tests/valgrind_tests.sh.in: if test "x${tmp_err}" == "x"; then
./tests/valgrind_test.sh.in: if test ! -x "$1" -o "$1" == `basename $0`; then
./tests/valgrind_test.sh.in: if test "$?" == "0"; then
./tests/valgrind_test.sh.in: if test "$?" == "0"; then
./tests/valgrind_test.sh.in: if test "x${tmp_err}" == "x"; then
% grep -R 'if.* \[.*==.*\]' .
./completion/source-highlight: if [[ "${cur}" == -* || ${COMP_CWORD} -eq 1 ]] ; then
./lib/tests/valgrind_test.sh.in: if [[ $1 == *.sh ]]; then
./tests/valgrind_suppressions.sh.in: if [[ $1 == *.sh ]]; then
./tests/valgrind_tests.sh.in: if [[ $1 == *.sh ]]; then
./tests/valgrind_test.sh.in: if [[ $1 == *.sh ]]; then
%
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index