Good morning,

gzip, lzip, bzip2, tar, xz can compress and decompress.

zip is able just to compress. To decompress you need unzip.
During the tests of Automake 1.14, in particular t/dist-formats.tap, the nogzip 
function called via

nogzip in ac and zip in ac

looks if zip is available and, if yes, tests the zip creation + unzip.
If in your system zip is installed but unzip no, you will have a FAIL like the 
following:

/bin/sh: line 14: unzip: command not found
make: *** [distcheck] Error 127
+ tap_result_='not ok'
+ result_ 'not ok' -D '' -r '' -- 'ac=dist-zip,no-dist-gzip [distcheck]'
+ set +x
not ok 45 - ac=dist-zip,no-dist-gzip [distcheck]
FAIL: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]

and so the final result of the "make check" operation will fail too.

In my opinion the unzip should be skipped if no unzip is available.

== PATCH BEGIN ====================================================
--- t/dist-formats.tap.orig 2013-06-19 11:29:50.000000000 +0200
+++ t/dist-formats.tap 2013-08-24 07:12:42.000000000 +0200
@@ -97,6 +97,33 @@
 fatal_ "have_compressor(): dead code reached"
 }

+have_decompressor ()
+{
+ test $# -eq 1 || fatal_ "have_decompressor(): bad usage"
+ case $1 in
+ zip)
+ # 2013-08-24 matfanjol
+ # gzip, lzip, bzip2, tar, xz can compress and decompress.
+ # zip is able just to compress. To decompress you need unzip.
+ # Here I check if unzip is available.
+ # I checked "Oracle Solaris 11" and "Fedora 19": "unzip -v" is
+ # OK, "unzip --version" is NOT ok.
+ if unzip -v </dev/null >&2; then
+ return 0
+ else
+ return 1
+ fi
+ ;;
+ *)
+ # 2013-08-24 matfanjol
+ # gzip, lzip, bzip2, tar, xz can compress and decompress.
+ return 0
+ ;;
+ esac
+ fatal_ "have_decompressor(): dead code reached"
+}
+
+
 all_compression_formats='gzip lzip xz bzip2 zip'

 all_compressors=$(
@@ -165,6 +192,20 @@
 fi
 }

+command_ok_if_have_compressor_and_decompressor ()
+{
+ if have_compressor "$compressor"; then
+ if have_decompressor "$compressor"; then
+ command_ok_ "$@"
+ else
+ skip_ -r "decompressor for '$compressor' not available" "$1"
+ fi
+ else
+ skip_ -r "'$compressor' not available" "$1"
+ fi
+}
+
+
 can_compress ()
 {
 test $# -eq 2 || fatal_ "can_compress: bad number of arguments"
@@ -276,8 +317,8 @@
 command_ok_ "$desc [autoconf]" $AUTOCONF
 command_ok_ "$desc [configure]" ./configure
 command_ok_ "$desc [ark-name]" $MAKE check-ark-name
- command_ok_if_have_compressor "$desc [distcheck]" $MAKE distcheck
- command_ok_if_have_compressor "$desc [ark-exists]" $MAKE check-ark-exists
+ command_ok_if_have_compressor_and_decompressor "$desc [distcheck]" $MAKE 
distcheck
+ command_ok_if_have_compressor_and_decompressor "$desc [ark-exists]" $MAKE 
check-ark-exists
 command_ok_ "$desc [no .tar.gz]" $MAKE check-no-tar-gz

 unset desc
== PATCH END ====================================================


Bye
Andrea
matfanjol
http://matfanjol.users.sourceforge.net/

Reply via email to