Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37770372
en ru br
Репозитории 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
www.altlinux.org/Changes

Группа :: Архивирование/Сжатие
Пакет: 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
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin