Hello community,
here is the log from the commit of package lzma
checked in at Mon Jan 7 02:51:48 CET 2008.
--------
--- lzma/lzma.changes 2007-12-03 14:13:57.000000000 +0100
+++ /mounts/work_src_done/STABLE/lzma/lzma.changes 2008-01-04 07:14:13.000000000 +0100
@@ -1,0 +2,21 @@
+Fri Jan 4 07:12:26 CET 2008 - crrodriguez@suse.de
+
+- Version 4.32.4
+
+ * Ignore command line switch --format=alone. This way current scripts
+ can be written so that they will produce LZMA_Alone format files
+ even with the new command line tool once it is finishes along with
+ liblzma.
+ * The command line tool now tells if the user tries to decode files
+ in the new .lzma format. The message recommends upgrading to newer
+ LZMA Utils.
+ * Added some internal consistency checks to liblzmadec, so that it
+ doesn't crash if given lzmadec_stream whose initialization failed.
+ Some applications using zlib and libbzip2 don't check if
+ initialization was successful, and expect that error gets caught
+ safely later.
+- disable static libraries
+- remove liblzmadec.la that has empty dependency_libs
+- do not link utils statically
+
+-------------------------------------------------------------------
Old:
----
lzma-4.32.3.tar.bz2
New:
----
lzma-4.32.4.tar.bz2
lzma-4.32.4-util-linkshared.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lzma.spec ++++++
--- /var/tmp/diff_new_pack.U30589/_old 2008-01-07 02:50:26.000000000 +0100
+++ /var/tmp/diff_new_pack.U30589/_new 2008-01-07 02:50:26.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package lzma (Version 4.32.3)
+# spec file for package lzma (Version 4.32.4)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -12,13 +12,14 @@
Name: lzma
BuildRequires: gcc-c++
Summary: A Program for Compressing Files
-Version: 4.32.3
+Version: 4.32.4
Release: 1
Group: Productivity/Archiving/Compression
License: GPL v2 or later
Url: http://tukaani.org/lzma/
Source: %{name}-%{version}.tar.bz2
-Patch: %{name}-%{version}.diff
+Patch0: %{name}-4.32.3.diff
+Patch1: lzma-4.32.4-util-linkshared.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -82,15 +83,19 @@
%prep
%setup -q
-%patch
+%patch0
+%patch1
%build
-./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
- --prefix=/usr --libdir=%{_libdir}
-make
+autoreconf -fi
+export CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
+%configure --disable-static --with-pic
+%{__make} %{?jobs:-j%jobs}
%install
make install DESTDIR=$RPM_BUILD_ROOT
+#empty dependency_libs
+rm -f %{buildroot}%{_libdir}/*.la
%clean
rm -fr $RPM_BUILD_ROOT
@@ -101,21 +106,36 @@
%files
%defattr(-, root, root)
-%{_prefix}/bin/*
+%{_bindir}/*
%{_mandir}/man?/*.gz
%files -n liblzmadec0
%defattr(-, root, root)
-%{_libdir}/lib*.so.*
+%{_libdir}/lib*.so.0*
%files devel
%defattr(-, root, root)
-%{_prefix}/include/*
-%{_libdir}/lib*.a
-%{_libdir}/lib*.la
+%{_includedir}/*.h
%{_libdir}/lib*.so
%changelog
+* Fri Jan 04 2008 - crrodriguez@suse.de
+- Version 4.32.4
+ * Ignore command line switch --format=alone. This way current scripts
+ can be written so that they will produce LZMA_Alone format files
+ even with the new command line tool once it is finishes along with
+ liblzma.
+ * The command line tool now tells if the user tries to decode files
+ in the new .lzma format. The message recommends upgrading to newer
+ LZMA Utils.
+ * Added some internal consistency checks to liblzmadec, so that it
+ doesn't crash if given lzmadec_stream whose initialization failed.
+ Some applications using zlib and libbzip2 don't check if
+ initialization was successful, and expect that error gets caught
+ safely later.
+- disable static libraries
+- remove liblzmadec.la that has empty dependency_libs
+- do not link utils statically
* Mon Dec 03 2007 - dmueller@suse.de
- update to 4.32.3:
* rare file content loss bugs fixed (did not check for error upon close())
++++++ lzma-4.32.3.tar.bz2 -> lzma-4.32.4.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/lzma-4.32.3/configure new/lzma-4.32.4/configure
--- old/lzma-4.32.3/configure 2007-11-06 20:31:45.000000000 +0100
+++ new/lzma-4.32.4/configure 2007-12-07 16:17:06.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for LZMA 4.32.3.
+# Generated by GNU Autoconf 2.61 for LZMA 4.32.4.
#
# Report bugs to .
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='LZMA'
PACKAGE_TARNAME='lzma'
-PACKAGE_VERSION='4.32.3'
-PACKAGE_STRING='LZMA 4.32.3'
+PACKAGE_VERSION='4.32.4'
+PACKAGE_STRING='LZMA 4.32.4'
PACKAGE_BUGREPORT='lasse.collin@tukaani.org'
ac_unique_file="src/sdk/7zip/ICoder.h"
@@ -1393,7 +1393,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures LZMA 4.32.3 to adapt to many kinds of systems.
+\`configure' configures LZMA 4.32.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1463,7 +1463,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of LZMA 4.32.3:";;
+ short | recursive ) echo "Configuration of LZMA 4.32.4:";;
esac
cat <<\_ACEOF
@@ -1567,7 +1567,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-LZMA configure 4.32.3
+LZMA configure 4.32.4
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1581,7 +1581,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by LZMA $as_me 4.32.3, which was
+It was created by LZMA $as_me 4.32.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2309,7 +2309,7 @@
# Define the identity of the package.
PACKAGE='lzma'
- VERSION='4.32.3'
+ VERSION='4.32.4'
cat >>confdefs.h <<_ACEOF
@@ -22326,7 +22326,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by LZMA $as_me 4.32.3, which was
+This file was extended by LZMA $as_me 4.32.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22379,7 +22379,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-LZMA config.status 4.32.3
+LZMA config.status 4.32.4
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/lzma-4.32.3/configure.ac new/lzma-4.32.4/configure.ac
--- old/lzma-4.32.3/configure.ac 2007-11-06 18:28:38.000000000 +0100
+++ new/lzma-4.32.4/configure.ac 2007-12-06 21:01:13.000000000 +0100
@@ -5,7 +5,7 @@
# [LZMA] instead of [LZMA utils] since I prefer to have lzma-version.tar.gz
# instead of lzma-utils-version.tar.gz.
-AC_INIT([LZMA], [4.32.3], [lasse.collin@tukaani.org])
+AC_INIT([LZMA], [4.32.4], [lasse.collin@tukaani.org])
AC_CONFIG_SRCDIR([src/sdk/7zip/ICoder.h])
AC_CONFIG_HEADER([config.h])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/lzma-4.32.3/NEWS new/lzma-4.32.4/NEWS
--- old/lzma-4.32.3/NEWS 2007-11-06 20:54:03.000000000 +0100
+++ new/lzma-4.32.4/NEWS 2007-12-07 16:56:32.000000000 +0100
@@ -2,6 +2,23 @@
LZMA Utils user visible changes
===============================
+Version 4.32.4
+
+ * Ignore command line switch --format=alone. This way current scripts
+ can be written so that they will produce LZMA_Alone format files
+ even with the new command line tool once it is finishes along with
+ liblzma.
+
+ * The command line tool now tells if the user tries to decode files
+ in the new .lzma format. The message recommends upgrading to newer
+ LZMA Utils.
+
+ * Added some internal consistency checks to liblzmadec, so that it
+ doesn't crash if given lzmadec_stream whose initialization failed.
+ Some applications using zlib and libbzip2 don't check if
+ initialization was successful, and expect that error gets caught
+ safely later.
+
Version 4.32.3
Seems that everything started going wrong once I started calling
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/lzma-4.32.3/src/liblzmadec/main.c new/lzma-4.32.4/src/liblzmadec/main.c
--- old/lzma-4.32.3/src/liblzmadec/main.c 2006-07-06 23:28:14.000000000 +0200
+++ new/lzma-4.32.4/src/liblzmadec/main.c 2007-12-04 17:41:29.000000000 +0100
@@ -101,6 +101,9 @@
extern int_fast8_t
lzmadec_decode (lzmadec_stream *strm, const int_fast8_t finish_decoding)
{
+ if (strm == NULL || STATE == NULL)
+ return LZMADEC_SEQUENCE_ERROR;
+
switch (STATE->status) {
case LZMADEC_STATUS_UNINITIALIZED:
if (strm->avail_in < LZMA_MINIMUM_COMPRESSED_FILE_SIZE)
@@ -138,6 +141,9 @@
extern int_fast8_t
lzmadec_end (lzmadec_stream *strm)
{
+ if (strm == NULL || STATE == NULL)
+ return LZMADEC_SEQUENCE_ERROR;
+
(strm->lzma_free)(strm->opaque, STATE->dictionary);
STATE->dictionary = NULL;
(strm->lzma_free)(strm->opaque, STATE->probs);
@@ -383,12 +389,12 @@
#define RangeDecoderBitTreeDecode(probs, numLevels, res) \
{ \
- int i = numLevels; \
+ int i_ = numLevels; \
res = 1; \
do { \
- CProb *p = probs + res; \
- RC_GET_BIT(p, res) \
- } while(--i != 0); \
+ CProb *p_ = probs + res; \
+ RC_GET_BIT(p_, res) \
+ } while(--i_ != 0); \
res -= (1 << numLevels); \
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/lzma-4.32.3/src/lzma/lzmp.cpp new/lzma-4.32.4/src/lzma/lzmp.cpp
--- old/lzma-4.32.3/src/lzma/lzmp.cpp 2007-11-06 20:40:49.000000000 +0100
+++ new/lzma-4.32.4/src/lzma/lzmp.cpp 2007-12-07 16:29:34.000000000 +0100
@@ -29,6 +29,7 @@
#include <cstdio>
#include <cstring>
+#include <climits>
#include <string>
using std::string;
@@ -146,6 +147,9 @@
};
/* getopt options. */
+enum {
+ OPT_FORMAT = INT_MIN
+};
/* struct option { name, has_arg, flag, val } */
const struct option long_options[] = {
{ "stdout", 0, 0, 'c' },
@@ -162,6 +166,7 @@
{ "version", 0, 0, 'V' },
{ "fast", 0, 0, '1' },
{ "best", 0, 0, '9' },
+ { "format", 1, 0, OPT_FORMAT },
{ 0, 0, 0, 0 }
};
@@ -337,6 +342,10 @@
break;
// Advanced options //
+ // Unfortunately, these won't be compatible with
+ // the new command line tool. These options will
+ // be set differently there.
+
// Compression mode
case 'A':
advanced_options.compression_mode =
@@ -355,6 +364,14 @@
str2int (optarg, 0, 273);
break;
+ case OPT_FORMAT:
+ // Forward compatibility with new command line tool.
+ if (strcmp(optarg, "alone") != 0) {
+ cerr << argv[0] << ": Only --format=alone is supported\n";
+ exit(STATUS_ERROR);
+ }
+ break;
+
default:
throw ArgumentException("");
break;
@@ -447,6 +464,12 @@
throw Exception("Read error");
if (processedSize != kPropertiesSize)
throw Exception("Read error");
+
+ // This tests only the first five bytes although the new format has
+ // six-byte magic. It was lazier to implement this way.
+ if (memcmp(properties, "\xFFLZMA", kPropertiesSize) == 0)
+ throw Exception("New .lzma format detected. Newer LZMA Utils needed to decode.");
+
if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK)
throw Exception("SetDecoderProperties() error");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/lzma-4.32.3/src/sdk/7zip/Compress/LZMA_C/LzmaDecode.c new/lzma-4.32.4/src/sdk/7zip/Compress/LZMA_C/LzmaDecode.c
--- old/lzma-4.32.3/src/sdk/7zip/Compress/LZMA_C/LzmaDecode.c 2005-12-04 19:29:29.000000000 +0100
+++ new/lzma-4.32.4/src/sdk/7zip/Compress/LZMA_C/LzmaDecode.c 2007-12-04 17:42:05.000000000 +0100
@@ -35,7 +35,7 @@
#define RC_READ_BYTE (*Buffer++)
#define RC_INIT2 Code = 0; Range = 0xFFFFFFFF; \
- { int i; for(i = 0; i < 5; i++) { RC_TEST; Code = (Code << 8) | RC_READ_BYTE; }}
+ { int ii; for(ii = 0; ii < 5; ii++) { RC_TEST; Code = (Code << 8) | RC_READ_BYTE; }}
#ifdef _LZMA_IN_CB
@@ -67,7 +67,7 @@
#define RangeDecoderBitTreeDecode(probs, numLevels, res) \
{ int i = numLevels; res = 1; \
- do { CProb *p = probs + res; RC_GET_BIT(p, res) } while(--i != 0); \
+ do { CProb *pp = probs + res; RC_GET_BIT(pp, res) } while(--i != 0); \
res -= (1 << numLevels); }
++++++ lzma-4.32.4-util-linkshared.patch ++++++
Index: src/lzmadec/Makefile.am
===================================================================
--- src/lzmadec/Makefile.am.orig 2007-10-22 18:36:37.000000000 +0200
+++ src/lzmadec/Makefile.am 2008-01-04 06:59:24.000000000 +0100
@@ -2,6 +2,5 @@ bin_PROGRAMS = lzmadec
lzmadec_SOURCES = lzmadec.c
lzmadec_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la
AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec
-AM_LDFLAGS = -static
dist_man_MANS = lzmadec.1
Index: src/lzmainfo/Makefile.am
===================================================================
--- src/lzmainfo/Makefile.am.orig 2007-10-16 08:33:30.000000000 +0200
+++ src/lzmainfo/Makefile.am 2008-01-04 06:58:43.000000000 +0100
@@ -2,6 +2,5 @@ bin_PROGRAMS = lzmainfo
lzmainfo_SOURCES = lzmainfo.c
lzmainfo_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la
AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec
-AM_LDFLAGS = -static
dist_man_MANS = lzmainfo.1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org