Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ugrep for openSUSE:Factory checked in at 2024-01-10 21:53:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ugrep (Old) and /work/SRC/openSUSE:Factory/.ugrep.new.21961 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ugrep" Wed Jan 10 21:53:27 2024 rev:63 rq:1137975 version:4.5.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ugrep/ugrep.changes 2024-01-07 21:39:56.419229065 +0100 +++ /work/SRC/openSUSE:Factory/.ugrep.new.21961/ugrep.changes 2024-01-10 21:53:37.259073767 +0100 @@ -1,0 +2,7 @@ +Wed Jan 10 17:52:11 UTC 2024 - Andreas Stieger <andreas.stie...@gmx.de> + +- update to 4.5.2: + * fix 7zip search failing on 32 bit systems when option -M is used + (or -t when setting -M) + +------------------------------------------------------------------- Old: ---- ugrep-4.5.1.tar.gz New: ---- ugrep-4.5.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ugrep.spec ++++++ --- /var/tmp/diff_new_pack.3nkHvZ/_old 2024-01-10 21:53:37.779092705 +0100 +++ /var/tmp/diff_new_pack.3nkHvZ/_new 2024-01-10 21:53:37.779092705 +0100 @@ -17,7 +17,7 @@ Name: ugrep -Version: 4.5.1 +Version: 4.5.2 Release: 0 Summary: Universal grep: a feature-rich grep implementation with focus on speed License: BSD-3-Clause ++++++ ugrep-4.5.1.tar.gz -> ugrep-4.5.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/Makefile.am new/ugrep-4.5.2/Makefile.am --- old/ugrep-4.5.1/Makefile.am 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/Makefile.am 2024-01-10 14:50:23.000000000 +0100 @@ -1,4 +1,8 @@ -SUBDIRS = lib lzma/C src +SUBDIRS = lib +if ENABLE_7ZIP +SUBDIRS += lzma/C +endif +SUBDIRS += src man1_MANS = man/ugrep.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/Makefile.in new/ugrep-4.5.2/Makefile.in --- old/ugrep-4.5.1/Makefile.in 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/Makefile.in 2024-01-10 14:50:23.000000000 +0100 @@ -88,6 +88,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@ENABLE_7ZIP_TRUE@am__append_1 = lzma/C subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_regex.m4 \ @@ -209,7 +210,7 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -DIST_SUBDIRS = $(SUBDIRS) +DIST_SUBDIRS = lib lzma/C src am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ INSTALL.md README.md ar-lib compile config.guess config.sub \ depcomp install-sh missing @@ -382,7 +383,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUBDIRS = lib lzma/C src +SUBDIRS = lib $(am__append_1) src man1_MANS = man/ugrep.1 EXTRA_DIST = README.md LICENSE.txt CONTRIBUTING.md CODE_OF_CONDUCT.md UGREP = $(shell pwd)/$(top_builddir)/bin/ugrep$(EXEEXT) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/README.md new/ugrep-4.5.2/README.md --- old/ugrep-4.5.1/README.md 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/README.md 2024-01-10 14:50:23.000000000 +0100 @@ -33,7 +33,7 @@ ### Commands -- `ug` is for interactive use with a .ugrep configuration file with your preferences located in the working directory or home directory, `ug+` also searches pdfs, documents, e-books, image metadata +- `ug` is for interactive use, which loads an optional .ugrep configuration file with your preferences located in the working directory or home directory, `ug+` also searches pdfs, documents, e-books, image metadata - `ugrep` for batch use like GNU grep without a .ugrep configuration file, `ugrep+` also searches pdfs, documents, e-books, image metadata @@ -5353,7 +5353,7 @@ - ugrep 4.5.1 January 6, 2024 UGREP(1) + ugrep 4.5.2 January 9, 2024 UGREP(1) ð [Back to table of contents](#toc) Binary files old/ugrep-4.5.1/bin/win32/ug.exe and new/ugrep-4.5.2/bin/win32/ug.exe differ Binary files old/ugrep-4.5.1/bin/win32/ugrep.exe and new/ugrep-4.5.2/bin/win32/ugrep.exe differ Binary files old/ugrep-4.5.1/bin/win64/ug.exe and new/ugrep-4.5.2/bin/win64/ug.exe differ Binary files old/ugrep-4.5.1/bin/win64/ugrep.exe and new/ugrep-4.5.2/bin/win64/ugrep.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/config.h.in new/ugrep-4.5.2/config.h.in --- old/ugrep-4.5.1/config.h.in 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/config.h.in 2024-01-10 14:50:23.000000000 +0100 @@ -1,5 +1,8 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Define if built with 7ZIP support */ +#undef HAVE_7ZIP + /* define if the Boost::Regex library is available */ #undef HAVE_BOOST_REGEX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/configure new/ugrep-4.5.2/configure --- old/ugrep-4.5.1/configure 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/configure 2024-01-10 14:50:23.000000000 +0100 @@ -673,6 +673,8 @@ BASH_COMPLETION_DIR BASH_COMPLETION_LIBS BASH_COMPLETION_CFLAGS +ENABLE_7ZIP_FALSE +ENABLE_7ZIP_TRUE PLATFORM PKG_CONFIG_LIBDIR PKG_CONFIG_PATH @@ -8927,6 +8929,9 @@ CPPFLAGS="$CPPFLAGS -I../lzma/C" LDFLAGS="$LDFLAGS -L../lzma/C" LIBS="-lviiz $LIBS" + +printf "%s\n" "#define HAVE_7ZIP 1" >>confdefs.h + else EXTRA_CFLAGS="-DWITH_NO_7ZIP ${EXTRA_CFLAGS}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -8934,6 +8939,14 @@ fi fi + if test "x$with_7zip" = "xyes"; then + ENABLE_7ZIP_TRUE= + ENABLE_7ZIP_FALSE='#' +else + ENABLE_7ZIP_TRUE='#' + ENABLE_7ZIP_FALSE= +fi + # Check whether --with-bash-completion-dir was given. @@ -9815,6 +9828,10 @@ as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_7ZIP_TRUE}" && test -z "${ENABLE_7ZIP_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_7ZIP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_BASH_COMPLETION_TRUE}" && test -z "${ENABLE_BASH_COMPLETION_FALSE}"; then as_fn_error $? "conditional \"ENABLE_BASH_COMPLETION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/configure.ac new/ugrep-4.5.2/configure.ac --- old/ugrep-4.5.1/configure.ac 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/configure.ac 2024-01-10 14:50:23.000000000 +0100 @@ -105,12 +105,14 @@ CPPFLAGS="$CPPFLAGS -I../lzma/C" LDFLAGS="$LDFLAGS -L../lzma/C" LIBS="-lviiz $LIBS" + AC_DEFINE(HAVE_7ZIP,1,[ Define if built with 7ZIP support]) else EXTRA_CFLAGS="-DWITH_NO_7ZIP ${EXTRA_CFLAGS}" AC_MSG_RESULT(yes) fi fi +AM_CONDITIONAL([ENABLE_7ZIP],[test "x$with_7zip" = "xyes"]) AC_ARG_WITH([bash-completion-dir], [AS_HELP_STRING([--with-bash-completion-dir[=PATH]], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/lzma/7zls.c new/ugrep-4.5.2/lzma/7zls.c --- old/ugrep-4.5.1/lzma/7zls.c 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/lzma/7zls.c 2024-01-10 14:50:23.000000000 +0100 @@ -34,6 +34,11 @@ @copyright (c) BSD-3 License - see LICENSE.txt */ +/* to build and run 7zls: + cc -o 7zls 7zls.c C/libviiz.a + ./7zls ../tests/archive.7z +*/ + #include <stdlib.h> #include <stdio.h> #include <string.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/lzma/C/7zCrc.c new/ugrep-4.5.2/lzma/C/7zCrc.c --- old/ugrep-4.5.1/lzma/C/7zCrc.c 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/lzma/C/7zCrc.c 2024-01-10 14:50:23.000000000 +0100 @@ -84,8 +84,9 @@ #endif #endif #endif - #elif (defined(__clang__) && (__clang_major__ >= 3)) \ - || (defined(__GNUC__) && (__GNUC__ > 4)) + #elif ( (defined(__clang__) && (__clang_major__ >= 3)) || \ + (defined(__GNUC__) && (__GNUC__ > 4) ) ) && \ + (__ARM_ARCH >= 8) #if !defined(__ARM_FEATURE_CRC32) #define __ARM_FEATURE_CRC32 1 #if defined(__clang__) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/lzma/C/README.txt new/ugrep-4.5.2/lzma/C/README.txt --- old/ugrep-4.5.1/lzma/C/README.txt 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/lzma/C/README.txt 2024-01-10 14:50:23.000000000 +0100 @@ -6,6 +6,9 @@ LZMA SDK by Igor Pavlov. +Updated to apply YOKOTA Hiroshi's patches: +https://salsa.debian.org/debian/7zip/-/blob/master/debian/patches/0002-Disable-hardware-acceleration-support-on-armel.patch?ref_type=heads + Included in this directory is a new C API to simplify decompression: - viizip.h declarations, see below (hides implementation details) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/lzma/C/viizip.c new/ugrep-4.5.2/lzma/C/viizip.c --- old/ugrep-4.5.1/lzma/C/viizip.c 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/lzma/C/viizip.c 2024-01-10 14:50:23.000000000 +0100 @@ -333,10 +333,11 @@ return res == SZ_OK ? 0 : -1; } -/* decompress up to len bytes into buf[], return number of bytes decompressed */ +/* decompress up to len bytes into buf[], return number of bytes decompressed or -1 on error */ ssize_t viidec(struct viizip *viizip, unsigned char *buf, size_t len) { - if (viizip == NULL) + /* if not initialized or not called viiget() then return error */ + if (viizip == NULL || viizip->index == 0) return -1; switch (viizip->state) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/man/ugrep.1 new/ugrep-4.5.2/man/ugrep.1 --- old/ugrep-4.5.1/man/ugrep.1 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/man/ugrep.1 2024-01-10 14:50:23.000000000 +0100 @@ -1,4 +1,4 @@ -.TH UGREP "1" "January 06, 2024" "ugrep 4.5.1" "User Commands" +.TH UGREP "1" "January 09, 2024" "ugrep 4.5.2" "User Commands" .SH NAME \fBugrep\fR, \fBug\fR -- file pattern searcher .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/src/ugrep.cpp new/ugrep-4.5.2/src/ugrep.cpp --- old/ugrep-4.5.1/src/ugrep.cpp 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/src/ugrep.cpp 2024-01-10 14:50:23.000000000 +0100 @@ -1873,28 +1873,20 @@ if (*basename == '.' && !flag_hidden) return false; - // -O, -t, and -g (--include and --exclude): check if pathname or basename matches globs, is_selected = false if not - if (!flag_all_exclude.empty() || !flag_all_include.empty()) + // exclude files whose basename matches any one of the --exclude globs + for (const auto& glob : flag_all_exclude) { - // exclude files whose basename matches any one of the --exclude globs - for (const auto& glob : flag_all_exclude) - { - bool ignore_case = &glob < &flag_all_exclude.front() + flag_exclude_iglob_size; - if (!(is_selected = !glob_match(path, basename, glob.c_str(), ignore_case))) - break; - } + bool ignore_case = &glob < &flag_all_exclude.front() + flag_exclude_iglob_size; + if (glob_match(path, basename, glob.c_str(), ignore_case)) + return false; + } - // include only if not excluded - if (is_selected) - { - // include files whose basename matches any one of the --include globs - for (const auto& glob : flag_all_include) - { - bool ignore_case = &glob < &flag_all_include.front() + flag_include_iglob_size; - if ((is_selected = glob_match(path, basename, glob.c_str(), ignore_case))) - break; - } - } + // include files whose basename matches any one of the --include globs + for (const auto& glob : flag_all_include) + { + bool ignore_case = &glob < &flag_all_include.front() + flag_include_iglob_size; + if ((is_selected = glob_match(path, basename, glob.c_str(), ignore_case))) + break; } // -M: check magic bytes, requires sufficiently large len of buf[] to match patterns, which is fine when Z_BUF_LEN is large e.g. 64K to contain all magic bytes @@ -8806,10 +8798,11 @@ if (flag_min_depth > 0 && level <= flag_min_depth) return Type::SKIP; + bool ok = true; + if (!flag_all_exclude.empty()) { // exclude files whose pathname matches any one of the --exclude globs unless negated with ! - bool ok = true; for (const auto& glob : flag_all_exclude) { bool ignore_case = &glob < &flag_all_exclude.front() + flag_exclude_iglob_size; @@ -8827,8 +8820,29 @@ return Type::SKIP; } + if (!flag_all_include.empty()) + { + // include files whose pathname matches any one of the --include globs unless negated with ! + ok = false; + for (const auto& glob : flag_all_include) + { + bool ignore_case = &glob < &flag_all_include.front() + flag_include_iglob_size; + if (glob.front() == '!') + { + if (ok && glob_match(pathname, basename, glob.c_str() + 1), ignore_case) + ok = false; + } + else if (!ok && glob_match(pathname, basename, glob.c_str(), ignore_case)) + { + ok = true; + } + } + if (!ok && flag_file_magic.empty()) + return Type::SKIP; + } + // check magic pattern against the file signature, when --file-magic=MAGIC is specified - if (!flag_file_magic.empty()) + if (!flag_file_magic.empty() && (flag_all_include.empty() || !ok)) { FILE *file; @@ -8871,29 +8885,7 @@ fclose(file); - if (flag_all_include.empty()) - return Type::SKIP; - } - - if (!flag_all_include.empty()) - { - // include files whose pathname matches any one of the --include globs unless negated with ! - bool ok = false; - for (const auto& glob : flag_all_include) - { - bool ignore_case = &glob < &flag_all_include.front() + flag_include_iglob_size; - if (glob.front() == '!') - { - if (ok && glob_match(pathname, basename, glob.c_str() + 1), ignore_case) - ok = false; - } - else if (!ok && glob_match(pathname, basename, glob.c_str(), ignore_case)) - { - ok = true; - } - } - if (!ok) - return Type::SKIP; + return Type::SKIP; } Stats::score_file(); @@ -9012,10 +9004,11 @@ if (flag_min_depth > 0 && level <= flag_min_depth) return Type::SKIP; + bool ok = true; + if (!flag_all_exclude.empty()) { // exclude files whose pathname matches any one of the --exclude globs unless negated with ! - bool ok = true; for (const auto& glob : flag_all_exclude) { bool ignore_case = &glob < &flag_all_exclude.front() + flag_exclude_iglob_size; @@ -9033,8 +9026,29 @@ return Type::SKIP; } + if (!flag_all_include.empty()) + { + // include files whose basename matches any one of the --include globs if not negated with ! + ok = false; + for (const auto& glob : flag_all_include) + { + bool ignore_case = &glob < &flag_all_include.front() + flag_include_iglob_size; + if (glob.front() == '!') + { + if (ok && glob_match(pathname, basename, glob.c_str() + 1, ignore_case)) + ok = false; + } + else if (!ok && glob_match(pathname, basename, glob.c_str(), ignore_case)) + { + ok = true; + } + } + if (!ok && flag_file_magic.empty()) + return Type::SKIP; + } + // check magic pattern against the file signature, when --file-magic=MAGIC is specified - if (!flag_file_magic.empty()) + if (!flag_file_magic.empty() && (flag_all_include.empty() || !ok)) { FILE *file; @@ -9082,29 +9096,7 @@ fclose(file); - if (flag_all_include.empty()) - return Type::SKIP; - } - - if (!flag_all_include.empty()) - { - // include directories whose basename matches any one of the --include-dir globs if not negated with ! - bool ok = false; - for (const auto& glob : flag_all_include) - { - bool ignore_case = &glob < &flag_all_include.front() + flag_include_iglob_size; - if (glob.front() == '!') - { - if (ok && glob_match(pathname, basename, glob.c_str() + 1, ignore_case)) - ok = false; - } - else if (!ok && glob_match(pathname, basename, glob.c_str(), ignore_case)) - { - ok = true; - } - } - if (!ok) - return Type::SKIP; + return Type::SKIP; } Stats::score_file(); @@ -14334,6 +14326,8 @@ if (found == 0) std::cout << "ugrep --help: nothing appropriate for " << what; + else + std::cout << "\n\nLong options may start with `--no-' to disable, when applicable."; std::cout << "\n\n"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/src/ugrep.hpp new/ugrep-4.5.2/src/ugrep.hpp --- old/ugrep-4.5.1/src/ugrep.hpp 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/src/ugrep.hpp 2024-01-10 14:50:23.000000000 +0100 @@ -38,7 +38,7 @@ #define UGREP_HPP // ugrep version -#define UGREP_VERSION "4.5.1" +#define UGREP_VERSION "4.5.2" // disable mmap because mmap is almost always slower than the file reading speed improvements since 3.0.0 #define WITH_NO_MMAP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/src/zstream.hpp new/ugrep-4.5.2/src/zstream.hpp --- old/ugrep-4.5.1/src/zstream.hpp 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/src/zstream.hpp 2024-01-10 14:50:23.000000000 +0100 @@ -538,8 +538,8 @@ // read and decompress zip file data into buf[0..len-1], return number of bytes decompressed, 0 for EOF or -1 for error std::streamsize decompress(unsigned char *buf, size_t len) { - // if no more data to decompress, then return 0 to indicate EOF - if (zend_) + // if header() was not called or no more data to decompress, then return 0 to indicate EOF + if (znew_ || zend_) return 0; std::streamsize num = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/tests/out/archive-t.7z.out new/ugrep-4.5.2/tests/out/archive-t.7z.out --- old/ugrep-4.5.1/tests/out/archive-t.7z.out 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/tests/out/archive-t.7z.out 2024-01-10 14:50:23.000000000 +0100 @@ -0,0 +1,2 @@ +[1;35marchive.7z{Hello.bat}[m[1;36m:[m1 +[1;35marchive.7z{Hello.sh}[m[1;36m:[m1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ugrep-4.5.1/tests/verify.sh new/ugrep-4.5.2/tests/verify.sh --- old/ugrep-4.5.1/tests/verify.sh 2024-01-06 15:02:32.000000000 +0100 +++ new/ugrep-4.5.2/tests/verify.sh 2024-01-10 14:50:23.000000000 +0100 @@ -94,6 +94,14 @@ printf "Have libbrotli? %3s (optional)\n" $have_libbrotli +if $UG -Fq 'HAVE_7ZIP 1' "$CONFIGH" ; then + have_7zip=yes +else + have_7zip=no +fi + +printf "Have 7zip? %3s (optional)\n" $have_7zip + # check for libraries that aren't typically installed, don't report if $UG -Fq 'HAVE_LIBBZIP3 1' "$CONFIGH" ; then @@ -385,7 +393,10 @@ printf . $UG -z -c Hello archive.zip | $DIFF out/archive.zip.out || ERR "-z -c Hello archive.zip" printf . +if [ "$have_7zip" == yes ]; then +printf . $UG -z -c Hello archive.7z | $DIFF out/archive.7z.out || ERR "-z -c Hello archive.7z" +fi if [ "$have_libbz2" == yes ]; then printf . $UG -z -c Hello archive.tbz | $DIFF out/archive.tbz.out || ERR "-z -c Hello archive.tbz" @@ -429,8 +440,10 @@ $UG -z -c -tShell Hello archive.tar.zip | $DIFF out/archive-t.tar.zip.out || ERR "-z -c -tShell Hello archive.tar.zip" printf . $UG -z -c -tShell Hello archive.zip | $DIFF out/archive-t.zip.out || ERR "-z -c -tShell Hello archive.zip" +if [ "$have_7zip" == yes ]; then printf . $UG -z -c -tShell Hello archive.7z | $DIFF out/archive-t.7z.out || ERR "-z -c -tShell Hello archive.7z" +fi if [ "$have_libbz2" == yes ]; then printf . $UG -z -c -tShell Hello archive.tbz | $DIFF out/archive-t.tbz.out || ERR "-z -c -tShell Hello archive.tbz"