Репозитории ALT
S: | 5.2.5-alt3.1 |
5.1: | 4.999.9-alt1 |
4.1: | 4.999.9-alt0.M41.1 |
4.0: | 4.999.9-alt0.M41.1 |
Группа :: Архивирование/Сжатие
Пакет: xz
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: xz-5.2.5-alt3.1.patch
Скачать
Скачать
.gear/rules | 2 +
.../tags/bbbb31e81c36282b43d14d3ecf28d070ea66a895 | 23 +++
.gear/tags/list | 1 +
Makefile.am | 2 +-
README | 2 +-
doc/examples/01_compress_easy.c | 2 +-
src/liblzma/api/lzma/base.h | 2 +-
src/liblzma/check/crc32_x86.S | 2 +-
src/liblzma/common/index.c | 2 +-
src/xz/hardware.c | 6 +
src/xz/xz.1 | 4 +-
xz.spec | 219 +++++++++++++++++++++
12 files changed, 259 insertions(+), 8 deletions(-)
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..69aaefc
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,2 @@
+tar: v@version@:. name=@name@-@version@
+diff: v@version@:. . name=@name@-@version@-@release@.patch
diff --git a/.gear/tags/bbbb31e81c36282b43d14d3ecf28d070ea66a895 b/.gear/tags/bbbb31e81c36282b43d14d3ecf28d070ea66a895
new file mode 100644
index 0000000..470bf45
--- /dev/null
+++ b/.gear/tags/bbbb31e81c36282b43d14d3ecf28d070ea66a895
@@ -0,0 +1,23 @@
+object 2327a461e1afce862c22269b80d3517801103c1b
+type commit
+tag v5.2.5
+tagger Lasse Collin <lasse.collin@tukaani.org> 1584471335 +0200
+
+XZ Utils 5.2.5
+-----BEGIN PGP SIGNATURE-----
+
+iQJNBAABCgA3FiEENpDCQM5RtGcNMK0cOO51fWkYRiAFAl5xHS4ZHGxhc3NlLmNv
+bGxpbkB0dWthYW5pLm9yZwAKCRA47nV9aRhGIJ9bD/94kkm5aRdQGgIOr1Lk1/I9
+YkQFCRig/pm5bTTr0VpAqlogjnrwYi8BdhCpBC19cWuAre3T6wtMPIMFpEEoXBG9
+LOO3f6KkNeFQPVFOiNEJBCRNvszYYm3N33Z9U37nDEgqMODgkzaffeHDGxfOlcYv
+ogZX+B9okFem9UF4/bwI+ae3JvikSvDJnBZyN1rBsZOTW2ygBt+K7KJG3ltcarO8
+LOIZYelqmg4qvk+ANOHN697JfBV+oCQpakjFLp/g7fqvnGAZWL3kw9KsvWpihfxL
+DcujGUSwEj6AVvOaxXfS3vwlHrjl3ixioQuJjp+XOTonB4aE5qeFsJiHEhMd08Sc
+a8X0NjCpYpdROg3laox93zqpIpwiMCA9qPqEvcA5z9XhQWyjCTWBz0Mpf8vrFxJG
+7wJlbv0xIsxkovE4Q6+8xAhFVqrjhiBCZkRRz6oy2+A9t2sh0nNys0nUuk7M5/5T
+lhKflYN2UNkiq4mwQpYY59PKcpwvnzspo6xbqi2I6cK8/e1NVgHs3IiFalbRvk+U
+8bFBxplh9ZAZSJUrNK7yhuJLzYSfBFzPBwFt4oIrLAu7xjEBzcr3+RpeiVB8gHZi
+aTyhaooTGwgQw34zzgaQ7k0Ueh4bEkS+iCJN5nSugBFGXEF1XMZNmVUeDByo1bQZ
+UvPVU6O8bMnV86iv+R7eeA==
+=bgjN
+-----END PGP SIGNATURE-----
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..bc6c158
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1 @@
+bbbb31e81c36282b43d14d3ecf28d070ea66a895 v5.2.5
diff --git a/Makefile.am b/Makefile.am
index 3a63499..e5b1265 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -64,7 +64,7 @@ EXTRA_DIST = \
ACLOCAL_AMFLAGS = -I m4
-# List of man pages to conver to PDF and plain text in the dist-hook target.
+# List of man pages to convert to PDF and plain text in the dist-hook target.
manfiles = \
src/xz/xz.1 \
src/xzdec/xzdec.1 \
diff --git a/README b/README
index 3f0c38d..110d242 100644
--- a/README
+++ b/README
@@ -204,7 +204,7 @@ XZ Utils
Several strings will change in a future version of xz so if you
wish to start a new translation, look at the code in the xz git
- repostiory instead of a 5.2.x release.
+ repository instead of a 5.2.x release.
5. Other implementations of the .xz format
diff --git a/doc/examples/01_compress_easy.c b/doc/examples/01_compress_easy.c
index e6dd2b0..ec32a37 100644
--- a/doc/examples/01_compress_easy.c
+++ b/doc/examples/01_compress_easy.c
@@ -173,7 +173,7 @@ compress(lzma_stream *strm, FILE *infile, FILE *outfile)
lzma_ret ret = lzma_code(strm, action);
// If the output buffer is full or if the compression finished
- // successfully, write the data from the output bufffer to
+ // successfully, write the data from the output buffer to
// the output file.
if (strm->avail_out == 0 || ret == LZMA_STREAM_END) {
// When lzma_code() has returned LZMA_STREAM_END,
diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h
index a6005ac..7daeddb 100644
--- a/src/liblzma/api/lzma/base.h
+++ b/src/liblzma/api/lzma/base.h
@@ -447,7 +447,7 @@ typedef struct lzma_internal_s lzma_internal;
*
* The lzma_stream structure is used for
* - passing pointers to input and output buffers to liblzma;
- * - defining custom memory hander functions; and
+ * - defining custom memory handler functions; and
* - holding a pointer to coder-specific internal data structures.
*
* Typical usage:
diff --git a/src/liblzma/check/crc32_x86.S b/src/liblzma/check/crc32_x86.S
index 67f68a4..632c7b3 100644
--- a/src/liblzma/check/crc32_x86.S
+++ b/src/liblzma/check/crc32_x86.S
@@ -195,7 +195,7 @@ LZMA_CRC32:
/*
* Read the next four bytes, for which the CRC is calculated
- * on the next interation of the loop.
+ * on the next iteration of the loop.
*/
movl 12(%esi), %ecx
diff --git a/src/liblzma/common/index.c b/src/liblzma/common/index.c
index a41e8f3..86c1054 100644
--- a/src/liblzma/common/index.c
+++ b/src/liblzma/common/index.c
@@ -1226,7 +1226,7 @@ lzma_index_iter_locate(lzma_index_iter *iter, lzma_vli target)
// Use binary search to locate the exact Record. It is the first
// Record whose uncompressed_sum is greater than target.
- // This is because we want the rightmost Record that fullfills the
+ // This is because we want the rightmost Record that fulfills the
// search criterion. It is possible that there are empty Blocks;
// we don't want to return them.
size_t left = 0;
diff --git a/src/xz/hardware.c b/src/xz/hardware.c
index e746cf9..da3ed3f 100644
--- a/src/xz/hardware.c
+++ b/src/xz/hardware.c
@@ -91,7 +91,13 @@ hardware_memlimit_set(uint64_t new_memlimit,
// Use a value less than SIZE_MAX so that there's some room
// for the xz program and so on. Don't use 4000 MiB because
// it could look like someone mixed up base-2 and base-10.
+#ifdef __mips__
+ // For MIPS32, due to architectural pecularities,
+ // the limit is even lower.
+ const uint64_t limit_max = UINT64_C(2000) << 20;
+#else
const uint64_t limit_max = UINT64_C(4020) << 20;
+#endif
// UINT64_MAX is a special case for the string "max" so
// that has to be handled specially.
diff --git a/src/xz/xz.1 b/src/xz/xz.1
index 540d136..f81278f 100644
--- a/src/xz/xz.1
+++ b/src/xz/xz.1
@@ -5,7 +5,7 @@
.\" This file has been put into the public domain.
.\" You can do whatever you want with this file.
.\"
-.TH XZ 1 "2020-02-01" "Tukaani" "XZ Utils"
+.TH XZ 1 "2020-03-23" "Tukaani" "XZ Utils"
.
.SH NAME
xz, unxz, xzcat, lzma, unlzma, lzcat \- Compress or decompress .xz and .lzma files
@@ -1294,7 +1294,7 @@ The default means four-byte alignment
.RI (2^ pb =2^2=4),
which is often a good choice when there's no better guess.
.IP ""
-When the aligment is known, setting
+When the alignment is known, setting
.I pb
accordingly may reduce the file size a little.
E.g. with text files having one-byte
diff --git a/xz.spec b/xz.spec
new file mode 100644
index 0000000..c040172
--- /dev/null
+++ b/xz.spec
@@ -0,0 +1,219 @@
+Name: xz
+Version: 5.2.5
+Release: alt3.1
+
+Summary: LZMA/XZ compression programs
+# We don't package scripts to grep, diff, and view compressed files here
+# because they are already packaged in gzip-utils.
+# see COPYING
+License: ALT-Public-Domain
+Group: Archiving/Compression
+URL: http://tukaani.org/xz/
+Source: %name-%version.tar
+Patch: %name-%version-%release.patch
+
+Requires: liblzma = %version-%release
+
+# Last lzma-utils version was 4.32.7
+Provides: lzma-utils = 4.32.9
+Obsoletes: lzma-utils < 4.32.9
+
+# Automatically added by buildreq on Fri Jul 20 2012
+# optimized out: xz
+BuildRequires: glibc-devel-static
+
+%description
+This package provides a set of gzip-style tools for working with
+files compressed with the Lempel-Ziv/Markov-chain compression method.
+It supports two formats: .xz and the older .lzma format.
+
+%package -n liblzma
+Summary: LZMA/XZ compression library
+Group: System/Libraries
+
+%package -n liblzma-devel
+Summary: API headers and other development files related to liblzma
+Group: Development/C
+Requires: liblzma = %version-%release
+Conflicts: lzmalib-devel
+
+%package -n liblzma-devel-static
+Summary: Static liblzma compression library
+Group: Development/C
+Requires: liblzma-devel = %version-%release
+
+%description -n liblzma
+This package provides data compression library for working with
+files compressed with the Lempel-Ziv/Markov-chain compression method.
+It supports two formats: .xz and the older .lzma format.
+
+%description -n liblzma-devel
+This package contains the API headers, development library, and
+other development files related to liblzma
+
+%description -n liblzma-devel-static
+This package contains static liblzma compression library.
+
+%prep
+%setup -q
+%patch -p1
+%ifarch e2kv5 e2kv6
+# 15%% faster lzma decompression (idea by Alexander Troosh from MCST)
+sed -i -E 's/rc_bound = (.*) [*] (.*);/rc_bound = __builtin_e2k_pmullw(\1,\2);/' \
+ src/liblzma/rangecoder/range_decoder.h
+%endif
+
+%build
+%{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects}
+%ifarch %ix86
+# liblzma uses crc*_x86.S asm code on i686
+%add_optflags -Wa,--generate-missing-build-notes=yes
+%endif
+
+%autoreconf
+%define docdir %_docdir/%name-%version
+%configure --enable-dynamic --disable-scripts --docdir=%docdir
+cflags=$(sed -n 's/^CFLAGS = //p' src/liblzma/Makefile)
+%make_build -C src/liblzma CFLAGS="${cflags:?} %{!?_enable_debug:-O3}" liblzma_la-lzma_decoder.lo
+%make_build
+
+%def_enable profile
+%if_enabled profile
+# 5-10%% faster on x86_64
+# 15%% faster compression and 40%% faster decompression on e2k
+tar cf .tar */*/*.o */*.[ch] */*/*.[ch] */*/*/*.[ch] */*/*/*/*.[ch] \
+ */*.txt tests/files */*/.libs/*.{o,so*} --sort=name --mtime=@2718281828
+stat --printf=".tar size: %%s\n" .tar
+md5sum .tar
+rm src/liblzma/{*.lo,liblzma.la}
+%make_build -C src/liblzma CFLAGS="$cflags -fprofile-generate %{!?_enable_debug:-O3}" liblzma_la-lzma_decoder.lo
+%make_build -C src/liblzma CFLAGS="$cflags -fprofile-generate"
+./libtool --tag=CC --mode=link gcc %optflags -fprofile-generate -static src/xz/xz-*.o src/liblzma/liblzma.la -o xz.static
+# ./xz.static collect profiles from src/liblzma/*.o
+# ./src/xz/xz collect profiles from src/liblzma/.libs/*.o compiled with -fPIC -DPIC
+# doesn't matter which to use for LCC 1.25 on E2K
+for i in '0 -C none' '2 -C crc32' '6 --arm --lzma2 -C crc64' '6 --x86 --lzma2=lc=4 -C sha256' '7e --format=lzma'; do
+ # .tmp needed to workaround LCC bug with corrupted profile written by several apps concurrently
+ ./src/xz/xz -$i <.tar >.tmp ; ./xz.static -d <.tmp >/dev/null
+ ./xz.static -$i <.tar >.tmp ; ./src/xz/xz -d <.tmp >/dev/null
+done
+rm src/liblzma/{*.lo,liblzma.la} .tmp xz.static
+%ifarch %e2k
+eprof_helper
+# lcc needs special paths handling, MCST is not willing to fix this
+%define profile_file '=../../eprof.sum'
+%else
+%define profile_file %nil
+%endif
+%make_build -C src/liblzma CFLAGS="$cflags -fprofile-use%profile_file %{!?_enable_debug:-O3}" liblzma_la-lzma_decoder.lo
+%make_build -C src/liblzma CFLAGS="$cflags -fprofile-use%profile_file"
+%make_build
+readelf -n src/liblzma/.libs/*.so
+%endif
+
+%install
+%makeinstall_std
+
+# Relocate shared library from %_libdir/ to /lib/.
+mkdir -p %buildroot/%_lib
+for f in %buildroot%_libdir/liblzma.so; do
+ t=$(readlink "$f")
+ ln -snf ../../%_lib/"$t" "$f"
+done
+mv %buildroot%_libdir/*.so.* %buildroot/%_lib/
+
+# GPL'ed files are not packaged.
+rm %buildroot%docdir/COPYING.GPL*
+
+%find_lang xz
+
+%check
+make -k check
+
+%files -f xz.lang
+%_bindir/*lz*
+%_bindir/*xz*
+%_man1dir/*lz*.1*
+%_man1dir/*xz*.1*
+
+%files -n liblzma
+/%_lib/liblzma.so.*
+%docdir
+%exclude %docdir/examples*
+%exclude %docdir/*-file-format.txt
+
+%files -n liblzma-devel
+%_includedir/lzma.h
+%_includedir/lzma/
+%_libdir/liblzma.so
+%_pkgconfigdir/liblzma.pc
+%dir %docdir
+%docdir/examples*
+%docdir/*-file-format.txt
+
+%files -n liblzma-devel-static
+%_libdir/liblzma.a
+
+%changelog
+* Sat Dec 04 2021 Ilya Kurdyukov <ilyakurdyukov@altlinux.org> 5.2.5-alt3.1
+- 15%% faster lzma decompression on e2k-v5 and e2k-v6.
+- Extra comments on profiling, style editing, .tar size print.
+
+* Thu Aug 26 2021 Dmitry V. Levin <ldv@altlinux.org> 5.2.5-alt3
+- Reduced maximum possible memory limit on MIPS32 (by Ivan A. Melnikov).
+- Added -ffat-lto-objects to %%optflags_lto.
+
+* Thu Apr 15 2021 Andrew Savchenko <bircoph@altlinux.org> 5.2.5-alt2
+- Fix profiling on e2k by adapting to lcc peculiarities.
+
+* Mon Mar 23 2020 Dmitry V. Levin <ldv@altlinux.org> 5.2.5-alt1
+- 5.2.4 -> v5.2.5-2-gcf1ec551.
+
+* Sat Dec 29 2018 Dmitry V. Levin <ldv@altlinux.org> 5.2.4-alt1
+- 5.2.3 -> 5.2.4.
+
+* Sat Jan 27 2018 Alexey Tourbin <at@altlinux.ru> 5.2.3-alt2
+- Fixed liblzma.so non-reproducible build due to -fprofile-* options.
+
+* Sat Jul 15 2017 Vladimir D. Seleznev <vseleznv@altlinux.org> 5.2.3-alt1
+- 5.0.7 -> 5.2.3.
+
+* Sat Nov 15 2014 Dmitry V. Levin <ldv@altlinux.org> 5.0.7-alt1
+- 5.0.5 -> 5.0.7.
+
+* Sun Sep 29 2013 Dmitry V. Levin <ldv@altlinux.org> 5.0.5-alt1
+- Updated to 5.0.5 (closes: #29406).
+
+* Fri Jul 20 2012 Alexey Tourbin <at@altlinux.ru> 5.0.4-alt1
+- 5.0.3 -> 5.0.4
+
+* Mon May 30 2011 Alexey Tourbin <at@altlinux.ru> 5.0.3-alt1
+- Updated to v5.0.3.
+
+* Mon Feb 07 2011 Alexey Tourbin <at@altlinux.ru> 5.0.1-alt1
+- Updated to v5.0.1.
+
+* Wed Jan 05 2011 Alexey Tourbin <at@altlinux.ru> 5.0.0-alt2
+- Compiled lzma_decoder.c with -O3; compiled liblzma with -fprofile-*
+ options (3%% speed-up).
+
+* Wed Nov 17 2010 Dmitry V. Levin <ldv@altlinux.org> 5.0.0-alt1
+- Updated to v5.0.0-3-g3e56470.
+- Updated summaries and descriptions.
+- Enabled test suite.
+
+* Sun Oct 10 2010 Alexey Tourbin <at@altlinux.ru> 4.999.9-alt1.1
+- rebuilt for soname set-versions
+
+* Thu Sep 24 2009 Alexey Tourbin <at@altlinux.ru> 4.999.9-alt1
+- updated to v4.999.9beta-22-g49cfc8d
+- the code is now under Public Domain
+- new package xz replaces older lzma-utils
+- packaged liblzma shared library
+
+* Sun May 10 2009 Alexey Tourbin <at@altlinux.ru> 4.999.3alpha-alt2
+- rebuilt with gcc-4.4
+
+* Sat May 24 2008 Alexey Tourbin <at@altlinux.ru> 4.999.3alpha-alt1
+- initial revision, based on v4.999.3alpha-6-g11de5d5
+- only static liblzma.a library is packaged, due to alpha status