Hello community, here is the log from the commit of package xz for openSUSE:Factory checked in at Mon Mar 7 14:56:45 CET 2011.
-------- --- xz/xz.changes 2010-12-07 19:50:31.000000000 +0100 +++ /mounts/work_src_done/STABLE/xz/xz.changes 2011-03-04 18:56:54.000000000 +0100 @@ -1,0 +2,8 @@ +Fri Mar 4 17:54:21 UTC 2011 - [email protected] + +- Update to version 5.0.1 +* Fix --force on setuid/setgid/sticky and multi-hardlink files. +* Add alloc_size and malloc attributes to a few functions. +* Fix gzip and bzip2 support in xzdiff + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- _service:download_url:xz-5.0.0.tar.bz2 New: ---- _service:download_url:xz-5.0.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xz.spec ++++++ --- /var/tmp/diff_new_pack.lco1a5/_old 2011-03-07 14:56:12.000000000 +0100 +++ /var/tmp/diff_new_pack.lco1a5/_new 2011-03-07 14:56:12.000000000 +0100 @@ -1,7 +1,7 @@ # -# spec file for package xz (Version 5.0.0) +# spec file for package xz # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,8 +19,8 @@ Name: xz Summary: A Program for Compressing Files -Version: 5.0.0 -Release: 3 +Version: 5.0.1 +Release: 1 Group: Productivity/Archiving/Compression License: LGPLv2.1+ Url: http://tukaani.org/lzma/ ++++++ _service ++++++ --- /var/tmp/diff_new_pack.lco1a5/_old 2011-03-07 14:56:12.000000000 +0100 +++ /var/tmp/diff_new_pack.lco1a5/_new 2011-03-07 14:56:12.000000000 +0100 @@ -3,11 +3,11 @@ <service name="download_url"> <param name="protocol">http</param> <param name="host">tukaani.org</param> - <param name="path">/xz/xz-5.0.0.tar.bz2</param> + <param name="path">/xz/xz-5.0.1.tar.bz2</param> </service> <service name="verify_file"> - <param name="file">_service:download_url:xz-5.0.0.tar.bz2</param> + <param name="file">_service:download_url:xz-5.0.1.tar.bz2</param> <param name="verifier">sha256</param> - <param name="checksum">47a89e65c4690364a0123871a221e663d23a9fbd1ca756a804b10dd4006056d8</param> + <param name="checksum">9b380f502d37085a60821484a3a13747454638927cc36033be64970512451ed8</param> </service> </services> ++++++ _service:download_url:xz-5.0.0.tar.bz2 -> _service:download_url:xz-5.0.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/ChangeLog new/xz-5.0.1/ChangeLog --- old/xz-5.0.0/ChangeLog 2010-10-23 16:48:31.000000000 +0200 +++ new/xz-5.0.1/ChangeLog 2011-01-28 20:02:30.000000000 +0100 @@ -1,3 +1,171 @@ +commit 7232fcf96bf4bd5f9cd4fc6c93ca2912c665e004 +Author: Lasse Collin <[email protected]> +Date: 2011-01-28 20:26:38 +0200 + + Bump package version and liblzma soname to 5.0.1. + + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 5fbce0b8d96dc96775aa0215e3581addc830e23d +Author: Lasse Collin <[email protected]> +Date: 2011-01-28 20:16:57 +0200 + + Update NEWS for 5.0.1. + + NEWS | 14 ++++++++++++++ + 1 files changed, 14 insertions(+), 0 deletions(-) + +commit 03ebd1bbb314f9f204940219a835c883bf442475 +Author: Lasse Collin <[email protected]> +Date: 2011-01-26 12:19:08 +0200 + + xz: Fix --force on setuid/setgid/sticky and multi-hardlink files. + + xz didn't compress setuid/setgid/sticky files and files + with multiple hard links even with --force. This bug was + introduced in 23ac2c44c3ac76994825adb7f9a8f719f78b5ee4. + + Thanks to Charles Wilson. + + src/xz/file_io.c | 15 +++++++-------- + 1 files changed, 7 insertions(+), 8 deletions(-) + +commit 7bd0a5e7ccc354f7c2e95c8bc27569c820f6a136 +Author: Lasse Collin <[email protected]> +Date: 2011-01-18 21:25:24 +0200 + + Updated THANKS. + + THANKS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit f71c4e16e913f660977526f0ef8d2acdf458d7c9 +Author: Lasse Collin <[email protected]> +Date: 2011-01-18 21:23:50 +0200 + + Add alloc_size and malloc attributes to a few functions. + + Thanks to Cristian Rodríguez for the original patch. + + src/common/sysdefs.h | 6 ++++++ + src/liblzma/common/common.h | 2 +- + src/xz/util.h | 5 +++-- + 3 files changed, 10 insertions(+), 3 deletions(-) + +commit 316cbe24465143edde8f6ffb7532834b7b2ea93f +Author: Lasse Collin <[email protected]> +Date: 2010-12-13 16:36:33 +0200 + + Scripts: Fix gzip and bzip2 support in xzdiff. + + src/scripts/xzdiff.in | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +commit 9311774c493c19deab51ded919dcd2e9c4aa2829 +Author: Lasse Collin <[email protected]> +Date: 2010-12-12 21:23:55 +0200 + + Build: Enable ASM on DJGPP by default. + + configure.ac | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 4a42aaee282fc73b482581684d65110506d5efdd +Author: Lasse Collin <[email protected]> +Date: 2010-12-12 16:09:42 +0200 + + Updated THANKS. + + THANKS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit ce56f63c41ee210e6308090eb6d49221fdf67d6c +Author: Lasse Collin <[email protected]> +Date: 2010-12-12 16:07:11 +0200 + + Add missing PRIx32 and PRIx64 compatibility definitions. + + This fixes portability to systems that lack C99 inttypes.h. + + Thanks to Juan Manuel Guerrero. + + src/common/sysdefs.h | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +commit e6baedddcf54e7da049ebc49183565b99facd4c7 +Author: Lasse Collin <[email protected]> +Date: 2010-12-12 14:50:04 +0200 + + DOS-like: Treat \ and : as directory separators in addition to /. + + Juan Manuel Guerrero had fixed this in his XZ Utils port + to DOS/DJGPP. The bug affects also Windows and OS/2. + + src/xz/suffix.c | 33 +++++++++++++++++++++++++++++---- + 1 files changed, 29 insertions(+), 4 deletions(-) + +commit b7afd3e22a8fac115b75c738d40d3eb1de7e286f +Author: Lasse Collin <[email protected]> +Date: 2010-12-07 18:52:04 +0200 + + Translations: Fix Czech translation of "sparse file". + + Thanks to Petr Hubený and Marek Černocký. + + po/cs.po | 88 +++++++++++++++++++++++++++++++------------------------------- + 1 files changed, 44 insertions(+), 44 deletions(-) + +commit 3e564704bc6f463cb2db11e3f3f0dbd71d85992e +Author: Lasse Collin <[email protected]> +Date: 2010-11-15 14:28:26 +0200 + + liblzma: Document the return value of lzma_lzma_preset(). + + src/liblzma/api/lzma/lzma.h | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 2964d8d691ed92abdcf214888d79ad6d79774735 +Author: Jonathan Nieder <[email protected]> +Date: 2010-11-12 15:22:13 -0600 + + Simplify paths in generated API docs + + Currently the file list generated by Doxygen has src/ at the + beginning of each path. Paths like common/sysdefs.h and + liblzma/api/lzma.h are easier to read without such a prefix. + + Builds from a separate build directory with + + mkdir build + cd build + ../configure + doxygen Doxyfile + + include an even longer prefix /home/someone/src/xz/src; this + patch has the nice side-effect of eliminating that prefix, too. + + Fixes: http://bugs.debian.org/572273 + + Doxyfile.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 37c25658efd25b034266daf87cd381d20d1df776 +Author: Lasse Collin <[email protected]> +Date: 2010-10-26 15:48:48 +0300 + + Build: Copy the example programs to $docdir/examples. + + The example programs by Daniel Mealha Cabrita were included + in the git repository, but I had forgot to add them to + Makefile.am. Thus, they didn't get included in the source + package at all by "make dist". + + Makefile.am | 5 +++++ + windows/build.bash | 3 ++- + 2 files changed, 7 insertions(+), 1 deletions(-) + commit e45929260cd902036efd40c5610a8d0a50d5712b Author: Lasse Collin <[email protected]> Date: 2010-10-23 17:25:52 +0300 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/Doxyfile.in new/xz-5.0.1/Doxyfile.in --- old/xz-5.0.0/Doxyfile.in 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/Doxyfile.in 2011-01-28 18:56:43.000000000 +0100 @@ -118,7 +118,7 @@ # If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = +STRIP_FROM_PATH = @top_srcdir@/src # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/Makefile.am new/xz-5.0.1/Makefile.am --- old/xz-5.0.0/Makefile.am 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/Makefile.am 2011-01-28 18:56:43.000000000 +0100 @@ -27,6 +27,11 @@ doc/xz-file-format.txt \ doc/lzma-file-format.txt +examplesdir = $(docdir)/examples +dist_examples_DATA = \ + doc/examples/xz_pipe_comp.c \ + doc/examples/xz_pipe_decomp.c + EXTRA_DIST = \ extra \ dos \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/Makefile.in new/xz-5.0.1/Makefile.in --- old/xz-5.0.0/Makefile.in 2010-10-23 16:48:16.000000000 +0200 +++ new/xz-5.0.1/Makefile.in 2011-01-28 19:00:14.000000000 +0100 @@ -37,13 +37,13 @@ @COND_GNULIB_TRUE@am__append_1 = lib subdir = . DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ - $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ - INSTALL NEWS THANKS TODO build-aux/compile \ - build-aux/config.guess build-aux/config.rpath \ - build-aux/config.sub build-aux/depcomp build-aux/install-sh \ - build-aux/ltmain.sh build-aux/missing + $(dist_examples_DATA) $(srcdir)/Doxyfile.in \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \ + AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \ + build-aux/compile build-aux/config.guess \ + build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ + build-aux/install-sh build-aux/ltmain.sh build-aux/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ @@ -98,8 +98,8 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__installdirs = "$(DESTDIR)$(docdir)" -DATA = $(dist_doc_DATA) +am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(examplesdir)" +DATA = $(dist_doc_DATA) $(dist_examples_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -303,6 +303,11 @@ doc/xz-file-format.txt \ doc/lzma-file-format.txt +examplesdir = $(docdir)/examples +dist_examples_DATA = \ + doc/examples/xz_pipe_comp.c \ + doc/examples/xz_pipe_decomp.c + EXTRA_DIST = \ extra \ dos \ @@ -415,6 +420,26 @@ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(docdir)" && rm -f $$files +install-dist_examplesDATA: $(dist_examples_DATA) + @$(NORMAL_INSTALL) + test -z "$(examplesdir)" || $(MKDIR_P) "$(DESTDIR)$(examplesdir)" + @list='$(dist_examples_DATA)'; test -n "$(examplesdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(examplesdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(examplesdir)" || exit $$?; \ + done + +uninstall-dist_examplesDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_examples_DATA)'; test -n "$(examplesdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(examplesdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(examplesdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -739,7 +764,7 @@ all-am: Makefile $(DATA) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(docdir)"; do \ + for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(examplesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive @@ -789,7 +814,7 @@ info-am: -install-data-am: install-dist_docDATA +install-data-am: install-dist_docDATA install-dist_examplesDATA install-dvi: install-dvi-recursive @@ -835,7 +860,7 @@ ps-am: -uninstall-am: uninstall-dist_docDATA +uninstall-am: uninstall-dist_docDATA uninstall-dist_examplesDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ ctags-recursive install-am install-strip tags-recursive @@ -848,14 +873,15 @@ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ - install-dist_docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-dist_docDATA + install-dist_docDATA install-dist_examplesDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-dist_docDATA uninstall-dist_examplesDATA # Create ChangeLog from output of "git log --date=iso --stat". diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/NEWS new/xz-5.0.1/NEWS --- old/xz-5.0.0/NEWS 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/NEWS 2011-01-28 18:56:56.000000000 +0100 @@ -2,6 +2,20 @@ XZ Utils User-Visible Changes ============================= +5.0.1 (2011-01-29) + + * xz --force now (de)compresses files that have setuid, setgid, + or sticky bit set and files that have multiple hard links. + The man page had it documented this way already, but the code + had a bug. + + * gzip and bzip2 support in xzdiff was fixed. + + * Portability fixes + + * Minor fix to Czech translation + + 5.0.0 (2010-10-23) Only the most important changes compared to 4.999.9beta are listed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/THANKS new/xz-5.0.1/THANKS --- old/xz-5.0.0/THANKS 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/THANKS 2011-01-28 18:56:43.000000000 +0100 @@ -22,6 +22,7 @@ - Gilles Espinasse - Denis Excoffier - Mike Frysinger + - Juan Manuel Guerrero - Joachim Henke - Peter Ivanov - Jouk Jansen @@ -46,6 +47,7 @@ - Mikko Pouru - Robert Readman - Bernhard Reutner-Fischer + - Cristian Rodríguez - Christian von Roques - Jukka Salmi - Alexandre Sauvé diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/configure new/xz-5.0.1/configure --- old/xz-5.0.0/configure 2010-10-23 16:48:13.000000000 +0200 +++ new/xz-5.0.1/configure 2011-01-28 19:00:11.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for XZ Utils 5.0.0. +# Generated by GNU Autoconf 2.68 for XZ Utils 5.0.1. # # Report bugs to <[email protected]>. # @@ -570,8 +570,8 @@ # Identity of this package. PACKAGE_NAME='XZ Utils' PACKAGE_TARNAME='xz' -PACKAGE_VERSION='5.0.0' -PACKAGE_STRING='XZ Utils 5.0.0' +PACKAGE_VERSION='5.0.1' +PACKAGE_STRING='XZ Utils 5.0.1' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='http://tukaani.org/xz/' @@ -1445,7 +1445,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 XZ Utils 5.0.0 to adapt to many kinds of systems. +\`configure' configures XZ Utils 5.0.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1515,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of XZ Utils 5.0.0:";; + short | recursive ) echo "Configuration of XZ Utils 5.0.1:";; esac cat <<\_ACEOF @@ -1668,7 +1668,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -XZ Utils configure 5.0.0 +XZ Utils configure 5.0.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2499,7 +2499,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by XZ Utils $as_me 5.0.0, which was +It was created by XZ Utils $as_me 5.0.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3739,7 +3739,7 @@ case $host_os in # Darwin should work too but only if not creating universal # binaries. Solaris x86 could work too but I cannot test. - linux* | *bsd* | mingw* | cygwin*) + linux* | *bsd* | mingw* | cygwin* | *djgpp*) case $host_cpu in i?86) enable_assembler=x86 ;; x86_64) enable_assembler=x86_64 ;; @@ -4471,7 +4471,7 @@ # Define the identity of the package. PACKAGE='xz' - VERSION='5.0.0' + VERSION='5.0.1' cat >>confdefs.h <<_ACEOF @@ -18355,7 +18355,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by XZ Utils $as_me 5.0.0, which was +This file was extended by XZ Utils $as_me 5.0.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18422,7 +18422,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -XZ Utils config.status 5.0.0 +XZ Utils config.status 5.0.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/configure.ac new/xz-5.0.1/configure.ac --- old/xz-5.0.0/configure.ac 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/configure.ac 2011-01-28 18:56:44.000000000 +0100 @@ -283,7 +283,7 @@ case $host_os in # Darwin should work too but only if not creating universal # binaries. Solaris x86 could work too but I cannot test. - linux* | *bsd* | mingw* | cygwin*) + linux* | *bsd* | mingw* | cygwin* | *djgpp*) case $host_cpu in i?86) enable_assembler=x86 ;; x86_64) enable_assembler=x86_64 ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/doc/examples/xz_pipe_comp.c new/xz-5.0.1/doc/examples/xz_pipe_comp.c --- old/xz-5.0.0/doc/examples/xz_pipe_comp.c 1970-01-01 01:00:00.000000000 +0100 +++ new/xz-5.0.1/doc/examples/xz_pipe_comp.c 2011-01-28 18:56:44.000000000 +0100 @@ -0,0 +1,127 @@ +/* + * xz_pipe_comp.c + * A simple example of pipe-only xz compressor implementation. + * version: 2010-07-12 - by Daniel Mealha Cabrita + * Not copyrighted -- provided to the public domain. + * + * Compiling: + * Link with liblzma. GCC example: + * $ gcc -llzma xz_pipe_comp.c -o xz_pipe_comp + * + * Usage example: + * $ cat some_file | ./xz_pipe_comp > some_file.xz + */ + +#include <stdio.h> +#include <stdint.h> +#include <inttypes.h> +#include <stdbool.h> +#include <lzma.h> + + +/* COMPRESSION SETTINGS */ + +/* analogous to xz CLI options: -0 to -9 */ +#define COMPRESSION_LEVEL 6 + +/* boolean setting, analogous to xz CLI option: -e */ +#define COMPRESSION_EXTREME true + +/* see: /usr/include/lzma/check.h LZMA_CHECK_* */ +#define INTEGRITY_CHECK LZMA_CHECK_CRC64 + + +/* read/write buffer sizes */ +#define IN_BUF_MAX 4096 +#define OUT_BUF_MAX 4096 + +/* error codes */ +#define RET_OK 0 +#define RET_ERROR_INIT 1 +#define RET_ERROR_INPUT 2 +#define RET_ERROR_OUTPUT 3 +#define RET_ERROR_COMPRESSION 4 + + +/* note: in_file and out_file must be open already */ +int xz_compress (FILE *in_file, FILE *out_file) +{ + uint32_t preset = COMPRESSION_LEVEL | (COMPRESSION_EXTREME ? LZMA_PRESET_EXTREME : 0); + lzma_check check = INTEGRITY_CHECK; + lzma_stream strm = LZMA_STREAM_INIT; /* alloc and init lzma_stream struct */ + uint8_t in_buf [IN_BUF_MAX]; + uint8_t out_buf [OUT_BUF_MAX]; + size_t in_len; /* length of useful data in in_buf */ + size_t out_len; /* length of useful data in out_buf */ + bool in_finished = false; + bool out_finished = false; + lzma_action action; + lzma_ret ret_xz; + int ret; + + ret = RET_OK; + + /* initialize xz encoder */ + ret_xz = lzma_easy_encoder (&strm, preset, check); + if (ret_xz != LZMA_OK) { + fprintf (stderr, "lzma_easy_encoder error: %d\n", (int) ret_xz); + return RET_ERROR_INIT; + } + + while ((! in_finished) && (! out_finished)) { + /* read incoming data */ + in_len = fread (in_buf, 1, IN_BUF_MAX, in_file); + + if (feof (in_file)) { + in_finished = true; + } + if (ferror (in_file)) { + in_finished = true; + ret = RET_ERROR_INPUT; + } + + strm.next_in = in_buf; + strm.avail_in = in_len; + + /* if no more data from in_buf, flushes the + internal xz buffers and closes the xz data + with LZMA_FINISH */ + action = in_finished ? LZMA_FINISH : LZMA_RUN; + + /* loop until there's no pending compressed output */ + do { + /* out_buf is clean at this point */ + strm.next_out = out_buf; + strm.avail_out = OUT_BUF_MAX; + + /* compress data */ + ret_xz = lzma_code (&strm, action); + + if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END)) { + fprintf (stderr, "lzma_code error: %d\n", (int) ret_xz); + out_finished = true; + ret = RET_ERROR_COMPRESSION; + } else { + /* write compressed data */ + out_len = OUT_BUF_MAX - strm.avail_out; + fwrite (out_buf, 1, out_len, out_file); + if (ferror (out_file)) { + out_finished = true; + ret = RET_ERROR_OUTPUT; + } + } + } while (strm.avail_out == 0); + } + + lzma_end (&strm); + return ret; +} + +int main () +{ + int ret; + + ret = xz_compress (stdin, stdout); + return ret; +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/doc/examples/xz_pipe_decomp.c new/xz-5.0.1/doc/examples/xz_pipe_decomp.c --- old/xz-5.0.0/doc/examples/xz_pipe_decomp.c 1970-01-01 01:00:00.000000000 +0100 +++ new/xz-5.0.1/doc/examples/xz_pipe_decomp.c 2011-01-28 18:56:44.000000000 +0100 @@ -0,0 +1,115 @@ +/* + * xz_pipe_decomp.c + * A simple example of pipe-only xz decompressor implementation. + * version: 2010-07-12 - by Daniel Mealha Cabrita + * Not copyrighted -- provided to the public domain. + * + * Compiling: + * Link with liblzma. GCC example: + * $ gcc -llzma xz_pipe_decomp.c -o xz_pipe_decomp + * + * Usage example: + * $ cat some_file.xz | ./xz_pipe_decomp > some_file + */ + +#include <stdio.h> +#include <stdint.h> +#include <inttypes.h> +#include <stdbool.h> +#include <lzma.h> + + +/* read/write buffer sizes */ +#define IN_BUF_MAX 4096 +#define OUT_BUF_MAX 4096 + +/* error codes */ +#define RET_OK 0 +#define RET_ERROR_INIT 1 +#define RET_ERROR_INPUT 2 +#define RET_ERROR_OUTPUT 3 +#define RET_ERROR_DECOMPRESSION 4 + + +/* note: in_file and out_file must be open already */ +int xz_decompress (FILE *in_file, FILE *out_file) +{ + lzma_stream strm = LZMA_STREAM_INIT; /* alloc and init lzma_stream struct */ + const uint32_t flags = LZMA_TELL_UNSUPPORTED_CHECK | LZMA_CONCATENATED; + const uint64_t memory_limit = UINT64_MAX; /* no memory limit */ + uint8_t in_buf [IN_BUF_MAX]; + uint8_t out_buf [OUT_BUF_MAX]; + size_t in_len; /* length of useful data in in_buf */ + size_t out_len; /* length of useful data in out_buf */ + bool in_finished = false; + bool out_finished = false; + lzma_action action; + lzma_ret ret_xz; + int ret; + + ret = RET_OK; + + /* initialize xz decoder */ + ret_xz = lzma_stream_decoder (&strm, memory_limit, flags); + if (ret_xz != LZMA_OK) { + fprintf (stderr, "lzma_stream_decoder error: %d\n", (int) ret_xz); + return RET_ERROR_INIT; + } + + while ((! in_finished) && (! out_finished)) { + /* read incoming data */ + in_len = fread (in_buf, 1, IN_BUF_MAX, in_file); + + if (feof (in_file)) { + in_finished = true; + } + if (ferror (in_file)) { + in_finished = true; + ret = RET_ERROR_INPUT; + } + + strm.next_in = in_buf; + strm.avail_in = in_len; + + /* if no more data from in_buf, flushes the + internal xz buffers and closes the decompressed data + with LZMA_FINISH */ + action = in_finished ? LZMA_FINISH : LZMA_RUN; + + /* loop until there's no pending decompressed output */ + do { + /* out_buf is clean at this point */ + strm.next_out = out_buf; + strm.avail_out = OUT_BUF_MAX; + + /* decompress data */ + ret_xz = lzma_code (&strm, action); + + if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END)) { + fprintf (stderr, "lzma_code error: %d\n", (int) ret_xz); + out_finished = true; + ret = RET_ERROR_DECOMPRESSION; + } else { + /* write decompressed data */ + out_len = OUT_BUF_MAX - strm.avail_out; + fwrite (out_buf, 1, out_len, out_file); + if (ferror (out_file)) { + out_finished = true; + ret = RET_ERROR_OUTPUT; + } + } + } while (strm.avail_out == 0); + } + + lzma_end (&strm); + return ret; +} + +int main () +{ + int ret; + + ret = xz_decompress (stdin, stdout); + return ret; +} + Files old/xz-5.0.0/doc/man/pdf-a4/lzmainfo-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/lzmainfo-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-a4/xz-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/xz-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-a4/xzdec-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/xzdec-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-a4/xzdiff-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/xzdiff-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-a4/xzgrep-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/xzgrep-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-a4/xzless-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/xzless-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-a4/xzmore-a4.pdf and new/xz-5.0.1/doc/man/pdf-a4/xzmore-a4.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/lzmainfo-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/lzmainfo-letter.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/xz-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/xz-letter.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/xzdec-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/xzdec-letter.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/xzdiff-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/xzdiff-letter.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/xzgrep-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/xzgrep-letter.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/xzless-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/xzless-letter.pdf differ Files old/xz-5.0.0/doc/man/pdf-letter/xzmore-letter.pdf and new/xz-5.0.1/doc/man/pdf-letter/xzmore-letter.pdf differ Files old/xz-5.0.0/po/cs.gmo and new/xz-5.0.1/po/cs.gmo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/po/cs.po new/xz-5.0.1/po/cs.po --- old/xz-5.0.0/po/cs.po 2010-10-23 16:48:30.000000000 +0200 +++ new/xz-5.0.1/po/cs.po 2011-01-28 19:26:54.000000000 +0100 @@ -6,8 +6,8 @@ msgstr "" "Project-Id-Version: xz-utils\n" "Report-Msgid-Bugs-To: [email protected]\n" -"POT-Creation-Date: 2010-10-23 17:48+0300\n" -"PO-Revision-Date: 2010-09-17 18:54+0200\n" +"POT-Creation-Date: 2011-01-28 20:01+0200\n" +"PO-Revision-Date: 2010-12-03 11:32+0100\n" "Last-Translator: Marek Černocký <[email protected]>\n" "Language-Team: Czech <[email protected]>\n" "Language: cs\n" @@ -90,7 +90,7 @@ msgid "%s: File seems to have been moved, not removing" msgstr "%s: Vypadá to, že soubor byl přesunut, proto nebude odstraněn" -#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#: src/xz/file_io.c:144 src/xz/file_io.c:589 #, c-format msgid "%s: Cannot remove: %s" msgstr "%s: Nelze odstranit: %s" @@ -120,57 +120,57 @@ msgid "%s: Is a directory, skipping" msgstr "%s: Jedná se o složku, vynechává se" -#: src/xz/file_io.c:462 +#: src/xz/file_io.c:461 #, c-format msgid "%s: Not a regular file, skipping" msgstr "%s: Nejedná se o běžný soubor, vynechává se" -#: src/xz/file_io.c:479 +#: src/xz/file_io.c:478 #, c-format msgid "%s: File has setuid or setgid bit set, skipping" msgstr "%s: Soubor má nastavený bit setuid nebo setgid, vynechává se" -#: src/xz/file_io.c:486 +#: src/xz/file_io.c:485 #, c-format msgid "%s: File has sticky bit set, skipping" msgstr "%s: Soubor má nastavený bit sticky, vynechává se" -#: src/xz/file_io.c:493 +#: src/xz/file_io.c:492 #, c-format msgid "%s: Input file has more than one hard link, skipping" msgstr "%s: Vstupní soubor má více než jeden pevný odkaz, vynechává se" -#: src/xz/file_io.c:714 +#: src/xz/file_io.c:713 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" msgstr "Chyba při obnovení příznaku O_APPEND na standardní výstup: %s" -#: src/xz/file_io.c:726 +#: src/xz/file_io.c:725 #, c-format msgid "%s: Closing the file failed: %s" msgstr "%s: Selhalo zavření souboru: %s" -#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#: src/xz/file_io.c:761 src/xz/file_io.c:945 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření záložního souboru: %s" +msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření souboru řídké matice: %s" -#: src/xz/file_io.c:821 +#: src/xz/file_io.c:820 #, c-format msgid "%s: Read error: %s" msgstr "%s: Chyba čtení: %s" -#: src/xz/file_io.c:844 +#: src/xz/file_io.c:843 #, c-format msgid "%s: Error seeking the file: %s" msgstr "%s: Chyba při posunu v rámci souboru: %s" -#: src/xz/file_io.c:854 +#: src/xz/file_io.c:853 #, c-format msgid "%s: Unexpected end of file" msgstr "%s: Neočekávaný konec souboru" -#: src/xz/file_io.c:904 +#: src/xz/file_io.c:903 #, c-format msgid "%s: Write error: %s" msgstr "%s: Chyba zápisu: %s" @@ -517,7 +517,7 @@ " filenames must be terminated with the newline character\n" " --files0[=FILE] like --files but use the null character as terminator" msgstr "" -" --no-sparse nevytvářet při dekomprimaci záložní soubory\n" +" --no-sparse nevytvářet při dekomprimaci soubory řídkých matic\n" " -S, --suffix=.PRIP použít u komprimovaných souborů příponu „.PRIP“\n" " --files[=SOUBOR] číst názvy souborů, které se mají zpracovat, ze SOUBORu;\n" " pokud není SOUBOR zadán, čte se ze standardního vstupu;\n" @@ -761,22 +761,22 @@ msgid "The selected match finder requires at least nice=%<PRIu32>" msgstr "Vybraný vyhledávač shod vyžaduje minimálně nice=%<PRIu32>" -#: src/xz/suffix.c:79 src/xz/suffix.c:164 +#: src/xz/suffix.c:104 src/xz/suffix.c:189 #, c-format msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" msgstr "%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do standardního výstupu" -#: src/xz/suffix.c:99 +#: src/xz/suffix.c:124 #, c-format msgid "%s: Filename has an unknown suffix, skipping" msgstr "%s: Název souboru má neznámou příponu, vynechává se" -#: src/xz/suffix.c:154 +#: src/xz/suffix.c:179 #, c-format msgid "%s: File already has `%s' suffix, skipping" msgstr "%s: Soubor již má příponu „%s“, vynechává se" -#: src/xz/suffix.c:205 +#: src/xz/suffix.c:230 #, c-format msgid "%s: Invalid filename suffix" msgstr "%s: Neplatná přípona názvu souboru" Files old/xz-5.0.0/po/de.gmo and new/xz-5.0.1/po/de.gmo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/po/de.po new/xz-5.0.1/po/de.po --- old/xz-5.0.0/po/de.po 2010-10-23 16:48:30.000000000 +0200 +++ new/xz-5.0.1/po/de.po 2011-01-28 19:26:54.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: XZ Utils 4.999.9beta\n" "Report-Msgid-Bugs-To: [email protected]\n" -"POT-Creation-Date: 2010-10-23 17:48+0300\n" +"POT-Creation-Date: 2011-01-28 20:01+0200\n" "PO-Revision-Date: 2010-09-07 20:27+0200\n" "Last-Translator: <[email protected]>\n" "Language-Team: German\n" @@ -88,7 +88,7 @@ msgid "%s: File seems to have been moved, not removing" msgstr "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht" -#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#: src/xz/file_io.c:144 src/xz/file_io.c:589 #, c-format msgid "%s: Cannot remove: %s" msgstr "%s: Kann nicht löschen: %s" @@ -118,57 +118,57 @@ msgid "%s: Is a directory, skipping" msgstr "%s: Überspringe Verzeichnis" -#: src/xz/file_io.c:462 +#: src/xz/file_io.c:461 #, c-format msgid "%s: Not a regular file, skipping" msgstr "%s: Keine reguläre Datei, überspringe" -#: src/xz/file_io.c:479 +#: src/xz/file_io.c:478 #, c-format msgid "%s: File has setuid or setgid bit set, skipping" msgstr "%s: Datei hat das setuid oder setgid Bit gesetzt, überspringe" -#: src/xz/file_io.c:486 +#: src/xz/file_io.c:485 #, c-format msgid "%s: File has sticky bit set, skipping" msgstr "%s: Datei hat sticky Bit gesetzt, überspringe" -#: src/xz/file_io.c:493 +#: src/xz/file_io.c:492 #, c-format msgid "%s: Input file has more than one hard link, skipping" msgstr "%s: Eingabedatei hat mehr als einen hard link, überspringe" -#: src/xz/file_io.c:714 +#: src/xz/file_io.c:713 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" msgstr "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s" -#: src/xz/file_io.c:726 +#: src/xz/file_io.c:725 #, c-format msgid "%s: Closing the file failed: %s" msgstr "%s: Fehler beim Schießen der Datei: %s" -#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#: src/xz/file_io.c:761 src/xz/file_io.c:945 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" msgstr "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s" -#: src/xz/file_io.c:821 +#: src/xz/file_io.c:820 #, c-format msgid "%s: Read error: %s" msgstr "%s: Lesefehler: %s" -#: src/xz/file_io.c:844 +#: src/xz/file_io.c:843 #, c-format msgid "%s: Error seeking the file: %s" msgstr "%s: Fehler beim Lesen der Dateinamen: %s" -#: src/xz/file_io.c:854 +#: src/xz/file_io.c:853 #, c-format msgid "%s: Unexpected end of file" msgstr "%s: Unerwartetes Ende der Datei" -#: src/xz/file_io.c:904 +#: src/xz/file_io.c:903 #, c-format msgid "%s: Write error: %s" msgstr "%s: Schreibfehler: %s" @@ -776,22 +776,22 @@ msgid "The selected match finder requires at least nice=%<PRIu32>" msgstr "Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht mindestens nice=%<PRIu32>" -#: src/xz/suffix.c:79 src/xz/suffix.c:164 +#: src/xz/suffix.c:104 src/xz/suffix.c:189 #, c-format msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" msgstr "%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout geschrieben wird" -#: src/xz/suffix.c:99 +#: src/xz/suffix.c:124 #, c-format msgid "%s: Filename has an unknown suffix, skipping" msgstr "%s: Dateiname hat unbekannte Endung, überspringe" -#: src/xz/suffix.c:154 +#: src/xz/suffix.c:179 #, c-format msgid "%s: File already has `%s' suffix, skipping" msgstr "%s: Datei hat bereits `%s' Endung, überspringe" -#: src/xz/suffix.c:205 +#: src/xz/suffix.c:230 #, c-format msgid "%s: Invalid filename suffix" msgstr "%s: Ungültige Datei Endung" Files old/xz-5.0.0/po/it.gmo and new/xz-5.0.1/po/it.gmo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/po/it.po new/xz-5.0.1/po/it.po --- old/xz-5.0.0/po/it.po 2010-10-23 16:48:30.000000000 +0200 +++ new/xz-5.0.1/po/it.po 2011-01-28 19:26:54.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xz-utils\n" "Report-Msgid-Bugs-To: [email protected]\n" -"POT-Creation-Date: 2010-10-23 17:48+0300\n" +"POT-Creation-Date: 2011-01-28 20:01+0200\n" "PO-Revision-Date: 2010-09-16 21:32+0200\n" "Last-Translator: Milo Casagrande <[email protected]>\n" "Language-Team: Italian <[email protected]>\n" @@ -91,7 +91,7 @@ msgid "%s: File seems to have been moved, not removing" msgstr "%s: sembra che il file sia stato spostato, non viene rimosso" -#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#: src/xz/file_io.c:144 src/xz/file_io.c:589 #, c-format msgid "%s: Cannot remove: %s" msgstr "%s: impossibile rimuovere: %s" @@ -121,57 +121,57 @@ msgid "%s: Is a directory, skipping" msgstr "%s: è una directory, viene saltata" -#: src/xz/file_io.c:462 +#: src/xz/file_io.c:461 #, c-format msgid "%s: Not a regular file, skipping" msgstr "%s: non è un file regolare, viene saltato" -#: src/xz/file_io.c:479 +#: src/xz/file_io.c:478 #, c-format msgid "%s: File has setuid or setgid bit set, skipping" msgstr "%s: il file ha il bit setuid o setgid impostato, viene saltato" -#: src/xz/file_io.c:486 +#: src/xz/file_io.c:485 #, c-format msgid "%s: File has sticky bit set, skipping" msgstr "%s: il file ha lo sticky bit impostato, viene saltato" -#: src/xz/file_io.c:493 +#: src/xz/file_io.c:492 #, c-format msgid "%s: Input file has more than one hard link, skipping" msgstr "%s: il file di input ha più di un collegamento fisico, viene saltato" -#: src/xz/file_io.c:714 +#: src/xz/file_io.c:713 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" msgstr "Errore nel ripristinare la flag O_APPEND sullo standard output: %s" -#: src/xz/file_io.c:726 +#: src/xz/file_io.c:725 #, c-format msgid "%s: Closing the file failed: %s" msgstr "%s: chiusura del file non riuscita: %s" -#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#: src/xz/file_io.c:761 src/xz/file_io.c:945 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" msgstr "%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s" -#: src/xz/file_io.c:821 +#: src/xz/file_io.c:820 #, c-format msgid "%s: Read error: %s" msgstr "%s: errore di lettura: %s" -#: src/xz/file_io.c:844 +#: src/xz/file_io.c:843 #, c-format msgid "%s: Error seeking the file: %s" msgstr "%s: errore nel cercare il file: %s" -#: src/xz/file_io.c:854 +#: src/xz/file_io.c:853 #, c-format msgid "%s: Unexpected end of file" msgstr "%s: fine del file inaspettata" -#: src/xz/file_io.c:904 +#: src/xz/file_io.c:903 #, c-format msgid "%s: Write error: %s" msgstr "%s: errore di scrittura: %s" @@ -773,22 +773,22 @@ msgid "The selected match finder requires at least nice=%<PRIu32>" msgstr "Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%<PRIu32>" -#: src/xz/suffix.c:79 src/xz/suffix.c:164 +#: src/xz/suffix.c:104 src/xz/suffix.c:189 #, c-format msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" msgstr "%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva sullo stdout" -#: src/xz/suffix.c:99 +#: src/xz/suffix.c:124 #, c-format msgid "%s: Filename has an unknown suffix, skipping" msgstr "%s: il nome del file ha un suffisso sconosciuto, viene saltato" -#: src/xz/suffix.c:154 +#: src/xz/suffix.c:179 #, c-format msgid "%s: File already has `%s' suffix, skipping" msgstr "%s: il file ha già il suffisso \"%s\", viene saltato" -#: src/xz/suffix.c:205 +#: src/xz/suffix.c:230 #, c-format msgid "%s: Invalid filename suffix" msgstr "%s: suffisso del nome del file non valido" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/po/xz.pot new/xz-5.0.1/po/xz.pot --- old/xz-5.0.0/po/xz.pot 2010-10-23 16:48:30.000000000 +0200 +++ new/xz-5.0.1/po/xz.pot 2011-01-28 19:01:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: [email protected]\n" -"POT-Creation-Date: 2010-10-23 17:48+0300\n" +"POT-Creation-Date: 2011-01-28 20:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <[email protected]>\n" @@ -89,7 +89,7 @@ msgid "%s: File seems to have been moved, not removing" msgstr "" -#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#: src/xz/file_io.c:144 src/xz/file_io.c:589 #, c-format msgid "%s: Cannot remove: %s" msgstr "" @@ -119,57 +119,57 @@ msgid "%s: Is a directory, skipping" msgstr "" -#: src/xz/file_io.c:462 +#: src/xz/file_io.c:461 #, c-format msgid "%s: Not a regular file, skipping" msgstr "" -#: src/xz/file_io.c:479 +#: src/xz/file_io.c:478 #, c-format msgid "%s: File has setuid or setgid bit set, skipping" msgstr "" -#: src/xz/file_io.c:486 +#: src/xz/file_io.c:485 #, c-format msgid "%s: File has sticky bit set, skipping" msgstr "" -#: src/xz/file_io.c:493 +#: src/xz/file_io.c:492 #, c-format msgid "%s: Input file has more than one hard link, skipping" msgstr "" -#: src/xz/file_io.c:714 +#: src/xz/file_io.c:713 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" msgstr "" -#: src/xz/file_io.c:726 +#: src/xz/file_io.c:725 #, c-format msgid "%s: Closing the file failed: %s" msgstr "" -#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#: src/xz/file_io.c:761 src/xz/file_io.c:945 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" msgstr "" -#: src/xz/file_io.c:821 +#: src/xz/file_io.c:820 #, c-format msgid "%s: Read error: %s" msgstr "" -#: src/xz/file_io.c:844 +#: src/xz/file_io.c:843 #, c-format msgid "%s: Error seeking the file: %s" msgstr "" -#: src/xz/file_io.c:854 +#: src/xz/file_io.c:853 #, c-format msgid "%s: Unexpected end of file" msgstr "" -#: src/xz/file_io.c:904 +#: src/xz/file_io.c:903 #, c-format msgid "%s: Write error: %s" msgstr "" @@ -676,22 +676,22 @@ msgid "The selected match finder requires at least nice=%<PRIu32>" msgstr "" -#: src/xz/suffix.c:79 src/xz/suffix.c:164 +#: src/xz/suffix.c:104 src/xz/suffix.c:189 #, c-format msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" msgstr "" -#: src/xz/suffix.c:99 +#: src/xz/suffix.c:124 #, c-format msgid "%s: Filename has an unknown suffix, skipping" msgstr "" -#: src/xz/suffix.c:154 +#: src/xz/suffix.c:179 #, c-format msgid "%s: File already has `%s' suffix, skipping" msgstr "" -#: src/xz/suffix.c:205 +#: src/xz/suffix.c:230 #, c-format msgid "%s: Invalid filename suffix" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/common/sysdefs.h new/xz-5.0.1/src/common/sysdefs.h --- old/xz-5.0.0/src/common/sysdefs.h 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/common/sysdefs.h 2011-01-28 18:56:44.000000000 +0100 @@ -65,6 +65,9 @@ #ifndef PRIu32 # define PRIu32 "u" #endif +#ifndef PRIx32 +# define PRIx32 "x" +#endif #ifndef PRIX32 # define PRIX32 "X" #endif @@ -76,6 +79,9 @@ # ifndef PRIu64 # define PRIu64 "llu" # endif +# ifndef PRIx64 +# define PRIx64 "llx" +# endif # ifndef PRIX64 # define PRIX64 "llX" # endif @@ -86,6 +92,9 @@ # ifndef PRIu64 # define PRIu64 "lu" # endif +# ifndef PRIx64 +# define PRIx64 "lx" +# endif # ifndef PRIX64 # define PRIX64 "lX" # endif @@ -171,4 +180,10 @@ # define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0])) #endif +#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4 +# define lzma_attr_alloc_size(x) __attribute__((__alloc_size__(x))) +#else +# define lzma_attr_alloc_size(x) +#endif + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/liblzma/Makefile.am new/xz-5.0.1/src/liblzma/Makefile.am --- old/xz-5.0.0/src/liblzma/Makefile.am 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/liblzma/Makefile.am 2011-01-28 18:59:48.000000000 +0100 @@ -24,7 +24,7 @@ -I$(top_srcdir)/src/liblzma/simple \ -I$(top_srcdir)/src/common \ -DTUKLIB_SYMBOL_PREFIX=lzma_ -liblzma_la_LDFLAGS = -no-undefined -version-info 5:0:0 +liblzma_la_LDFLAGS = -no-undefined -version-info 5:1:0 include $(srcdir)/common/Makefile.inc include $(srcdir)/check/Makefile.inc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/liblzma/Makefile.in new/xz-5.0.1/src/liblzma/Makefile.in --- old/xz-5.0.0/src/liblzma/Makefile.in 2010-10-23 16:48:15.000000000 +0200 +++ new/xz-5.0.1/src/liblzma/Makefile.in 2011-01-28 19:00:14.000000000 +0100 @@ -609,7 +609,7 @@ -I$(top_srcdir)/src/common \ -DTUKLIB_SYMBOL_PREFIX=lzma_ -liblzma_la_LDFLAGS = -no-undefined -version-info 5:0:0 \ +liblzma_la_LDFLAGS = -no-undefined -version-info 5:1:0 \ $(am__append_38) pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = liblzma.pc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/liblzma/api/lzma/lzma.h new/xz-5.0.1/src/liblzma/api/lzma/lzma.h --- old/xz-5.0.0/src/liblzma/api/lzma/lzma.h 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/liblzma/api/lzma/lzma.h 2011-01-28 18:56:44.000000000 +0100 @@ -412,6 +412,9 @@ * * This function is available only if LZMA1 or LZMA2 encoder has been enabled * when building liblzma. + * + * \return On success, false is returned. If the preset is not + * supported, true is returned. */ extern LZMA_API(lzma_bool) lzma_lzma_preset( lzma_options_lzma *options, uint32_t preset) lzma_nothrow; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/liblzma/api/lzma/version.h new/xz-5.0.1/src/liblzma/api/lzma/version.h --- old/xz-5.0.0/src/liblzma/api/lzma/version.h 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/liblzma/api/lzma/version.h 2011-01-28 18:58:20.000000000 +0100 @@ -22,7 +22,7 @@ */ #define LZMA_VERSION_MAJOR 5 #define LZMA_VERSION_MINOR 0 -#define LZMA_VERSION_PATCH 0 +#define LZMA_VERSION_PATCH 1 #define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE #ifndef LZMA_VERSION_COMMIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/liblzma/common/common.h new/xz-5.0.1/src/liblzma/common/common.h --- old/xz-5.0.0/src/liblzma/common/common.h 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/liblzma/common/common.h 2011-01-28 18:56:44.000000000 +0100 @@ -205,7 +205,7 @@ /// Allocates memory extern void *lzma_alloc(size_t size, lzma_allocator *allocator) - lzma_attribute((malloc)); + lzma_attribute((malloc)) lzma_attr_alloc_size(1); /// Frees memory extern void lzma_free(void *ptr, lzma_allocator *allocator); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/scripts/xzdiff.in new/xz-5.0.1/src/scripts/xzdiff.in --- old/xz-5.0.0/src/scripts/xzdiff.in 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/scripts/xzdiff.in 2011-01-28 18:56:44.000000000 +0100 @@ -74,9 +74,9 @@ *[-.]xz | *[-.]lzma | *.t[lx]z) ;; *[-.]bz2 | *.tbz | *.tbz2) - xz1=$bzip2;; + xz1=bzip2;; *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) - xz1=$gzip;; + xz1=gzip;; *) echo >&2 "$0: $1: Unknown compressed file name suffix" exit 2;; @@ -95,12 +95,12 @@ ) elif test $# -eq 2; then case $1 in - *[-.]bz2 | *.tbz | *.tbz2) xz1=$bzip2;; - *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=$gzip;; + *[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;; + *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;; esac case $2 in - *[-.]bz2 | *.tbz | *.tbz2) xz2=$bzip2;; - *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=$gzip;; + *[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;; + *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;; esac case $1 in *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/xz/file_io.c new/xz-5.0.1/src/xz/file_io.c --- old/xz-5.0.0/src/xz/file_io.c 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/xz/file_io.c 2011-01-28 18:56:44.000000000 +0100 @@ -457,15 +457,14 @@ goto error; } - if (reg_files_only) { - if (!S_ISREG(pair->src_st.st_mode)) { - message_warning(_("%s: Not a regular file, " - "skipping"), pair->src_name); - goto error; - } + if (reg_files_only && !S_ISREG(pair->src_st.st_mode)) { + message_warning(_("%s: Not a regular file, skipping"), + pair->src_name); + goto error; + } - // These are meaningless on Windows. #ifndef TUKLIB_DOSLIKE + if (reg_files_only && !opt_force) { if (pair->src_st.st_mode & (S_ISUID | S_ISGID)) { // gzip rejects setuid and setgid files even // when --force was used. bzip2 doesn't check @@ -495,8 +494,8 @@ "skipping"), pair->src_name); goto error; } -#endif } +#endif return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/xz/suffix.c new/xz-5.0.1/src/xz/suffix.c --- old/xz-5.0.0/src/xz/suffix.c 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/xz/suffix.c 2011-01-28 18:56:44.000000000 +0100 @@ -27,6 +27,30 @@ }; +/// \brief Test if the char is a directory separator +static bool +is_dir_sep(char c) +{ +#ifdef TUKLIB_DOSLIKE + return c == '/' || c == '\\' || c == ':'; +#else + return c == '/'; +#endif +} + + +/// \brief Test if the string contains a directory separator +static bool +has_dir_sep(const char *str) +{ +#ifdef TUKLIB_DOSLIKE + return strpbrk(str, "/\\:") != NULL; +#else + return strchr(str, '/') != NULL; +#endif +} + + /// \brief Checks if src_name has given compressed_suffix /// /// \param suffix Filename suffix to look for @@ -44,7 +68,8 @@ // The filename must have at least one character in addition to // the suffix. src_name may contain path to the filename, so we // need to check for directory separator too. - if (src_len <= suffix_len || src_name[src_len - suffix_len - 1] == '/') + if (src_len <= suffix_len + || is_dir_sep(src_name[src_len - suffix_len - 1])) return 0; if (strcmp(suffix, src_name + src_len - suffix_len) == 0) @@ -199,9 +224,9 @@ extern void suffix_set(const char *suffix) { - // Empty suffix and suffixes having a slash are rejected. Such - // suffixes would break things later. - if (suffix[0] == '\0' || strchr(suffix, '/') != NULL) + // Empty suffix and suffixes having a directory separator are + // rejected. Such suffixes would break things later. + if (suffix[0] == '\0' || has_dir_sep(suffix)) message_fatal(_("%s: Invalid filename suffix"), optarg); // Replace the old custom_suffix (if any) with the new suffix. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/src/xz/util.h new/xz-5.0.1/src/xz/util.h --- old/xz-5.0.0/src/xz/util.h 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/src/xz/util.h 2011-01-28 18:56:44.000000000 +0100 @@ -19,11 +19,12 @@ /// \brief Safe realloc() that never returns NULL -extern void *xrealloc(void *ptr, size_t size); +extern void *xrealloc(void *ptr, size_t size) + lzma_attribute((malloc)) lzma_attr_alloc_size(2); /// \brief Safe strdup() that never returns NULL -extern char *xstrdup(const char *src); +extern char *xstrdup(const char *src) lzma_attribute((malloc)); /// \brief Fancy version of strtoull() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xz-5.0.0/windows/build.bash new/xz-5.0.1/windows/build.bash --- old/xz-5.0.0/windows/build.bash 2010-10-23 16:47:33.000000000 +0200 +++ new/xz-5.0.1/windows/build.bash 2011-01-28 18:56:44.000000000 +0100 @@ -161,7 +161,7 @@ # Copy the headers, the .def file, and the docs. # They are the same for all architectures and builds. -mkdir -pv pkg/{include/lzma,doc/manuals} +mkdir -pv pkg/{include/lzma,doc/{manuals,examples}} txtcp pkg/include "" src/liblzma/api/lzma.h txtcp pkg/include/lzma "" src/liblzma/api/lzma/*.h txtcp pkg/doc "" src/liblzma/liblzma.def @@ -169,6 +169,7 @@ txtcp pkg/doc "" doc/*.txt windows/README-Windows.txt txtcp pkg/doc/manuals "" doc/man/txt/{xz,xzdec,lzmainfo}.txt cp -v doc/man/pdf-*/{xz,xzdec,lzmainfo}-*.pdf pkg/doc/manuals +txtcp pkg/doc/examples "" doc/examples/* if [ -f windows/COPYING-Windows.txt ]; then txtcp pkg/doc "" windows/COPYING-Windows.txt ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
