* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2020-03-10 16:05 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2020-03-10 16:05 UTC (permalink / raw
To: gentoo-commits
commit: 8b9c888890857e04acd24efb8339c634dfd99b92
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 10 16:04:16 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 10 16:05:28 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b9c8888
app-arch/libarchive: Remove vulnerable version
Bug: https://bugs.gentoo.org/710358
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 1 -
.../libarchive-3.4.0-without_zlib_build_fix.patch | 160 ---------------------
app-arch/libarchive/libarchive-3.4.0.ebuild | 135 -----------------
3 files changed, 296 deletions(-)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index b9aec85d512..dc4b48a9a98 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,2 +1 @@
-DIST libarchive-3.4.0.tar.gz 6908093 BLAKE2B 6da5798ceabb542d8b877b3d672f6e6431ed7340ec0160a5d8cef28591b516b55d426002379eddc632a478bfd2f034a358f8552f55c9f066fd7f5c31c218b462 SHA512 2f9e2a551a6bcab56fb1a030b5d656df7299a3d151465aa02f0420d344d2fada49dee4755b3abff9095f62519e14dc9af8afa1695ecc6d5fdb4f0b28e6ede852
DIST libarchive-3.4.2.tar.gz 6979481 BLAKE2B eea90e4751ae487cd1a9b0eecd16598d1b81ffff665ae97a160e3858c8ffe60b82003f081af644f3f32260d0e1d3f3077240125e8279bf8111a79d93c68ac25d SHA512 a8922e54f2e985889d205ee8a0594c1d30dad950438b602a5be6bb1b274a735ad20a48ed484efd458013a0810d26ee4ae76e3a6c820823243d24ea0593ed7021
diff --git a/app-arch/libarchive/files/libarchive-3.4.0-without_zlib_build_fix.patch b/app-arch/libarchive/files/libarchive-3.4.0-without_zlib_build_fix.patch
deleted file mode 100644
index e0a3167390f..00000000000
--- a/app-arch/libarchive/files/libarchive-3.4.0-without_zlib_build_fix.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From 64333cef68d7bcc67bef6ecf177fbeaa549b9139 Mon Sep 17 00:00:00 2001
-From: Martin Matuska <martin@matuska.org>
-Date: Sat, 29 Jun 2019 00:20:58 +0200
-Subject: [PATCH] Unbreak compilation without zlib
-
-Fixes #1214
----
- libarchive/archive_read_support_filter_gzip.c | 54 ++++++++++++-------
- libarchive/test/test_read_format_raw.c | 4 ++
- 2 files changed, 39 insertions(+), 19 deletions(-)
-
-diff --git a/libarchive/archive_read_support_filter_gzip.c b/libarchive/archive_read_support_filter_gzip.c
-index 458b6f729..9fa9e2b0d 100644
---- a/libarchive/archive_read_support_filter_gzip.c
-+++ b/libarchive/archive_read_support_filter_gzip.c
-@@ -131,12 +131,20 @@ archive_read_support_filter_gzip(struct archive *_a)
- */
- static ssize_t
- peek_at_header(struct archive_read_filter *filter, int *pbits,
-- struct private_data *state)
-+#ifdef HAVE_ZLIB_H
-+ struct private_data *state
-+#else
-+ void *state
-+#endif
-+ )
- {
- const unsigned char *p;
- ssize_t avail, len;
- int bits = 0;
- int header_flags;
-+#ifndef HAVE_ZLIB_H
-+ (void)state; /* UNUSED */
-+#endif
-
- /* Start by looking at the first ten bytes of the header, which
- * is all fixed layout. */
-@@ -153,8 +161,10 @@ peek_at_header(struct archive_read_filter *filter, int *pbits,
- bits += 3;
- header_flags = p[3];
- /* Bytes 4-7 are mod time in little endian. */
-+#ifdef HAVE_ZLIB_H
- if (state)
- state->mtime = archive_le32dec(p + 4);
-+#endif
- /* Byte 8 is deflate flags. */
- /* XXXX TODO: return deflate flags back to consume_header for use
- in initializing the decompressor. */
-@@ -171,7 +181,9 @@ peek_at_header(struct archive_read_filter *filter, int *pbits,
-
- /* Null-terminated optional filename. */
- if (header_flags & 8) {
-+#ifdef HAVE_ZLIB_H
- ssize_t file_start = len;
-+#endif
- do {
- ++len;
- if (avail < len)
-@@ -181,11 +193,13 @@ peek_at_header(struct archive_read_filter *filter, int *pbits,
- return (0);
- } while (p[len - 1] != 0);
-
-+#ifdef HAVE_ZLIB_H
- if (state) {
- /* Reset the name in case of repeat header reads. */
- free(state->name);
- state->name = strdup((const char *)&p[file_start]);
- }
-+#endif
- }
-
- /* Null-terminated optional comment. */
-@@ -236,24 +250,6 @@ gzip_bidder_bid(struct archive_read_filter_bidder *self,
- return (0);
- }
-
--static int
--gzip_read_header(struct archive_read_filter *self, struct archive_entry *entry)
--{
-- struct private_data *state;
--
-- state = (struct private_data *)self->data;
--
-- /* A mtime of 0 is considered invalid/missing. */
-- if (state->mtime != 0)
-- archive_entry_set_mtime(entry, state->mtime, 0);
--
-- /* If the name is available, extract it. */
-- if (state->name)
-- archive_entry_set_pathname(entry, state->name);
--
-- return (ARCHIVE_OK);
--}
--
- #ifndef HAVE_ZLIB_H
-
- /*
-@@ -277,6 +273,24 @@ gzip_bidder_init(struct archive_read_filter *self)
-
- #else
-
-+static int
-+gzip_read_header(struct archive_read_filter *self, struct archive_entry *entry)
-+{
-+ struct private_data *state;
-+
-+ state = (struct private_data *)self->data;
-+
-+ /* A mtime of 0 is considered invalid/missing. */
-+ if (state->mtime != 0)
-+ archive_entry_set_mtime(entry, state->mtime, 0);
-+
-+ /* If the name is available, extract it. */
-+ if (state->name)
-+ archive_entry_set_pathname(entry, state->name);
-+
-+ return (ARCHIVE_OK);
-+}
-+
- /*
- * Initialize the filter object.
- */
-@@ -306,7 +320,9 @@ gzip_bidder_init(struct archive_read_filter *self)
- self->read = gzip_filter_read;
- self->skip = NULL; /* not supported */
- self->close = gzip_filter_close;
-+#ifdef HAVE_ZLIB_H
- self->read_header = gzip_read_header;
-+#endif
-
- state->in_stream = 0; /* We're not actually within a stream yet. */
-
-diff --git a/libarchive/test/test_read_format_raw.c b/libarchive/test/test_read_format_raw.c
-index 0dac8bfba..3961723b4 100644
---- a/libarchive/test/test_read_format_raw.c
-+++ b/libarchive/test/test_read_format_raw.c
-@@ -36,7 +36,9 @@ DEFINE_TEST(test_read_format_raw)
- const char *reffile1 = "test_read_format_raw.data";
- const char *reffile2 = "test_read_format_raw.data.Z";
- const char *reffile3 = "test_read_format_raw.bufr";
-+#ifdef HAVE_ZLIB_H
- const char *reffile4 = "test_read_format_raw.data.gz";
-+#endif
-
- /* First, try pulling data out of an uninterpretable file. */
- extract_reference_file(reffile1);
-@@ -119,6 +121,7 @@ DEFINE_TEST(test_read_format_raw)
- assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
- assertEqualInt(ARCHIVE_OK, archive_read_free(a));
-
-+#ifdef HAVE_ZLIB_H
- /* Fourth, try with gzip which has metadata. */
- extract_reference_file(reffile4);
- assert((a = archive_read_new()) != NULL);
-@@ -144,4 +147,5 @@ DEFINE_TEST(test_read_format_raw)
- assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
- assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
- assertEqualInt(ARCHIVE_OK, archive_read_free(a));
-+#endif
- }
diff --git a/app-arch/libarchive/libarchive-3.4.0.ebuild b/app-arch/libarchive/libarchive-3.4.0.ebuild
deleted file mode 100644
index 1c960f7b332..00000000000
--- a/app-arch/libarchive/libarchive-3.4.0.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="https://www.libarchive.org/"
-SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs +threads xattr +zlib zstd"
-
-RDEPEND="
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.3-libressl.patch
- "${FILESDIR}"/${P}-without_zlib_build_fix.patch #693202
-)
-
-# Various test problems, starting with the fact that sandbox
-# explodes on long paths. https://bugs.gentoo.org/598806
-RESTRICT="test"
-
-src_prepare() {
- default
- elibtoolize # is required for Solaris sol2_ld linker fix
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- $(use_with zlib)
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-multilib_src_test() {
- # Replace the default src_test so that it builds tests in parallel
- multilib_is_native_abi && emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
-
- # Create symlinks for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- # Exclude cat for the time being #589876
- for bin in cpio tar; do
- dosym bsd${bin} /usr/bin/${bin}
- echo '.so bsd${bin}.1' > "${T}"/${bin}.1
- doman "${T}"/${bin}.1
- done
- fi
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-multilib_src_install_all() {
- cd "${S}" || die
- einstalldocs
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2024-10-31 5:00 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2024-10-31 5:00 UTC (permalink / raw
To: gentoo-commits
commit: d80b9df4ca55b030764fdb23bef2615113061250
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 31 04:36:28 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 31 04:36:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d80b9df4
app-arch/libarchive: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 4 -
.../files/libarchive-3.7.4-INT_MAX.patch | 26 --
.../files/libarchive-3.7.5-attr-dep.patch | 28 --
.../files/libarchive-3.7.5-iso9660-times.patch | 334 ---------------------
app-arch/libarchive/libarchive-3.7.4.ebuild | 178 -----------
app-arch/libarchive/libarchive-3.7.5.ebuild | 177 -----------
6 files changed, 747 deletions(-)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index ed8dfca86ac7..8c37e1e0ba0b 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,7 +1,3 @@
-DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686
-DIST libarchive-3.7.4.tar.xz.asc 659 BLAKE2B 77e705194f6e9a9f97da0ac43c9b3157e1a8a490d26da34079e4ef3f2bcf98d6f6e95567e110287fab0ec26d3fc27e5bbeff7569c9ca138de2caf47af737c6d0 SHA512 82caa18a78661ea717ce93cdcb0806eed48450c20fb4d45cb4c33001f2d4d0fb5a791552acbb24ad8c41772e1d0b66c76c9cb86946bc862109721a0c986f5331
-DIST libarchive-3.7.5.tar.xz 5437940 BLAKE2B e1cf8490b2db64e912bd181391310653b4e3524e74f35557e1ddb8c5eb53dcde307da945d393921acf7549ef0d4a6bf228d8f42ab4d795d06dd2248196a11c85 SHA512 b9cfb0a147bf0f77cca9e2bdea173f47a78dcba5df1d97a8e0e7b14a15039ac6d5467e325423b2a05741848f73ca7ab4fece922153f24f934f9370cb521d20df
-DIST libarchive-3.7.5.tar.xz.asc 659 BLAKE2B 7310b8d7e3f07b8c75910ff3355ffda653402ca2d6db9cdf7d669b9a4ac5f3fb4c4c4482e85184fd68a23c96bce587a95b56efb88ae971399e130e533bd0969a SHA512 7494518b61a58a9aa1e991a2cf6b16340e34d7aa2c25a3c531799785e165541781d1a915437260bc536fe8267140cc69abb2670e8c0576e975a5a2b7ecf8e20d
DIST libarchive-3.7.6.tar.xz 5458552 BLAKE2B 3251dc4d59867d1c9b43e78ac7735c27670e819a1aba4f4a76372b8509e2427ff24e379f6102a4cc3c92b965d182c8939bb6df4c82d4d1141cdd1db13bf039a2 SHA512 3ca90d665772418b9ac444044511989e81e785a13db3c101851390ba7c2ba0793c799cedb9df990e900ab78c98207f70ecee7e21829578555dde99424950ae2a
DIST libarchive-3.7.6.tar.xz.asc 659 BLAKE2B 9f6a621dd4aa20f06dff71225723e60a6cee1f2a54ff07d2d19670153105f2f75d6439320f49eb46c28a4416828af7dc4f0d827e46ec9aeb5b703f06eb329d77 SHA512 2840b13f910f47d34daeed9680beb4b3cdde2d7de26ab8453756261c51fb7a39b727454f370b0ee60f8e1646c65544331a22558cbe8faf79a201b1d1346b37c1
DIST libarchive-3.7.7.tar.xz 5480580 BLAKE2B e118c693f7a78e86ab868fc6c2c77beba539cf5c7d5999e270cdceb225e9f85c68c938ec6ce3a33f75b2a44a6f7debe2c280d2573c1bcf05806300e8dce1a4f0 SHA512 2524f71f4c2ebc254a1927279be3394e820d0a0c6dec7ef835a862aa08c35756edaa4208bcdc710dd092872b59c200b555b78670372e2830822e278ff1ec4e4a
diff --git a/app-arch/libarchive/files/libarchive-3.7.4-INT_MAX.patch b/app-arch/libarchive/files/libarchive-3.7.4-INT_MAX.patch
deleted file mode 100644
index 150216b3344d..000000000000
--- a/app-arch/libarchive/files/libarchive-3.7.4-INT_MAX.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6ff1cd1e487ddf545337b88da3f1f5ca69a2f958 Mon Sep 17 00:00:00 2001
-From: Tim Kientzle <kientzle@acm.org>
-Date: Mon, 6 May 2024 20:46:26 -0700
-Subject: [PATCH] Define INT_MAX via `#include <limits.h>` (#2170)
-
-#2110 added usages of INT_MAX here without adding the necessary header.
-
-Resolves #2162
----
- tar/bsdtar.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tar/bsdtar.c b/tar/bsdtar.c
-index 42baab286..f0e71afd1 100644
---- a/tar/bsdtar.c
-+++ b/tar/bsdtar.c
-@@ -43,6 +43,9 @@
- #ifdef HAVE_LANGINFO_H
- #include <langinfo.h>
- #endif
-+#ifdef HAVE_LIMITS_H
-+#include <limits.h>
-+#endif
- #ifdef HAVE_LOCALE_H
- #include <locale.h>
- #endif
diff --git a/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch b/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch
deleted file mode 100644
index 3b26c51ea9d9..000000000000
--- a/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 44b8e3b676746352cb3e08f76e58510c78209091 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 18 Sep 2024 14:10:58 +0200
-Subject: [PATCH] tar/write.c: Support `sys/xattr.h`
-
-Synchronize the last use of `attr/xattr.h` to support using
-`sys/xattr.h` instead. The former header is deprecated on GNU/Linux,
-and this replacement makes it possible to build libarchive without
-the `attr` package.
----
- tar/write.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tar/write.c b/tar/write.c
-index 1d1139f4c..43cd70233 100644
---- a/tar/write.c
-+++ b/tar/write.c
-@@ -32,7 +32,9 @@
- #ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
- #endif
--#ifdef HAVE_ATTR_XATTR_H
-+#if HAVE_SYS_XATTR_H
-+#include <sys/xattr.h>
-+#elif HAVE_ATTR_XATTR_H
- #include <attr/xattr.h>
- #endif
- #ifdef HAVE_ERRNO_H
diff --git a/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch b/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch
deleted file mode 100644
index 2c5bcc277364..000000000000
--- a/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-From b65d12b344a5d81c6060b1c1794afa8858fe234b Mon Sep 17 00:00:00 2001
-From: Tim Kientzle <kientzle@acm.org>
-Date: Sat, 14 Sep 2024 21:09:34 -0700
-Subject: [PATCH] Be more cautious about parsing ISO-9660 timestamps
-
-Some ISO images don't have valid timestamps for the root directory
-entry. Parsing such timestamps can generate nonsensical results,
-which in one case showed up as an unexpected overflow on a 32-bit system.
-
-Add some validation logic that can check whether a 7-byte or 17-byte
-timestamp is reasonable-looking, and use this to ignore invalid
-timestamps in various locations. This also requires us to be a little
-more careful about tracking which timestamps are actually known.
-
-Resolves issue #2329
----
- .../archive_read_support_format_iso9660.c | 186 ++++++++++++++++--
- libarchive/test/test_read_format_iso_Z.c | 12 +-
- 2 files changed, 177 insertions(+), 21 deletions(-)
-
-diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
-index 056beb5ff..951afb603 100644
---- a/libarchive/archive_read_support_format_iso9660.c
-+++ b/libarchive/archive_read_support_format_iso9660.c
-@@ -273,7 +273,7 @@ struct file_info {
- char re; /* Having RRIP "RE" extension. */
- char re_descendant;
- uint64_t cl_offset; /* Having RRIP "CL" extension. */
-- int birthtime_is_set;
-+ int time_is_set; /* Bitmask indicating which times are known */
- time_t birthtime; /* File created time. */
- time_t mtime; /* File last modified time. */
- time_t atime; /* File last accessed time. */
-@@ -306,6 +306,11 @@ struct file_info {
- } rede_files;
- };
-
-+#define BIRTHTIME_IS_SET 1
-+#define MTIME_IS_SET 2
-+#define ATIME_IS_SET 4
-+#define CTIME_IS_SET 8
-+
- struct heap_queue {
- struct file_info **files;
- int allocated;
-@@ -394,7 +399,9 @@ static void dump_isodirrec(FILE *, const unsigned char *isodirrec);
- #endif
- static time_t time_from_tm(struct tm *);
- static time_t isodate17(const unsigned char *);
-+static int isodate17_valid(const unsigned char *);
- static time_t isodate7(const unsigned char *);
-+static int isodate7_valid(const unsigned char *);
- static int isBootRecord(struct iso9660 *, const unsigned char *);
- static int isVolumePartition(struct iso9660 *, const unsigned char *);
- static int isVDSetTerminator(struct iso9660 *, const unsigned char *);
-@@ -1351,13 +1358,22 @@ archive_read_format_iso9660_read_header(struct archive_read *a,
- archive_entry_set_uid(entry, file->uid);
- archive_entry_set_gid(entry, file->gid);
- archive_entry_set_nlink(entry, file->nlinks);
-- if (file->birthtime_is_set)
-+ if ((file->time_is_set & BIRTHTIME_IS_SET))
- archive_entry_set_birthtime(entry, file->birthtime, 0);
- else
- archive_entry_unset_birthtime(entry);
-- archive_entry_set_mtime(entry, file->mtime, 0);
-- archive_entry_set_ctime(entry, file->ctime, 0);
-- archive_entry_set_atime(entry, file->atime, 0);
-+ if ((file->time_is_set & MTIME_IS_SET))
-+ archive_entry_set_mtime(entry, file->mtime, 0);
-+ else
-+ archive_entry_unset_mtime(entry);
-+ if ((file->time_is_set & CTIME_IS_SET))
-+ archive_entry_set_ctime(entry, file->ctime, 0);
-+ else
-+ archive_entry_unset_ctime(entry);
-+ if ((file->time_is_set & ATIME_IS_SET))
-+ archive_entry_set_atime(entry, file->atime, 0);
-+ else
-+ archive_entry_unset_atime(entry);
- /* N.B.: Rock Ridge supports 64-bit device numbers. */
- archive_entry_set_rdev(entry, (dev_t)file->rdev);
- archive_entry_set_size(entry, iso9660->entry_bytes_remaining);
-@@ -1898,8 +1914,11 @@ parse_file_info(struct archive_read *a, struct file_info *parent,
- file->parent = parent;
- file->offset = offset;
- file->size = fsize;
-- file->mtime = isodate7(isodirrec + DR_date_offset);
-- file->ctime = file->atime = file->mtime;
-+ if (isodate7_valid(isodirrec + DR_date_offset)) {
-+ file->time_is_set |= MTIME_IS_SET | ATIME_IS_SET | CTIME_IS_SET;
-+ file->mtime = isodate7(isodirrec + DR_date_offset);
-+ file->ctime = file->atime = file->mtime;
-+ }
- file->rede_files.first = NULL;
- file->rede_files.last = &(file->rede_files.first);
-
-@@ -2573,51 +2592,73 @@ parse_rockridge_TF1(struct file_info *file, const unsigned char *data,
- /* Use 17-byte time format. */
- if ((flag & 1) && data_length >= 17) {
- /* Create time. */
-- file->birthtime_is_set = 1;
-- file->birthtime = isodate17(data);
-+ if (isodate17_valid(data)) {
-+ file->time_is_set |= BIRTHTIME_IS_SET;
-+ file->birthtime = isodate17(data);
-+ }
- data += 17;
- data_length -= 17;
- }
- if ((flag & 2) && data_length >= 17) {
- /* Modify time. */
-- file->mtime = isodate17(data);
-+ if (isodate17_valid(data)) {
-+ file->time_is_set |= MTIME_IS_SET;
-+ file->mtime = isodate17(data);
-+ }
- data += 17;
- data_length -= 17;
- }
- if ((flag & 4) && data_length >= 17) {
- /* Access time. */
-- file->atime = isodate17(data);
-+ if (isodate17_valid(data)) {
-+ file->time_is_set |= ATIME_IS_SET;
-+ file->atime = isodate17(data);
-+ }
- data += 17;
- data_length -= 17;
- }
- if ((flag & 8) && data_length >= 17) {
- /* Attribute change time. */
-- file->ctime = isodate17(data);
-+ if (isodate17_valid(data)) {
-+ file->time_is_set |= CTIME_IS_SET;
-+ file->ctime = isodate17(data);
-+ }
- }
- } else {
- /* Use 7-byte time format. */
- if ((flag & 1) && data_length >= 7) {
- /* Create time. */
-- file->birthtime_is_set = 1;
-- file->birthtime = isodate7(data);
-+ if (isodate7_valid(data)) {
-+ file->time_is_set |= BIRTHTIME_IS_SET;
-+ file->birthtime = isodate7(data);
-+ }
- data += 7;
- data_length -= 7;
- }
- if ((flag & 2) && data_length >= 7) {
- /* Modify time. */
-- file->mtime = isodate7(data);
-+ if (isodate7_valid(data)) {
-+ file->time_is_set |= MTIME_IS_SET;
-+ file->mtime = isodate7(data);
-+ }
- data += 7;
- data_length -= 7;
- }
- if ((flag & 4) && data_length >= 7) {
- /* Access time. */
-- file->atime = isodate7(data);
-+ if (isodate7_valid(data)) {
-+ file->time_is_set |= ATIME_IS_SET;
-+ file->atime = isodate7(data);
-+ }
- data += 7;
- data_length -= 7;
- }
- if ((flag & 8) && data_length >= 7) {
- /* Attribute change time. */
-- file->ctime = isodate7(data);
-+ if (isodate7_valid(data)) {
-+ file->time_is_set |= CTIME_IS_SET;
-+ file->ctime = isodate7(data);
-+ }
- }
- }
- }
-@@ -3226,6 +3267,56 @@ isValid733Integer(const unsigned char *p)
- && p[3] == p[4]);
- }
-
-+static int
-+isodate7_valid(const unsigned char *v)
-+{
-+ int year = v[0];
-+ int month = v[1];
-+ int day = v[2];
-+ int hour = v[3];
-+ int minute = v[4];
-+ int second = v[5];
-+ int gmt_off = (signed char)v[6];
-+
-+ /* ECMA-119 9.1.5 "If all seven values are zero, it shall mean
-+ * that the date is unspecified" */
-+ if (year == 0
-+ && month == 0
-+ && day == 0
-+ && hour == 0
-+ && minute == 0
-+ && second == 0
-+ && gmt_off == 0)
-+ return 0;
-+ /*
-+ * Sanity-test each individual field
-+ */
-+ /* Year can have any value */
-+ /* Month must be 1-12 */
-+ if (month < 1 || month > 12)
-+ return 0;
-+ /* Day must be 1-31 */
-+ if (day < 1 || day > 31)
-+ return 0;
-+ /* Hour must be 0-23 */
-+ if (hour > 23)
-+ return 0;
-+ /* Minute must be 0-59 */
-+ if (minute > 59)
-+ return 0;
-+ /* second must be 0-59 according to ECMA-119 9.1.5 */
-+ /* BUT: we should probably allow for the time being in UTC, which
-+ allows up to 61 seconds in a minute in certain cases */
-+ if (second > 61)
-+ return 0;
-+ /* Offset from GMT must be -48 to +52 */
-+ if (gmt_off < -48 || gmt_off > +52)
-+ return 0;
-+
-+ /* All tests pass, this is OK */
-+ return 1;
-+}
-+
- static time_t
- isodate7(const unsigned char *v)
- {
-@@ -3252,6 +3343,67 @@ isodate7(const unsigned char *v)
- return (t);
- }
-
-+static int
-+isodate17_valid(const unsigned char *v)
-+{
-+ /* First 16 bytes are all ASCII digits */
-+ for (int i = 0; i < 16; i++) {
-+ if (v[i] < '0' || v[i] > '9')
-+ return 0;
-+ }
-+
-+ int year = (v[0] - '0') * 1000 + (v[1] - '0') * 100
-+ + (v[2] - '0') * 10 + (v[3] - '0');
-+ int month = (v[4] - '0') * 10 + (v[5] - '0');
-+ int day = (v[6] - '0') * 10 + (v[7] - '0');
-+ int hour = (v[8] - '0') * 10 + (v[9] - '0');
-+ int minute = (v[10] - '0') * 10 + (v[11] - '0');
-+ int second = (v[12] - '0') * 10 + (v[13] - '0');
-+ int hundredths = (v[14] - '0') * 10 + (v[15] - '0');
-+ int gmt_off = (signed char)v[16];
-+
-+ if (year == 0 && month == 0 && day == 0
-+ && hour == 0 && minute == 0 && second == 0
-+ && hundredths == 0 && gmt_off == 0)
-+ return 0;
-+ /*
-+ * Sanity-test each individual field
-+ */
-+
-+ /* Year must be 1900-2300 */
-+ /* (Not specified in ECMA-119, but these seem
-+ like reasonable limits. */
-+ if (year < 1900 || year > 2300)
-+ return 0;
-+ /* Month must be 1-12 */
-+ if (month < 1 || month > 12)
-+ return 0;
-+ /* Day must be 1-31 */
-+ if (day < 1 || day > 31)
-+ return 0;
-+ /* Hour must be 0-23 */
-+ if (hour > 23)
-+ return 0;
-+ /* Minute must be 0-59 */
-+ if (minute > 59)
-+ return 0;
-+ /* second must be 0-59 according to ECMA-119 9.1.5 */
-+ /* BUT: we should probably allow for the time being in UTC, which
-+ allows up to 61 seconds in a minute in certain cases */
-+ if (second > 61)
-+ return 0;
-+ /* Hundredths must be 0-99 */
-+ if (hundredths > 99)
-+ return 0;
-+ /* Offset from GMT must be -48 to +52 */
-+ if (gmt_off < -48 || gmt_off > +52)
-+ return 0;
-+
-+ /* All tests pass, this is OK */
-+ return 1;
-+
-+}
-+
- static time_t
- isodate17(const unsigned char *v)
- {
-diff --git a/libarchive/test/test_read_format_iso_Z.c b/libarchive/test/test_read_format_iso_Z.c
-index d07bc1bc8..716552fa3 100644
---- a/libarchive/test/test_read_format_iso_Z.c
-+++ b/libarchive/test/test_read_format_iso_Z.c
-@@ -93,16 +93,20 @@ test_small(const char *name)
- assertEqualIntA(a, ARCHIVE_OK,
- archive_read_next_header(a, &ae));
- assertEqualString(".", archive_entry_pathname(ae));
-- assertEqualIntA(a, 3443989665, archive_entry_atime(ae));
-- assertEqualIntA(a, 0, archive_entry_birthtime(ae));
-- assertEqualIntA(a, 3443989665, archive_entry_ctime(ae));
-+ assertEqualInt(0, archive_entry_atime_is_set(ae));
-+ assertEqualInt(0, archive_entry_atime(ae));
-+ assertEqualInt(0, archive_entry_birthtime_is_set(ae));
-+ assertEqualInt(0, archive_entry_birthtime(ae));
-+ assertEqualInt(0, archive_entry_ctime_is_set(ae));
-+ assertEqualInt(0, archive_entry_ctime(ae));
- assertEqualIntA(a, 0, archive_entry_dev(ae));
- assertEqualIntA(a, AE_IFDIR, archive_entry_filetype(ae));
- assertEqualIntA(a, 0, archive_entry_gid(ae));
- assertEqualStringA(a, NULL, archive_entry_gname(ae));
- assertEqualIntA(a, 0, archive_entry_ino(ae));
- assertEqualIntA(a, AE_IFDIR | 0700, archive_entry_mode(ae));
-- assertEqualIntA(a, 3443989665, archive_entry_mtime(ae));
-+ assertEqualInt(0, archive_entry_mtime_is_set(ae));
-+ assertEqualInt(0, archive_entry_mtime(ae));
- assertEqualIntA(a, 4, archive_entry_nlink(ae));
- assertEqualIntA(a, 0700, archive_entry_perm(ae));
- assertEqualIntA(a, 2048, archive_entry_size(ae));
diff --git a/app-arch/libarchive/libarchive-3.7.4.ebuild b/app-arch/libarchive/libarchive-3.7.4.ebuild
deleted file mode 100644
index ef862fa31b65..000000000000
--- a/app-arch/libarchive/libarchive-3.7.4.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit libtool multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="
- https://www.libarchive.org/
- https://github.com/libarchive/libarchive/
-"
-SRC_URI="
- https://www.libarchive.de/downloads/${P}.tar.xz
- verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
-"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="
- acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
- static-libs test xattr +zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- )
- test? (
- app-arch/lrzip
- app-arch/lz4
- app-arch/lzip
- app-arch/lzop
- app-arch/xz-utils
- app-arch/zstd
- lzma? ( app-arch/xz-utils[extra-filters(+)] )
- )
-"
-BDEPEND="
- verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
- elibc_musl? ( sys-libs/queue-standalone )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
-
-# false positives (checks for libc-defined hash functions)
-QA_CONFIG_IMPL_DECL_SKIP=(
- SHA256_Init SHA256_Update SHA256_Final
- SHA384_Init SHA384_Update SHA384_Final
- SHA512_Init SHA512_Update SHA512_Final
-)
-
-PATCHES=(
- # https://github.com/libarchive/libarchive/issues/2069
- # (we can simply update the command since we don't support old lrzip)
- "${FILESDIR}/${PN}-3.7.2-lrzip.patch"
- # https://github.com/libarchive/libarchive/commit/6ff1cd1e487ddf545337b88da3f1f5ca69a2f958
- "${FILESDIR}/${PN}-3.7.4-INT_MAX.patch"
-)
-
-src_prepare() {
- default
-
- # Needed for flags to be respected w/ LTO
- elibtoolize
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- --with-zlib
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- --disable-bsdunzip
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-src_test() {
- mkdir -p "${T}"/bin || die
- # tests fail when lbzip2[symlink] is used in place of ref bunzip2
- ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
- # workaround lrzip broken on 32-bit arches with >= 10 threads
- # https://bugs.gentoo.org/927766
- cat > "${T}"/bin/lrzip <<-EOF || die
- #!/bin/sh
- exec "$(type -P lrzip)" -p1 "\${@}"
- EOF
- chmod +x "${T}/bin/lrzip" || die
- local -x PATH=${T}/bin:${PATH}
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- # sandbox is breaking long symlink behavior
- local -x SANDBOX_ON=0
- local -x LD_PRELOAD=
- # some locales trigger different output that breaks tests
- local -x LC_ALL=C.UTF-8
- emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
- # https://github.com/libarchive/libarchive/issues/1766
- sed -e '/Requires\.private/s:iconv::' \
- -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
-}
diff --git a/app-arch/libarchive/libarchive-3.7.5.ebuild b/app-arch/libarchive/libarchive-3.7.5.ebuild
deleted file mode 100644
index 1b511581671c..000000000000
--- a/app-arch/libarchive/libarchive-3.7.5.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit libtool multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="
- https://www.libarchive.org/
- https://github.com/libarchive/libarchive/
-"
-SRC_URI="
- https://www.libarchive.de/downloads/${P}.tar.xz
- verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
-"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="
- acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
- static-libs test xattr +zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:=[${MULTILIB_USEDEP}]
- acl? ( virtual/acl:=[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2:=[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat:=[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv:=[${MULTILIB_USEDEP}] )
- dev-libs/openssl:=[${MULTILIB_USEDEP}]
- lz4? ( >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.2.5-r1:=[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2:=[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- )
- test? (
- app-arch/lrzip
- app-arch/lz4
- app-arch/lzip
- app-arch/lzop
- app-arch/xz-utils
- app-arch/zstd
- lzma? ( app-arch/xz-utils[extra-filters(+)] )
- )
-"
-BDEPEND="
- verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
- elibc_musl? ( sys-libs/queue-standalone )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
-
-# false positives (checks for libc-defined hash functions)
-QA_CONFIG_IMPL_DECL_SKIP=(
- SHA256_Init SHA256_Update SHA256_Final
- SHA384_Init SHA384_Update SHA384_Final
- SHA512_Init SHA512_Update SHA512_Final
-)
-
-PATCHES=(
- # https://github.com/libarchive/libarchive/issues/2069
- # (we can simply update the command since we don't support old lrzip)
- "${FILESDIR}/${PN}-3.7.2-lrzip.patch"
- # https://github.com/libarchive/libarchive/pull/2330
- "${FILESDIR}/${P}-iso9660-times.patch"
- # https://github.com/libarchive/libarchive/pull/2335
- "${FILESDIR}/${P}-attr-dep.patch"
-)
-
-src_prepare() {
- default
-
- # Needed for flags to be respected w/ LTO
- elibtoolize
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- --with-zlib
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- --disable-bsdunzip
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-src_test() {
- mkdir -p "${T}"/bin || die
- # tests fail when lbzip2[symlink] is used in place of ref bunzip2
- ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
- # workaround lrzip broken on 32-bit arches with >= 10 threads
- # https://bugs.gentoo.org/927766
- cat > "${T}"/bin/lrzip <<-EOF || die
- #!/bin/sh
- exec "$(type -P lrzip)" -p1 "\${@}"
- EOF
- chmod +x "${T}/bin/lrzip" || die
- local -x PATH=${T}/bin:${PATH}
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- # sandbox is breaking long symlink behavior
- local -x SANDBOX_ON=0
- local -x LD_PRELOAD=
- # some locales trigger different output that breaks tests
- local -x LC_ALL=C.UTF-8
- emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
- # https://github.com/libarchive/libarchive/issues/1766
- sed -e '/Requires\.private/s:iconv::' \
- -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2024-09-21 7:41 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2024-09-21 7:41 UTC (permalink / raw
To: gentoo-commits
commit: 2a0cd7fb57680fc1401c711822304dcd3b87cdad
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 05:27:45 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 07:40:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a0cd7fb
app-arch/libarchive: Avoid the unnecessary dep on sys-apps/attr
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../files/libarchive-3.7.5-attr-dep.patch | 28 ++++++++++++++++++++++
app-arch/libarchive/libarchive-3.7.5.ebuild | 4 ++--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch b/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch
new file mode 100644
index 000000000000..3b26c51ea9d9
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.5-attr-dep.patch
@@ -0,0 +1,28 @@
+From 44b8e3b676746352cb3e08f76e58510c78209091 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 18 Sep 2024 14:10:58 +0200
+Subject: [PATCH] tar/write.c: Support `sys/xattr.h`
+
+Synchronize the last use of `attr/xattr.h` to support using
+`sys/xattr.h` instead. The former header is deprecated on GNU/Linux,
+and this replacement makes it possible to build libarchive without
+the `attr` package.
+---
+ tar/write.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tar/write.c b/tar/write.c
+index 1d1139f4c..43cd70233 100644
+--- a/tar/write.c
++++ b/tar/write.c
+@@ -32,7 +32,9 @@
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+-#ifdef HAVE_ATTR_XATTR_H
++#if HAVE_SYS_XATTR_H
++#include <sys/xattr.h>
++#elif HAVE_ATTR_XATTR_H
+ #include <attr/xattr.h>
+ #endif
+ #ifdef HAVE_ERRNO_H
diff --git a/app-arch/libarchive/libarchive-3.7.5.ebuild b/app-arch/libarchive/libarchive-3.7.5.ebuild
index dbe3b684bfbd..4a367180b758 100644
--- a/app-arch/libarchive/libarchive-3.7.5.ebuild
+++ b/app-arch/libarchive/libarchive-3.7.5.ebuild
@@ -38,12 +38,10 @@ RDEPEND="
nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
-# TODO: fix attr/xattr.h includes and remove sys-apps/attr dep
DEPEND="${RDEPEND}
kernel_linux? (
virtual/os-headers
e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
)
test? (
app-arch/lrzip
@@ -75,6 +73,8 @@ PATCHES=(
"${FILESDIR}/${PN}-3.7.2-lrzip.patch"
# https://github.com/libarchive/libarchive/pull/2330
"${FILESDIR}/${P}-iso9660-times.patch"
+ # https://github.com/libarchive/libarchive/pull/2335
+ "${FILESDIR}/${P}-attr-dep.patch"
)
src_prepare() {
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2024-09-18 4:37 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2024-09-18 4:37 UTC (permalink / raw
To: gentoo-commits
commit: e9a3e5777e80fb46ecf952f542b2e3c98d2c12d2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 18 03:56:50 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 18 04:37:00 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9a3e577
app-arch/libarchive: Bump to 3.7.5
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 2 +
.../files/libarchive-3.7.5-iso9660-times.patch | 334 +++++++++++++++++++++
app-arch/libarchive/libarchive-3.7.5.ebuild | 177 +++++++++++
3 files changed, 513 insertions(+)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 0c49596464d7..56e85afbaa09 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,2 +1,4 @@
DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686
DIST libarchive-3.7.4.tar.xz.asc 659 BLAKE2B 77e705194f6e9a9f97da0ac43c9b3157e1a8a490d26da34079e4ef3f2bcf98d6f6e95567e110287fab0ec26d3fc27e5bbeff7569c9ca138de2caf47af737c6d0 SHA512 82caa18a78661ea717ce93cdcb0806eed48450c20fb4d45cb4c33001f2d4d0fb5a791552acbb24ad8c41772e1d0b66c76c9cb86946bc862109721a0c986f5331
+DIST libarchive-3.7.5.tar.xz 5437940 BLAKE2B e1cf8490b2db64e912bd181391310653b4e3524e74f35557e1ddb8c5eb53dcde307da945d393921acf7549ef0d4a6bf228d8f42ab4d795d06dd2248196a11c85 SHA512 b9cfb0a147bf0f77cca9e2bdea173f47a78dcba5df1d97a8e0e7b14a15039ac6d5467e325423b2a05741848f73ca7ab4fece922153f24f934f9370cb521d20df
+DIST libarchive-3.7.5.tar.xz.asc 659 BLAKE2B 7310b8d7e3f07b8c75910ff3355ffda653402ca2d6db9cdf7d669b9a4ac5f3fb4c4c4482e85184fd68a23c96bce587a95b56efb88ae971399e130e533bd0969a SHA512 7494518b61a58a9aa1e991a2cf6b16340e34d7aa2c25a3c531799785e165541781d1a915437260bc536fe8267140cc69abb2670e8c0576e975a5a2b7ecf8e20d
diff --git a/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch b/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch
new file mode 100644
index 000000000000..2c5bcc277364
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.5-iso9660-times.patch
@@ -0,0 +1,334 @@
+From b65d12b344a5d81c6060b1c1794afa8858fe234b Mon Sep 17 00:00:00 2001
+From: Tim Kientzle <kientzle@acm.org>
+Date: Sat, 14 Sep 2024 21:09:34 -0700
+Subject: [PATCH] Be more cautious about parsing ISO-9660 timestamps
+
+Some ISO images don't have valid timestamps for the root directory
+entry. Parsing such timestamps can generate nonsensical results,
+which in one case showed up as an unexpected overflow on a 32-bit system.
+
+Add some validation logic that can check whether a 7-byte or 17-byte
+timestamp is reasonable-looking, and use this to ignore invalid
+timestamps in various locations. This also requires us to be a little
+more careful about tracking which timestamps are actually known.
+
+Resolves issue #2329
+---
+ .../archive_read_support_format_iso9660.c | 186 ++++++++++++++++--
+ libarchive/test/test_read_format_iso_Z.c | 12 +-
+ 2 files changed, 177 insertions(+), 21 deletions(-)
+
+diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
+index 056beb5ff..951afb603 100644
+--- a/libarchive/archive_read_support_format_iso9660.c
++++ b/libarchive/archive_read_support_format_iso9660.c
+@@ -273,7 +273,7 @@ struct file_info {
+ char re; /* Having RRIP "RE" extension. */
+ char re_descendant;
+ uint64_t cl_offset; /* Having RRIP "CL" extension. */
+- int birthtime_is_set;
++ int time_is_set; /* Bitmask indicating which times are known */
+ time_t birthtime; /* File created time. */
+ time_t mtime; /* File last modified time. */
+ time_t atime; /* File last accessed time. */
+@@ -306,6 +306,11 @@ struct file_info {
+ } rede_files;
+ };
+
++#define BIRTHTIME_IS_SET 1
++#define MTIME_IS_SET 2
++#define ATIME_IS_SET 4
++#define CTIME_IS_SET 8
++
+ struct heap_queue {
+ struct file_info **files;
+ int allocated;
+@@ -394,7 +399,9 @@ static void dump_isodirrec(FILE *, const unsigned char *isodirrec);
+ #endif
+ static time_t time_from_tm(struct tm *);
+ static time_t isodate17(const unsigned char *);
++static int isodate17_valid(const unsigned char *);
+ static time_t isodate7(const unsigned char *);
++static int isodate7_valid(const unsigned char *);
+ static int isBootRecord(struct iso9660 *, const unsigned char *);
+ static int isVolumePartition(struct iso9660 *, const unsigned char *);
+ static int isVDSetTerminator(struct iso9660 *, const unsigned char *);
+@@ -1351,13 +1358,22 @@ archive_read_format_iso9660_read_header(struct archive_read *a,
+ archive_entry_set_uid(entry, file->uid);
+ archive_entry_set_gid(entry, file->gid);
+ archive_entry_set_nlink(entry, file->nlinks);
+- if (file->birthtime_is_set)
++ if ((file->time_is_set & BIRTHTIME_IS_SET))
+ archive_entry_set_birthtime(entry, file->birthtime, 0);
+ else
+ archive_entry_unset_birthtime(entry);
+- archive_entry_set_mtime(entry, file->mtime, 0);
+- archive_entry_set_ctime(entry, file->ctime, 0);
+- archive_entry_set_atime(entry, file->atime, 0);
++ if ((file->time_is_set & MTIME_IS_SET))
++ archive_entry_set_mtime(entry, file->mtime, 0);
++ else
++ archive_entry_unset_mtime(entry);
++ if ((file->time_is_set & CTIME_IS_SET))
++ archive_entry_set_ctime(entry, file->ctime, 0);
++ else
++ archive_entry_unset_ctime(entry);
++ if ((file->time_is_set & ATIME_IS_SET))
++ archive_entry_set_atime(entry, file->atime, 0);
++ else
++ archive_entry_unset_atime(entry);
+ /* N.B.: Rock Ridge supports 64-bit device numbers. */
+ archive_entry_set_rdev(entry, (dev_t)file->rdev);
+ archive_entry_set_size(entry, iso9660->entry_bytes_remaining);
+@@ -1898,8 +1914,11 @@ parse_file_info(struct archive_read *a, struct file_info *parent,
+ file->parent = parent;
+ file->offset = offset;
+ file->size = fsize;
+- file->mtime = isodate7(isodirrec + DR_date_offset);
+- file->ctime = file->atime = file->mtime;
++ if (isodate7_valid(isodirrec + DR_date_offset)) {
++ file->time_is_set |= MTIME_IS_SET | ATIME_IS_SET | CTIME_IS_SET;
++ file->mtime = isodate7(isodirrec + DR_date_offset);
++ file->ctime = file->atime = file->mtime;
++ }
+ file->rede_files.first = NULL;
+ file->rede_files.last = &(file->rede_files.first);
+
+@@ -2573,51 +2592,73 @@ parse_rockridge_TF1(struct file_info *file, const unsigned char *data,
+ /* Use 17-byte time format. */
+ if ((flag & 1) && data_length >= 17) {
+ /* Create time. */
+- file->birthtime_is_set = 1;
+- file->birthtime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= BIRTHTIME_IS_SET;
++ file->birthtime = isodate17(data);
++ }
+ data += 17;
+ data_length -= 17;
+ }
+ if ((flag & 2) && data_length >= 17) {
+ /* Modify time. */
+- file->mtime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= MTIME_IS_SET;
++ file->mtime = isodate17(data);
++ }
+ data += 17;
+ data_length -= 17;
+ }
+ if ((flag & 4) && data_length >= 17) {
+ /* Access time. */
+- file->atime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= ATIME_IS_SET;
++ file->atime = isodate17(data);
++ }
+ data += 17;
+ data_length -= 17;
+ }
+ if ((flag & 8) && data_length >= 17) {
+ /* Attribute change time. */
+- file->ctime = isodate17(data);
++ if (isodate17_valid(data)) {
++ file->time_is_set |= CTIME_IS_SET;
++ file->ctime = isodate17(data);
++ }
+ }
+ } else {
+ /* Use 7-byte time format. */
+ if ((flag & 1) && data_length >= 7) {
+ /* Create time. */
+- file->birthtime_is_set = 1;
+- file->birthtime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= BIRTHTIME_IS_SET;
++ file->birthtime = isodate7(data);
++ }
+ data += 7;
+ data_length -= 7;
+ }
+ if ((flag & 2) && data_length >= 7) {
+ /* Modify time. */
+- file->mtime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= MTIME_IS_SET;
++ file->mtime = isodate7(data);
++ }
+ data += 7;
+ data_length -= 7;
+ }
+ if ((flag & 4) && data_length >= 7) {
+ /* Access time. */
+- file->atime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= ATIME_IS_SET;
++ file->atime = isodate7(data);
++ }
+ data += 7;
+ data_length -= 7;
+ }
+ if ((flag & 8) && data_length >= 7) {
+ /* Attribute change time. */
+- file->ctime = isodate7(data);
++ if (isodate7_valid(data)) {
++ file->time_is_set |= CTIME_IS_SET;
++ file->ctime = isodate7(data);
++ }
+ }
+ }
+ }
+@@ -3226,6 +3267,56 @@ isValid733Integer(const unsigned char *p)
+ && p[3] == p[4]);
+ }
+
++static int
++isodate7_valid(const unsigned char *v)
++{
++ int year = v[0];
++ int month = v[1];
++ int day = v[2];
++ int hour = v[3];
++ int minute = v[4];
++ int second = v[5];
++ int gmt_off = (signed char)v[6];
++
++ /* ECMA-119 9.1.5 "If all seven values are zero, it shall mean
++ * that the date is unspecified" */
++ if (year == 0
++ && month == 0
++ && day == 0
++ && hour == 0
++ && minute == 0
++ && second == 0
++ && gmt_off == 0)
++ return 0;
++ /*
++ * Sanity-test each individual field
++ */
++ /* Year can have any value */
++ /* Month must be 1-12 */
++ if (month < 1 || month > 12)
++ return 0;
++ /* Day must be 1-31 */
++ if (day < 1 || day > 31)
++ return 0;
++ /* Hour must be 0-23 */
++ if (hour > 23)
++ return 0;
++ /* Minute must be 0-59 */
++ if (minute > 59)
++ return 0;
++ /* second must be 0-59 according to ECMA-119 9.1.5 */
++ /* BUT: we should probably allow for the time being in UTC, which
++ allows up to 61 seconds in a minute in certain cases */
++ if (second > 61)
++ return 0;
++ /* Offset from GMT must be -48 to +52 */
++ if (gmt_off < -48 || gmt_off > +52)
++ return 0;
++
++ /* All tests pass, this is OK */
++ return 1;
++}
++
+ static time_t
+ isodate7(const unsigned char *v)
+ {
+@@ -3252,6 +3343,67 @@ isodate7(const unsigned char *v)
+ return (t);
+ }
+
++static int
++isodate17_valid(const unsigned char *v)
++{
++ /* First 16 bytes are all ASCII digits */
++ for (int i = 0; i < 16; i++) {
++ if (v[i] < '0' || v[i] > '9')
++ return 0;
++ }
++
++ int year = (v[0] - '0') * 1000 + (v[1] - '0') * 100
++ + (v[2] - '0') * 10 + (v[3] - '0');
++ int month = (v[4] - '0') * 10 + (v[5] - '0');
++ int day = (v[6] - '0') * 10 + (v[7] - '0');
++ int hour = (v[8] - '0') * 10 + (v[9] - '0');
++ int minute = (v[10] - '0') * 10 + (v[11] - '0');
++ int second = (v[12] - '0') * 10 + (v[13] - '0');
++ int hundredths = (v[14] - '0') * 10 + (v[15] - '0');
++ int gmt_off = (signed char)v[16];
++
++ if (year == 0 && month == 0 && day == 0
++ && hour == 0 && minute == 0 && second == 0
++ && hundredths == 0 && gmt_off == 0)
++ return 0;
++ /*
++ * Sanity-test each individual field
++ */
++
++ /* Year must be 1900-2300 */
++ /* (Not specified in ECMA-119, but these seem
++ like reasonable limits. */
++ if (year < 1900 || year > 2300)
++ return 0;
++ /* Month must be 1-12 */
++ if (month < 1 || month > 12)
++ return 0;
++ /* Day must be 1-31 */
++ if (day < 1 || day > 31)
++ return 0;
++ /* Hour must be 0-23 */
++ if (hour > 23)
++ return 0;
++ /* Minute must be 0-59 */
++ if (minute > 59)
++ return 0;
++ /* second must be 0-59 according to ECMA-119 9.1.5 */
++ /* BUT: we should probably allow for the time being in UTC, which
++ allows up to 61 seconds in a minute in certain cases */
++ if (second > 61)
++ return 0;
++ /* Hundredths must be 0-99 */
++ if (hundredths > 99)
++ return 0;
++ /* Offset from GMT must be -48 to +52 */
++ if (gmt_off < -48 || gmt_off > +52)
++ return 0;
++
++ /* All tests pass, this is OK */
++ return 1;
++
++}
++
+ static time_t
+ isodate17(const unsigned char *v)
+ {
+diff --git a/libarchive/test/test_read_format_iso_Z.c b/libarchive/test/test_read_format_iso_Z.c
+index d07bc1bc8..716552fa3 100644
+--- a/libarchive/test/test_read_format_iso_Z.c
++++ b/libarchive/test/test_read_format_iso_Z.c
+@@ -93,16 +93,20 @@ test_small(const char *name)
+ assertEqualIntA(a, ARCHIVE_OK,
+ archive_read_next_header(a, &ae));
+ assertEqualString(".", archive_entry_pathname(ae));
+- assertEqualIntA(a, 3443989665, archive_entry_atime(ae));
+- assertEqualIntA(a, 0, archive_entry_birthtime(ae));
+- assertEqualIntA(a, 3443989665, archive_entry_ctime(ae));
++ assertEqualInt(0, archive_entry_atime_is_set(ae));
++ assertEqualInt(0, archive_entry_atime(ae));
++ assertEqualInt(0, archive_entry_birthtime_is_set(ae));
++ assertEqualInt(0, archive_entry_birthtime(ae));
++ assertEqualInt(0, archive_entry_ctime_is_set(ae));
++ assertEqualInt(0, archive_entry_ctime(ae));
+ assertEqualIntA(a, 0, archive_entry_dev(ae));
+ assertEqualIntA(a, AE_IFDIR, archive_entry_filetype(ae));
+ assertEqualIntA(a, 0, archive_entry_gid(ae));
+ assertEqualStringA(a, NULL, archive_entry_gname(ae));
+ assertEqualIntA(a, 0, archive_entry_ino(ae));
+ assertEqualIntA(a, AE_IFDIR | 0700, archive_entry_mode(ae));
+- assertEqualIntA(a, 3443989665, archive_entry_mtime(ae));
++ assertEqualInt(0, archive_entry_mtime_is_set(ae));
++ assertEqualInt(0, archive_entry_mtime(ae));
+ assertEqualIntA(a, 4, archive_entry_nlink(ae));
+ assertEqualIntA(a, 0700, archive_entry_perm(ae));
+ assertEqualIntA(a, 2048, archive_entry_size(ae));
diff --git a/app-arch/libarchive/libarchive-3.7.5.ebuild b/app-arch/libarchive/libarchive-3.7.5.ebuild
new file mode 100644
index 000000000000..c5d6394eed24
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.7.5.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit libtool multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Multi-format archive and compression library"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
+ static-libs test xattr +zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ acl? ( virtual/acl:=[${MULTILIB_USEDEP}] )
+ blake2? ( app-crypt/libb2:=[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat:=[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv:=[${MULTILIB_USEDEP}] )
+ dev-libs/openssl:=[${MULTILIB_USEDEP}]
+ lz4? ( >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.2.5-r1:=[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2:=[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+# TODO: fix attr/xattr.h includes and remove sys-apps/attr dep
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ test? (
+ app-arch/lrzip
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/xz-utils
+ app-arch/zstd
+ lzma? ( app-arch/xz-utils[extra-filters(+)] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
+
+PATCHES=(
+ # https://github.com/libarchive/libarchive/issues/2069
+ # (we can simply update the command since we don't support old lrzip)
+ "${FILESDIR}/${PN}-3.7.2-lrzip.patch"
+ # https://github.com/libarchive/libarchive/pull/2330
+ "${FILESDIR}/${P}-iso9660-times.patch"
+)
+
+src_prepare() {
+ default
+
+ # Needed for flags to be respected w/ LTO
+ elibtoolize
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with blake2 libb2)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ --with-zlib
+ $(use_with zstd)
+
+ # Windows-specific
+ --without-cng
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ --disable-bsdunzip
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+src_test() {
+ mkdir -p "${T}"/bin || die
+ # tests fail when lbzip2[symlink] is used in place of ref bunzip2
+ ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
+ # workaround lrzip broken on 32-bit arches with >= 10 threads
+ # https://bugs.gentoo.org/927766
+ cat > "${T}"/bin/lrzip <<-EOF || die
+ #!/bin/sh
+ exec "$(type -P lrzip)" -p1 "\${@}"
+ EOF
+ chmod +x "${T}/bin/lrzip" || die
+ local -x PATH=${T}/bin:${PATH}
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ # sandbox is breaking long symlink behavior
+ local -x SANDBOX_ON=0
+ local -x LD_PRELOAD=
+ # some locales trigger different output that breaks tests
+ local -x LC_ALL=C.UTF-8
+ emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2024-05-13 12:53 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2024-05-13 12:53 UTC (permalink / raw
To: gentoo-commits
commit: fa1e0dba0029ad4866d1e45d0f5ef9e47ec1091b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 12:43:17 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 13 12:53:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa1e0dba
app-arch/libarchive: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 2 -
.../files/libarchive-3.7.2-32bit-test.patch | 29 ----
.../files/libarchive-3.7.2-safe-fprintf.patch | 27 ----
app-arch/libarchive/libarchive-3.7.2-r1.ebuild | 158 ------------------
app-arch/libarchive/libarchive-3.7.2-r3.ebuild | 180 ---------------------
5 files changed, 396 deletions(-)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 2baf43a36402..aa151c417a12 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,5 +1,3 @@
-DIST libarchive-3.7.2.tar.xz 5237056 BLAKE2B 7221db4811a965ee61d879a2603480363628a19995a351b572d099be9f35576d76f0b0822f9a5a47d9929bc094d4444fd8eafcb4a073e39bb3aa797d4b926ca5 SHA512 a21bebb27b808cb7d2ed13a70739904a1b7b55661d8dea83c9897a0129cf71e20c962f13666c571782ff0f4f753ca885619c2097d9e7691c2dee4e6e4b9a2971
-DIST libarchive-3.7.2.tar.xz.asc 659 BLAKE2B 7141baf007b89b7ee38ec817b648cef5efb4d694953fcd49f6ed2dc95cf4da2d9259262b9eb4f01ff5d4ecee1257b266a8c6687a8e8ef8790121048229f1ad22 SHA512 c2ce850088245d7723720737d74d1cc1819984d01b3f9e4ed96b0757f4c6d6d511b78792181a12400c563632d74edcd0c2c3a4b7527cba40ada7ef74488078fc
DIST libarchive-3.7.3.tar.xz 5428992 BLAKE2B c53672c8cdbe8f406f00bf4fc6b36e4dffcd23a33909dbec6ef06b86dceefc6062840eff629ba3bd19c36121720e16a8ba10dfa1a35ebed186cc92eb144f55d0 SHA512 984e7c61010b9555bafe54d5f52ff2d089e28afe5cea3a14615e2aca8539075293789d18f17f8915882ec328bcbdca7b3d1536d6dc19620ca226e8b6d802ef63
DIST libarchive-3.7.3.tar.xz.asc 659 BLAKE2B bfe18e36ef2e96ad46ab2cd1236701b4b80f41ebb840681c1baf7eac72f38444cc0619645fac17d3acdda6553b294483d87f0a92d9575138d117934e838d85d2 SHA512 9f340b41fc9db34f1c4e0823d559b666196d3031249e05981cfb43a401aa8a85710f14ba1cc784ab3ca367439e4c485668dffe7020f38f50b3ed35810df504a1
DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686
diff --git a/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch b/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch
deleted file mode 100644
index 5f43c2626735..000000000000
--- a/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3bd918d92f8c34ba12de9c6604d96f9e262a59fc Mon Sep 17 00:00:00 2001
-From: Martin Matuska <martin@matuska.de>
-Date: Tue, 12 Sep 2023 08:54:47 +0200
-Subject: [PATCH] tests: fix zstd long option test for 32-bit architectures
-
-Fixes #1968
----
- libarchive/test/test_write_filter_zstd.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/libarchive/test/test_write_filter_zstd.c b/libarchive/test/test_write_filter_zstd.c
-index 3cdbd812a..c9731f1b6 100644
---- a/libarchive/test/test_write_filter_zstd.c
-+++ b/libarchive/test/test_write_filter_zstd.c
-@@ -161,8 +161,12 @@ DEFINE_TEST(test_write_filter_zstd)
- archive_write_set_filter_option(a, NULL, "max-frame-size", "1048576"));
- #endif
- #if ZSTD_VERSION_NUMBER >= MINVER_LONG
-- assertEqualIntA(a, ARCHIVE_OK,
-- archive_write_set_filter_option(a, NULL, "long", "27"));
-+ if ((int)(sizeof(size_t) == 4))
-+ assertEqualIntA(a, ARCHIVE_OK,
-+ archive_write_set_filter_option(a, NULL, "long", "26"));
-+ else
-+ assertEqualIntA(a, ARCHIVE_OK,
-+ archive_write_set_filter_option(a, NULL, "long", "27"));
- assertEqualIntA(a, ARCHIVE_FAILED,
- archive_write_set_filter_option(a, NULL, "long", "-1")); /* negative */
- #endif
diff --git a/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch b/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch
deleted file mode 100644
index 6a351ba37fea..000000000000
--- a/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 6110e9c82d8ba830c3440f36b990483ceaaea52c Mon Sep 17 00:00:00 2001
-From: Ed Maste <emaste@freebsd.org>
-Date: Fri, 29 Mar 2024 18:02:06 -0400
-Subject: [PATCH] tar: make error reporting more robust and use correct errno
- (#2101)
-
-As discussed in #1609.
----
- tar/read.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/tar/read.c b/tar/read.c
-index af3d3f423..a7f14a07b 100644
---- a/tar/read.c
-+++ b/tar/read.c
-@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
- if (r != ARCHIVE_OK) {
- if (!bsdtar->verbose)
- safe_fprintf(stderr, "%s", archive_entry_pathname(entry));
-- fprintf(stderr, ": %s: ", archive_error_string(a));
-- fprintf(stderr, "%s", strerror(errno));
-+ safe_fprintf(stderr, ": %s: %s",
-+ archive_error_string(a),
-+ strerror(archive_errno(a)));
- if (!bsdtar->verbose)
- fprintf(stderr, "\n");
- bsdtar->return_value = 1;
diff --git a/app-arch/libarchive/libarchive-3.7.2-r1.ebuild b/app-arch/libarchive/libarchive-3.7.2-r1.ebuild
deleted file mode 100644
index 3ca312b679f8..000000000000
--- a/app-arch/libarchive/libarchive-3.7.2-r1.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="
- https://www.libarchive.org/
- https://github.com/libarchive/libarchive/
-"
-SRC_URI="
- https://www.libarchive.de/downloads/${P}.tar.xz
- verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
-"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="
- acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
- static-libs test xattr +zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- )
- test? (
- lzma? ( app-arch/xz-utils[extra-filters(+)] )
- )
-"
-BDEPEND="
- verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
- elibc_musl? ( sys-libs/queue-standalone )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
-
-# false positives (checks for libc-defined hash functions)
-QA_CONFIG_IMPL_DECL_SKIP=(
- SHA256_Init SHA256_Update SHA256_Final
- SHA384_Init SHA384_Update SHA384_Final
- SHA512_Init SHA512_Update SHA512_Final
-)
-
-PATCHES=(
- # https://github.com/libarchive/libarchive/issues/1968
- "${FILESDIR}/${P}-32bit-test.patch"
- # https://github.com/libarchive/libarchive/issues/2069
- # (we can simply update the command since we don't support old lrzip)
- "${FILESDIR}/${P}-lrzip.patch"
-)
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- --with-zlib
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- --disable-bsdunzip
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-src_test() {
- mkdir -p "${T}"/bin || die
- # tests fail when lbzip2[symlink] is used in place of ref bunzip2
- ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
- local -x PATH=${T}/bin:${PATH}
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- # sandbox is breaking long symlink behavior
- local -x SANDBOX_ON=0
- local -x LD_PRELOAD=
- # some locales trigger different output that breaks tests
- local -x LC_ALL=C
- emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
- # https://github.com/libarchive/libarchive/issues/1766
- sed -e '/Requires\.private/s:iconv::' \
- -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
-}
diff --git a/app-arch/libarchive/libarchive-3.7.2-r3.ebuild b/app-arch/libarchive/libarchive-3.7.2-r3.ebuild
deleted file mode 100644
index 476a896e4be3..000000000000
--- a/app-arch/libarchive/libarchive-3.7.2-r3.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit libtool multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="
- https://www.libarchive.org/
- https://github.com/libarchive/libarchive/
-"
-SRC_URI="
- https://www.libarchive.de/downloads/${P}.tar.xz
- verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
-"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="
- acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
- static-libs test xattr +zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- )
- test? (
- app-arch/lrzip
- app-arch/lz4
- app-arch/lzip
- app-arch/lzop
- app-arch/xz-utils
- app-arch/zstd
- lzma? ( app-arch/xz-utils[extra-filters(+)] )
- )
-"
-BDEPEND="
- verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
- elibc_musl? ( sys-libs/queue-standalone )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
-
-# false positives (checks for libc-defined hash functions)
-QA_CONFIG_IMPL_DECL_SKIP=(
- SHA256_Init SHA256_Update SHA256_Final
- SHA384_Init SHA384_Update SHA384_Final
- SHA512_Init SHA512_Update SHA512_Final
-)
-
-PATCHES=(
- # https://github.com/libarchive/libarchive/issues/1968
- "${FILESDIR}/${P}-32bit-test.patch"
- # https://github.com/libarchive/libarchive/issues/2069
- # (we can simply update the command since we don't support old lrzip)
- "${FILESDIR}/${P}-lrzip.patch"
- # https://github.com/libarchive/libarchive/pull/2101
- "${FILESDIR}/${P}-safe-fprintf.patch"
-)
-
-src_prepare() {
- default
-
- # Needed for flags to be respected w/ LTO
- elibtoolize
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- --with-zlib
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- --disable-bsdunzip
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-src_test() {
- mkdir -p "${T}"/bin || die
- # tests fail when lbzip2[symlink] is used in place of ref bunzip2
- ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
- # workaround lrzip broken on 32-bit arches with >= 10 threads
- # https://bugs.gentoo.org/927766
- cat > "${T}"/bin/lrzip <<-EOF || die
- #!/bin/sh
- exec "$(type -P lrzip)" -p1 "\${@}"
- EOF
- chmod +x "${T}/bin/lrzip" || die
- local -x PATH=${T}/bin:${PATH}
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- # sandbox is breaking long symlink behavior
- local -x SANDBOX_ON=0
- local -x LD_PRELOAD=
- # some locales trigger different output that breaks tests
- local -x LC_ALL=C
- emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
- # https://github.com/libarchive/libarchive/issues/1766
- sed -e '/Requires\.private/s:iconv::' \
- -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2023-09-12 10:25 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2023-09-12 10:25 UTC (permalink / raw
To: gentoo-commits
commit: 45b40c67c120aadd5474063b1bd2d2cd1833b9d4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 12 10:25:08 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 12 10:25:50 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45b40c67
app-arch/libarchive: Bump to 3.7.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 2 +
.../files/libarchive-3.7.2-32bit-test.patch | 29 ++++
app-arch/libarchive/libarchive-3.7.2.ebuild | 147 +++++++++++++++++++++
3 files changed, 178 insertions(+)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 34ff66da5d15..0784c5c3e794 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,2 +1,4 @@
DIST libarchive-3.7.1.tar.xz 5254260 BLAKE2B 1a6fa4f5027effea3df1cfcd2d99b8b126fe03d727412b0a4529d6b2157c2c29490bcce206d0f771256c5ed6dec9612608c2c54c4861647f4e2892e0f5548adb SHA512 24380b9aa24434dfe39929ec85ede33580291023b20b7cdf03990ce62578eaeb389f5ca5680245a84c7aad51574c85a1fa3fad5254ec5395eadac1cb2130a936
DIST libarchive-3.7.1.tar.xz.asc 659 BLAKE2B 5e72732d2e5a4f5f04f3510b3d81a148f23dffa10a3ebe709e816388c5a6e68c08ee2bbe36d81141d5ffa94ed64df3e4ca05994cda651c09589fda69a6a95e90 SHA512 6f6f6e5780c609bd9c6c359c210656f26afb585bda46988687e19d1e55f4f3260ea80bf11bfba1213fb3a3e1514c5c096692b4b9e96ffbadf06f85eb1227250a
+DIST libarchive-3.7.2.tar.xz 5237056 BLAKE2B 7221db4811a965ee61d879a2603480363628a19995a351b572d099be9f35576d76f0b0822f9a5a47d9929bc094d4444fd8eafcb4a073e39bb3aa797d4b926ca5 SHA512 a21bebb27b808cb7d2ed13a70739904a1b7b55661d8dea83c9897a0129cf71e20c962f13666c571782ff0f4f753ca885619c2097d9e7691c2dee4e6e4b9a2971
+DIST libarchive-3.7.2.tar.xz.asc 659 BLAKE2B 7141baf007b89b7ee38ec817b648cef5efb4d694953fcd49f6ed2dc95cf4da2d9259262b9eb4f01ff5d4ecee1257b266a8c6687a8e8ef8790121048229f1ad22 SHA512 c2ce850088245d7723720737d74d1cc1819984d01b3f9e4ed96b0757f4c6d6d511b78792181a12400c563632d74edcd0c2c3a4b7527cba40ada7ef74488078fc
diff --git a/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch b/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch
new file mode 100644
index 000000000000..5f43c2626735
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch
@@ -0,0 +1,29 @@
+From 3bd918d92f8c34ba12de9c6604d96f9e262a59fc Mon Sep 17 00:00:00 2001
+From: Martin Matuska <martin@matuska.de>
+Date: Tue, 12 Sep 2023 08:54:47 +0200
+Subject: [PATCH] tests: fix zstd long option test for 32-bit architectures
+
+Fixes #1968
+---
+ libarchive/test/test_write_filter_zstd.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libarchive/test/test_write_filter_zstd.c b/libarchive/test/test_write_filter_zstd.c
+index 3cdbd812a..c9731f1b6 100644
+--- a/libarchive/test/test_write_filter_zstd.c
++++ b/libarchive/test/test_write_filter_zstd.c
+@@ -161,8 +161,12 @@ DEFINE_TEST(test_write_filter_zstd)
+ archive_write_set_filter_option(a, NULL, "max-frame-size", "1048576"));
+ #endif
+ #if ZSTD_VERSION_NUMBER >= MINVER_LONG
+- assertEqualIntA(a, ARCHIVE_OK,
+- archive_write_set_filter_option(a, NULL, "long", "27"));
++ if ((int)(sizeof(size_t) == 4))
++ assertEqualIntA(a, ARCHIVE_OK,
++ archive_write_set_filter_option(a, NULL, "long", "26"));
++ else
++ assertEqualIntA(a, ARCHIVE_OK,
++ archive_write_set_filter_option(a, NULL, "long", "27"));
+ assertEqualIntA(a, ARCHIVE_FAILED,
+ archive_write_set_filter_option(a, NULL, "long", "-1")); /* negative */
+ #endif
diff --git a/app-arch/libarchive/libarchive-3.7.2.ebuild b/app-arch/libarchive/libarchive-3.7.2.ebuild
new file mode 100644
index 000000000000..cc8d80504e15
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.7.2.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Multi-format archive and compression library"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
+
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
+
+PATCHES=(
+ # https://github.com/libarchive/libarchive/issues/1968
+ "${FILESDIR}/${P}-32bit-test.patch"
+)
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with blake2 libb2)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ --with-zlib
+ $(use_with zstd)
+
+ # Windows-specific
+ --without-cng
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ --disable-bsdunzip
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+src_test() {
+ mkdir -p "${T}"/bin || die
+ # tests fail when lbzip2[symlink] is used in place of ref bunzip2
+ ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
+ local -x PATH=${T}/bin:${PATH}
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ # sandbox is breaking long symlink behavior
+ local -x SANDBOX_ON=0
+ local -x LD_PRELOAD=
+ # some locales trigger different output that breaks tests
+ local -x LC_ALL=C
+ emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2023-08-21 8:59 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2023-08-21 8:59 UTC (permalink / raw
To: gentoo-commits
commit: dcba00efe53ae1a268078153373d3b3d7491d12c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 07:52:53 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 08:59:23 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcba00ef
app-arch/libarchive: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 4 -
.../files/libarchive-3.7.0-f_namemax-fix.patch | 19 ---
app-arch/libarchive/libarchive-3.6.2-r1.ebuild | 139 -------------------
app-arch/libarchive/libarchive-3.7.0.ebuild | 149 ---------------------
4 files changed, 311 deletions(-)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index d2ed4d61bad1..34ff66da5d15 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,6 +1,2 @@
-DIST libarchive-3.6.2.tar.xz 5213196 BLAKE2B 355b5d402e352dee802513485ce7e047af58d6de5b9bf6a49f3fd8d7b94117007598820ac979585c0da79747e8b63b70ab151131182368a11f97a047cf9029d4 SHA512 a12bb6839e13a0be1099f42c650fc90fbfe62d32ce38bcbb4794206d29b2c782ae1115124d0e5f6b9716514213af32b05e4a42eb196447674a5f9a2a32bee043
-DIST libarchive-3.6.2.tar.xz.asc 659 BLAKE2B a4b0035ab2bda4129cdf0c99266cd1e5f4772d90de6e348c75958bc803f369d6abea85d9730c6c9a216466b35697faad8d265fb2c285545887eafde27d828887 SHA512 403e5f7dec14d8b1cc01fad5a249e7b7618a7b45bcb3361ea80d67d76b591b12ce97f2c88b23d5486505dd3b34c1f1643e02235a3e5fc5150ee5735946092efe
-DIST libarchive-3.7.0.tar.xz 5243356 BLAKE2B 8fb72a0504038c71584c0416c1d747b7f5c82266518704353e7fdf794bd9f9e2dc22b8fa2538fa8d12a3b9776581077040371d25647fe72c02a4ec5f3bb8d950 SHA512 f69ff7fbec7e909b6a03dd5b01c47316f95a277907409c8fba3930bb90d02cd9a329921eada59ca1afc9a19e34de7eb34e9d535bbc8cd98fb586f723bd0fdba8
-DIST libarchive-3.7.0.tar.xz.asc 659 BLAKE2B 5bbd535ce100fbfb7ed46f8d7a6957ebb590c07124de4192ae0b777ad3b3950e6406f1ccda97dde5b6e792be00a039621de21665df9989073ebd0a905299eda1 SHA512 eda3a4347fb8d7f78c8e0a73f621a4a731d46cafc2f46ac59cebe39f3ebd29b1c3db21772c2027b30c5c507f5f732c3876e94f319e62156d2a3146e412cad84d
DIST libarchive-3.7.1.tar.xz 5254260 BLAKE2B 1a6fa4f5027effea3df1cfcd2d99b8b126fe03d727412b0a4529d6b2157c2c29490bcce206d0f771256c5ed6dec9612608c2c54c4861647f4e2892e0f5548adb SHA512 24380b9aa24434dfe39929ec85ede33580291023b20b7cdf03990ce62578eaeb389f5ca5680245a84c7aad51574c85a1fa3fad5254ec5395eadac1cb2130a936
DIST libarchive-3.7.1.tar.xz.asc 659 BLAKE2B 5e72732d2e5a4f5f04f3510b3d81a148f23dffa10a3ebe709e816388c5a6e68c08ee2bbe36d81141d5ffa94ed64df3e4ca05994cda651c09589fda69a6a95e90 SHA512 6f6f6e5780c609bd9c6c359c210656f26afb585bda46988687e19d1e55f4f3260ea80bf11bfba1213fb3a3e1514c5c096692b4b9e96ffbadf06f85eb1227250a
diff --git a/app-arch/libarchive/files/libarchive-3.7.0-f_namemax-fix.patch b/app-arch/libarchive/files/libarchive-3.7.0-f_namemax-fix.patch
deleted file mode 100644
index 36ed70fca44b..000000000000
--- a/app-arch/libarchive/files/libarchive-3.7.0-f_namemax-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From: https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch
-From: Wong Hoi Sing Edison <hswong3i@gmail.com>
-Date: Wed, 19 Jul 2023 16:59:32 +0800
-Subject: [PATCH] Replace `svfs.f_namelen` with `svfs.f_namemax` (#1924)
-
-The equivalent for `f_namelen` in struct statvfs is `f_namemax`.
-
-Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
---- a/libarchive/archive_read_disk_posix.c
-+++ b/libarchive/archive_read_disk_posix.c
-@@ -1866,7 +1866,7 @@ setup_current_filesystem(struct archive_read_disk *a)
- #if defined(USE_READDIR_R)
- /* Set maximum filename length. */
- #if defined(HAVE_STATVFS)
-- t->current_filesystem->name_max = svfs.f_namelen;
-+ t->current_filesystem->name_max = svfs.f_namemax;
- #else
- t->current_filesystem->name_max = sfs.f_namelen;
- #endif
diff --git a/app-arch/libarchive/libarchive-3.6.2-r1.ebuild b/app-arch/libarchive/libarchive-3.6.2-r1.ebuild
deleted file mode 100644
index dc59aa24463c..000000000000
--- a/app-arch/libarchive/libarchive-3.6.2-r1.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="
- https://www.libarchive.org/
- https://github.com/libarchive/libarchive/
-"
-SRC_URI="
- https://www.libarchive.de/downloads/${P}.tar.xz
- verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
-"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- )
-"
-BDEPEND="
- verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
-"
-
-# false positives (checks for libc-defined hash functions)
-QA_CONFIG_IMPL_DECL_SKIP=(
- SHA256_Init SHA256_Update SHA256_Final
- SHA384_Init SHA384_Update SHA384_Final
- SHA512_Init SHA512_Update SHA512_Final
-)
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- --with-zlib
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-src_test() {
- mkdir -p "${T}"/bin || die
- # tests fail when lbzip2[symlink] is used in place of ref bunzip2
- ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
- local -x PATH=${T}/bin:${PATH}
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- # sandbox is breaking long symlink behavior
- local -x SANDBOX_ON=0
- local -x LD_PRELOAD=
- # some locales trigger different output that breaks tests
- local -x LC_ALL=C
- emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
- # https://github.com/libarchive/libarchive/issues/1766
- sed -e '/Requires\.private/s:iconv::' \
- -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
-}
diff --git a/app-arch/libarchive/libarchive-3.7.0.ebuild b/app-arch/libarchive/libarchive-3.7.0.ebuild
deleted file mode 100644
index 0346154a7172..000000000000
--- a/app-arch/libarchive/libarchive-3.7.0.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit multilib-minimal toolchain-funcs verify-sig
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="
- https://www.libarchive.org/
- https://github.com/libarchive/libarchive/
-"
-SRC_URI="
- https://www.libarchive.de/downloads/${P}.tar.xz
- verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
-"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
- )
-"
-BDEPEND="
- verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
- elibc_musl? ( sys-libs/queue-standalone )
-"
-
-# Bug #910552 Only required for version 3.7.0
-PATCHES=(
- "${FILESDIR}/${P}-f_namemax-fix.patch"
-)
-
-# false positives (checks for libc-defined hash functions)
-QA_CONFIG_IMPL_DECL_SKIP=(
- SHA256_Init SHA256_Update SHA256_Final
- SHA384_Init SHA384_Update SHA384_Final
- SHA512_Init SHA512_Update SHA512_Final
-)
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with blake2 libb2)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- --with-zlib
- $(use_with zstd)
-
- # Windows-specific
- --without-cng
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
- --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- --disable-bsdunzip
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
- # TODO: figure out why we don't get one
- mkdir -p unzip/test || die
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-src_test() {
- mkdir -p "${T}"/bin || die
- # tests fail when lbzip2[symlink] is used in place of ref bunzip2
- ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
- local -x PATH=${T}/bin:${PATH}
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- # sandbox is breaking long symlink behavior
- local -x SANDBOX_ON=0
- local -x LD_PRELOAD=
- # some locales trigger different output that breaks tests
- local -x LC_ALL=C
- emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- find "${ED}" -type f -name "*.la" -delete || die
- # https://github.com/libarchive/libarchive/issues/1766
- sed -e '/Requires\.private/s:iconv::' \
- -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2023-07-19 18:33 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2023-07-19 18:33 UTC (permalink / raw
To: gentoo-commits
commit: 436a86c6ba463931212876d2ed96d067f20d378e
Author: Ian Jordan <immoloism <AT> gmail <DOT> com>
AuthorDate: Wed Jul 19 15:26:58 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 19 18:30:57 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=436a86c6
app-arch/libarchive: fix build on musl
Cherrypicked patch from master repo to fix compiling 3.7.0
under musl. Tested with both GCC and LLVM.
Also added BDEP for sys-libs/queue-standalone for this version.
Closes: https://bugs.gentoo.org/910552
Signed-off-by: Ian Jordan <immoloism <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31959
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../files/libarchive-3.7.0-f_namemax-fix.patch | 19 +++++++++++++++++++
app-arch/libarchive/libarchive-3.7.0.ebuild | 6 ++++++
2 files changed, 25 insertions(+)
diff --git a/app-arch/libarchive/files/libarchive-3.7.0-f_namemax-fix.patch b/app-arch/libarchive/files/libarchive-3.7.0-f_namemax-fix.patch
new file mode 100644
index 000000000000..36ed70fca44b
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.0-f_namemax-fix.patch
@@ -0,0 +1,19 @@
+From: https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch
+From: Wong Hoi Sing Edison <hswong3i@gmail.com>
+Date: Wed, 19 Jul 2023 16:59:32 +0800
+Subject: [PATCH] Replace `svfs.f_namelen` with `svfs.f_namemax` (#1924)
+
+The equivalent for `f_namelen` in struct statvfs is `f_namemax`.
+
+Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
+--- a/libarchive/archive_read_disk_posix.c
++++ b/libarchive/archive_read_disk_posix.c
+@@ -1866,7 +1866,7 @@ setup_current_filesystem(struct archive_read_disk *a)
+ #if defined(USE_READDIR_R)
+ /* Set maximum filename length. */
+ #if defined(HAVE_STATVFS)
+- t->current_filesystem->name_max = svfs.f_namelen;
++ t->current_filesystem->name_max = svfs.f_namemax;
+ #else
+ t->current_filesystem->name_max = sfs.f_namelen;
+ #endif
diff --git a/app-arch/libarchive/libarchive-3.7.0.ebuild b/app-arch/libarchive/libarchive-3.7.0.ebuild
index d6d88d91c98f..0346154a7172 100644
--- a/app-arch/libarchive/libarchive-3.7.0.ebuild
+++ b/app-arch/libarchive/libarchive-3.7.0.ebuild
@@ -46,8 +46,14 @@ DEPEND="${RDEPEND}
"
BDEPEND="
verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
"
+# Bug #910552 Only required for version 3.7.0
+PATCHES=(
+ "${FILESDIR}/${P}-f_namemax-fix.patch"
+)
+
# false positives (checks for libc-defined hash functions)
QA_CONFIG_IMPL_DECL_SKIP=(
SHA256_Init SHA256_Update SHA256_Final
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2022-12-06 6:02 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2022-12-06 6:02 UTC (permalink / raw
To: gentoo-commits
commit: b618d6ec93c66f91c071c99c65775aaef2471bdf
Author: Meena Shanmugam <meenashanmugam <AT> google <DOT> com>
AuthorDate: Tue Dec 6 00:32:30 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec 6 06:02:16 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b618d6ec
app-arch/libarchive: Add patch to fix CVE-2022-36227.
New version is not released in libarchive with the CVE-2022-36227 fix.
Closes: https://bugs.gentoo.org/882521
Signed-off-by: Meena Shanmugam <meenashanmugam <AT> google.com>
Closes: https://github.com/gentoo/gentoo/pull/28560
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../files/libarchive-3.6.1-CVE-2022-36227.patch | 35 ++++++++++++++++++++++
...ive-3.6.1.ebuild => libarchive-3.6.1-r1.ebuild} | 2 ++
2 files changed, 37 insertions(+)
diff --git a/app-arch/libarchive/files/libarchive-3.6.1-CVE-2022-36227.patch b/app-arch/libarchive/files/libarchive-3.6.1-CVE-2022-36227.patch
new file mode 100644
index 000000000000..da71a196b875
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.6.1-CVE-2022-36227.patch
@@ -0,0 +1,35 @@
+From bff38efe8c110469c5080d387bec62a6ca15b1a5 Mon Sep 17 00:00:00 2001
+From: obiwac <obiwac@gmail.com>
+Date: Fri, 22 Jul 2022 22:41:10 +0200
+Subject: [PATCH] libarchive: Handle a `calloc` returning NULL (fixes #1754)
+
+---
+ libarchive/archive_write.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c
+index 66592e826..27626b541 100644
+--- a/libarchive/archive_write.c
++++ b/libarchive/archive_write.c
+@@ -201,6 +201,10 @@ __archive_write_allocate_filter(struct archive *_a)
+ struct archive_write_filter *f;
+
+ f = calloc(1, sizeof(*f));
++
++ if (f == NULL)
++ return (NULL);
++
+ f->archive = _a;
+ f->state = ARCHIVE_WRITE_FILTER_STATE_NEW;
+ if (a->filter_first == NULL)
+@@ -548,6 +552,10 @@ archive_write_open2(struct archive *_a, void *client_data,
+ a->client_data = client_data;
+
+ client_filter = __archive_write_allocate_filter(_a);
++
++ if (client_filter == NULL)
++ return (ARCHIVE_FATAL);
++
+ client_filter->open = archive_write_client_open;
+ client_filter->write = archive_write_client_write;
+ client_filter->close = archive_write_client_close;
diff --git a/app-arch/libarchive/libarchive-3.6.1.ebuild b/app-arch/libarchive/libarchive-3.6.1-r1.ebuild
similarity index 97%
rename from app-arch/libarchive/libarchive-3.6.1.ebuild
rename to app-arch/libarchive/libarchive-3.6.1-r1.ebuild
index 2c65539abe4b..886252808767 100644
--- a/app-arch/libarchive/libarchive-3.6.1.ebuild
+++ b/app-arch/libarchive/libarchive-3.6.1-r1.ebuild
@@ -47,6 +47,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${P}-glibc-2.36.patch
+ # https://github.com/libarchive/libarchive/pull/1759
+ "${FILESDIR}"/${P}-CVE-2022-36227.patch
)
multilib_src_configure() {
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2022-08-03 2:25 Sam James
0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2022-08-03 2:25 UTC (permalink / raw
To: gentoo-commits
commit: f1c864205d96d4c513341ab7b21f48fe3fa19a81
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 3 02:22:15 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 3 02:25:03 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1c86420
app-arch/libarchive: fix build w/ glibc 2.36
Closes: https://bugs.gentoo.org/863227
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/libarchive-3.6.1-glibc-2.36.patch | 39 ++++++++++++++++++++++
app-arch/libarchive/libarchive-3.6.1.ebuild | 4 +++
2 files changed, 43 insertions(+)
diff --git a/app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch b/app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch
new file mode 100644
index 000000000000..e45d891e2a17
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch
@@ -0,0 +1,39 @@
+https://github.com/libarchive/libarchive/pull/1761
+https://bugs.gentoo.org/863227
+
+From a2f68263a1da5ad227bcb9cd8fa91b93c8b6c99f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Jul 2022 10:56:53 -0700
+Subject: [PATCH] libarchive: Do not include sys/mount.h when linux/fs.h is
+ present
+
+These headers are in conflict and only one is needed by
+archive_read_disk_posix.c therefore include linux/fs.h if it exists
+otherwise include sys/mount.h
+
+It also helps compiling with glibc 2.36
+where sys/mount.h conflicts with linux/mount.h see [1]
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+--- a/libarchive/archive_read_disk_posix.c
++++ b/libarchive/archive_read_disk_posix.c
+@@ -34,9 +34,6 @@ __FBSDID("$FreeBSD$");
+ #ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+-#ifdef HAVE_SYS_MOUNT_H
+-#include <sys/mount.h>
+-#endif
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+@@ -54,6 +51,8 @@ __FBSDID("$FreeBSD$");
+ #endif
+ #ifdef HAVE_LINUX_FS_H
+ #include <linux/fs.h>
++#elif HAVE_SYS_MOUNT_H
++#include <sys/mount.h>
+ #endif
+ /*
+ * Some Linux distributions have both linux/ext2_fs.h and ext2fs/ext2_fs.h.
+
diff --git a/app-arch/libarchive/libarchive-3.6.1.ebuild b/app-arch/libarchive/libarchive-3.6.1.ebuild
index 41cfc71f5a04..dbe62127a118 100644
--- a/app-arch/libarchive/libarchive-3.6.1.ebuild
+++ b/app-arch/libarchive/libarchive-3.6.1.ebuild
@@ -45,6 +45,10 @@ BDEPEND="
verify-sig? ( sec-keys/openpgp-keys-libarchive )
"
+PATCHES=(
+ "${FILESDIR}"/${P}-glibc-2.36.patch
+)
+
multilib_src_configure() {
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2019-08-15 16:07 Michał Górny
0 siblings, 0 replies; 17+ messages in thread
From: Michał Górny @ 2019-08-15 16:07 UTC (permalink / raw
To: gentoo-commits
commit: af203bc0ea910fb4d2603af4b0d7b8e9cbaf6916
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 16:03:23 2019 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 16:07:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af203bc0
app-arch/libarchive: Clean old up
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
app-arch/libarchive/Manifest | 2 -
.../files/libarchive-3.3.1-libressl.patch | 25 ----
.../files/libarchive-3.3.2-libressl.patch | 25 ----
app-arch/libarchive/libarchive-3.3.1.ebuild | 122 --------------------
app-arch/libarchive/libarchive-3.3.2.ebuild | 128 ---------------------
5 files changed, 302 deletions(-)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index a4e6b879695..3037624f545 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,3 +1 @@
-DIST libarchive-3.3.1.tar.gz 6219943 BLAKE2B fc951a613098060d55c000436ccdc6997126be2e1eeb41f348ca20c1ae3e54936ae053404fdd3211de90a2a223b29f5a80c580a937878a37265401d55655fff1 SHA512 90702b393b6f0943f42438e277b257af45eee4fa82420431f6a4f5f48bb846f2a72c8ff084dc3ee9c87bdf8b57f4d8dddf7814870fe2604fe86c55d8d744c164
-DIST libarchive-3.3.2.tar.gz 6236562 BLAKE2B da26474b4fd8111561c1e5ac12a6333a8ba8a23cce9e9cdce7b50647ab8dbae08609ea1bffbab60da74c6555ebf0815c456fe69c72129eb6071fb845141d0beb SHA512 1e538cd7d492f54b11c16c56f12c1632ba14302a3737ec0db786272aec0c8020f1e27616a7654d57e26737e5ed9bfc9a62f1fdda61a95c39eb726aa7c2f673e4
DIST libarchive-3.3.3.tar.gz 6535598 BLAKE2B 627949d24572b8345800e72a24d1e8d95cd0f19bb7fab70e2f36be011fee6f345eecfa9563640068b10888520aafdf30b1e3426b7e2743589cabd3ab5c270a22 SHA512 9d12b47d6976efa9f98e62c25d8b85fd745d4e9ca7b7e6d36bfe095dfe5c4db017d4e785d110f3758f5938dad6f1a1b009267fd7e82cb7212e93e1aea237bab7
diff --git a/app-arch/libarchive/files/libarchive-3.3.1-libressl.patch b/app-arch/libarchive/files/libarchive-3.3.1-libressl.patch
deleted file mode 100644
index 7ee48d4e5f5..00000000000
--- a/app-arch/libarchive/files/libarchive-3.3.1-libressl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/libarchive/archive_openssl_evp_private.h 2017-01-29 05:06:27.000000000 +0000
-+++ b/libarchive/archive_openssl_evp_private.h 2018-04-19 04:00:14.061922747 +0000
-@@ -28,7 +28,8 @@
- #include <openssl/evp.h>
- #include <openssl/opensslv.h>
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-+(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
- #include <stdlib.h> /* malloc, free */
- #include <string.h> /* memset */
- static inline EVP_MD_CTX *EVP_MD_CTX_new(void)
-
---- a/libarchive/archive_openssl_hmac_private.h 2017-01-29 05:06:27.000000000 +0000
-+++ b/libarchive/archive_openssl_hmac_private.h 2018-04-19 04:02:18.309167446 +0000
-@@ -28,7 +28,8 @@
- #include <openssl/hmac.h>
- #include <openssl/opensslv.h>
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-+(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
- #include <stdlib.h> /* malloc, free */
- #include <string.h> /* memset */
- static inline HMAC_CTX *HMAC_CTX_new(void)
diff --git a/app-arch/libarchive/files/libarchive-3.3.2-libressl.patch b/app-arch/libarchive/files/libarchive-3.3.2-libressl.patch
deleted file mode 100644
index e053a539fae..00000000000
--- a/app-arch/libarchive/files/libarchive-3.3.2-libressl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/libarchive/archive_openssl_evp_private.h 2017-01-29 05:06:27.000000000 +0000
-+++ b/libarchive/archive_openssl_evp_private.h 2018-04-19 04:00:14.061922747 +0000
-@@ -28,7 +28,8 @@
- #include <openssl/evp.h>
- #include <openssl/opensslv.h>
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-+(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
- #include <stdlib.h> /* malloc, free */
- #include <string.h> /* memset */
- static inline EVP_MD_CTX *EVP_MD_CTX_new(void)
-
---- a/libarchive/archive_openssl_hmac_private.h 2017-01-29 05:06:27.000000000 +0000
-+++ b/libarchive/archive_openssl_hmac_private.h 2018-04-19 04:02:18.309167446 +0000
-@@ -28,7 +28,8 @@
- #include <openssl/hmac.h>
- #include <openssl/opensslv.h>
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-+(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
- #include <stdlib.h> /* malloc, free */
- #include <string.h> /* memset */
- static inline HMAC_CTX *HMAC_CTX_new(void)
diff --git a/app-arch/libarchive/libarchive-3.3.1.ebuild b/app-arch/libarchive/libarchive-3.3.1.ebuild
deleted file mode 100644
index 5ccced536ae..00000000000
--- a/app-arch/libarchive/libarchive-3.3.1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="https://www.libarchive.org/"
-SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs +threads xattr +zlib"
-
-RDEPEND="
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.1-libressl.patch
-)
-
-# Various test problems, starting with the fact that sandbox
-# explodes on long paths. https://bugs.gentoo.org/598806
-RESTRICT="test"
-
-src_prepare() {
- default
- elibtoolize # is required for Solaris sol2_ld linker fix
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=()
- myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- $(use_with zlib)
- )
- if multilib_is_native_abi ; then myconf+=(
- --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
- ); else myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- ); fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-multilib_src_test() {
- # Replace the default src_test so that it builds tests in parallel
- multilib_is_native_abi && emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
-
- # Create symlinks for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- # Exclude cat for the time being #589876
- for bin in cpio tar; do
- dosym bsd${bin} /usr/bin/${bin}
- echo '.so bsd${bin}.1' > "${T}"/${bin}.1
- doman "${T}"/${bin}.1
- done
- fi
- else
- emake DESTDIR="${D}" \
- install-includeHEADERS \
- install-libLTLIBRARIES \
- install-pkgconfigDATA
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-}
-
-multilib_src_install_all() {
- cd "${S}" || die
- einstalldocs
-}
diff --git a/app-arch/libarchive/libarchive-3.3.2.ebuild b/app-arch/libarchive/libarchive-3.3.2.ebuild
deleted file mode 100644
index d53b773494c..00000000000
--- a/app-arch/libarchive/libarchive-3.3.2.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="https://www.libarchive.org/"
-SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs +threads xattr +zlib"
-
-RDEPEND="
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.2-libressl.patch
-)
-
-# Various test problems, starting with the fact that sandbox
-# explodes on long paths. https://bugs.gentoo.org/598806
-RESTRICT="test"
-
-src_prepare() {
- default
- elibtoolize # is required for Solaris sol2_ld linker fix
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=()
- myconf=(
- $(use_enable acl)
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_with bzip2 bz2lib)
- $(use_with expat)
- $(use_with !expat xml2)
- $(use_with iconv)
- $(use_with lz4)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- $(use_with zlib)
- )
- if multilib_is_native_abi ; then
- myconf+=(
- --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
- )
- else
- myconf+=(
- --disable-bsdcat
- --disable-bsdcpio
- --disable-bsdtar
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-multilib_src_test() {
- # Replace the default src_test so that it builds tests in parallel
- multilib_is_native_abi && emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
-
- # Create symlinks for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- # Exclude cat for the time being #589876
- for bin in cpio tar; do
- dosym bsd${bin} /usr/bin/${bin}
- echo '.so bsd${bin}.1' > "${T}"/${bin}.1
- doman "${T}"/${bin}.1
- done
- fi
- else
- local install_targets=(
- install-includeHEADERS
- install-libLTLIBRARIES
- install-pkgconfigDATA
- )
- emake DESTDIR="${D}" "${install_targets[@]}"
- fi
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-}
-
-multilib_src_install_all() {
- cd "${S}" || die
- einstalldocs
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2018-09-10 9:40 Lars Wendler
0 siblings, 0 replies; 17+ messages in thread
From: Lars Wendler @ 2018-09-10 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 69b9261c44146262bd51c7de277e0f3cd98a10f2
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 10 09:13:42 2018 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Sep 10 09:40:37 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69b9261c
app-arch/libarchive: Bump to version 3.3.3
Package-Manager: Portage-2.3.49, Repoman-2.3.10
app-arch/libarchive/Manifest | 1 +
.../files/libarchive-3.3.3-libressl.patch | 12 ++
app-arch/libarchive/libarchive-3.3.3.ebuild | 128 +++++++++++++++++++++
3 files changed, 141 insertions(+)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 1570763e6a1..a4e6b879695 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,2 +1,3 @@
DIST libarchive-3.3.1.tar.gz 6219943 BLAKE2B fc951a613098060d55c000436ccdc6997126be2e1eeb41f348ca20c1ae3e54936ae053404fdd3211de90a2a223b29f5a80c580a937878a37265401d55655fff1 SHA512 90702b393b6f0943f42438e277b257af45eee4fa82420431f6a4f5f48bb846f2a72c8ff084dc3ee9c87bdf8b57f4d8dddf7814870fe2604fe86c55d8d744c164
DIST libarchive-3.3.2.tar.gz 6236562 BLAKE2B da26474b4fd8111561c1e5ac12a6333a8ba8a23cce9e9cdce7b50647ab8dbae08609ea1bffbab60da74c6555ebf0815c456fe69c72129eb6071fb845141d0beb SHA512 1e538cd7d492f54b11c16c56f12c1632ba14302a3737ec0db786272aec0c8020f1e27616a7654d57e26737e5ed9bfc9a62f1fdda61a95c39eb726aa7c2f673e4
+DIST libarchive-3.3.3.tar.gz 6535598 BLAKE2B 627949d24572b8345800e72a24d1e8d95cd0f19bb7fab70e2f36be011fee6f345eecfa9563640068b10888520aafdf30b1e3426b7e2743589cabd3ab5c270a22 SHA512 9d12b47d6976efa9f98e62c25d8b85fd745d4e9ca7b7e6d36bfe095dfe5c4db017d4e785d110f3758f5938dad6f1a1b009267fd7e82cb7212e93e1aea237bab7
diff --git a/app-arch/libarchive/files/libarchive-3.3.3-libressl.patch b/app-arch/libarchive/files/libarchive-3.3.3-libressl.patch
new file mode 100644
index 00000000000..4d7c0ec7cf3
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.3.3-libressl.patch
@@ -0,0 +1,12 @@
+--- a/libarchive/archive_openssl_evp_private.h
++++ b/libarchive/archive_openssl_evp_private.h
+@@ -28,7 +28,8 @@
+ #include <openssl/evp.h>
+ #include <openssl/opensslv.h>
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
+ #include <stdlib.h> /* malloc, free */
+ #include <string.h> /* memset */
+ static inline EVP_MD_CTX *EVP_MD_CTX_new(void)
diff --git a/app-arch/libarchive/libarchive-3.3.3.ebuild b/app-arch/libarchive/libarchive-3.3.3.ebuild
new file mode 100644
index 00000000000..18f015656af
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.3.3.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit libtool multilib-minimal toolchain-funcs
+
+DESCRIPTION="BSD tar command"
+HOMEPAGE="http://www.libarchive.org/"
+SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs +threads xattr +zlib"
+
+RDEPEND="
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs )
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.3.3-libressl.patch
+)
+
+# Various test problems, starting with the fact that sandbox
+# explodes on long paths. https://bugs.gentoo.org/598806
+RESTRICT="test"
+
+src_prepare() {
+ default
+ elibtoolize # is required for Solaris sol2_ld linker fix
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=()
+ myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ $(use_with zlib)
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+multilib_src_test() {
+ # Replace the default src_test so that it builds tests in parallel
+ multilib_is_native_abi && emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+
+ # Create symlinks for FreeBSD
+ if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
+ # Exclude cat for the time being #589876
+ for bin in cpio tar; do
+ dosym bsd${bin} /usr/bin/${bin}
+ echo '.so bsd${bin}.1' > "${T}"/${bin}.1
+ doman "${T}"/${bin}.1
+ done
+ fi
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ prune_libtool_files
+}
+
+multilib_src_install_all() {
+ cd "${S}" || die
+ einstalldocs
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2017-02-11 17:14 NP Hardass
0 siblings, 0 replies; 17+ messages in thread
From: NP Hardass @ 2017-02-11 17:14 UTC (permalink / raw
To: gentoo-commits
commit: dc5768207ff73ee56333736676ca256e578fd0c8
Author: NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 11 17:14:24 2017 +0000
Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Sat Feb 11 17:14:47 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc576820
app-arch/libarchive: Backport fix for CVE-2017-5601, #607794
https://github.com/libarchive/libarchive/commit/98dcbbf0bf4854bf987557e55e55fff7abbf3ea9
Package-Manager: portage-2.3.0
app-arch/libarchive/files/CVE-2017-5601.patch | 24 +++++
app-arch/libarchive/libarchive-3.2.2-r1.ebuild | 125 +++++++++++++++++++++++++
2 files changed, 149 insertions(+)
diff --git a/app-arch/libarchive/files/CVE-2017-5601.patch b/app-arch/libarchive/files/CVE-2017-5601.patch
new file mode 100644
index 0000000000..4ba85ff907
--- /dev/null
+++ b/app-arch/libarchive/files/CVE-2017-5601.patch
@@ -0,0 +1,24 @@
+From 98dcbbf0bf4854bf987557e55e55fff7abbf3ea9 Mon Sep 17 00:00:00 2001
+From: Martin Matuska <martin@matuska.org>
+Date: Thu, 19 Jan 2017 22:00:18 +0100
+Subject: [PATCH] Fail with negative lha->compsize in lha_read_file_header_1()
+ Fixes a heap buffer overflow reported in Secunia SA74169
+
+---
+ libarchive/archive_read_support_format_lha.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libarchive/archive_read_support_format_lha.c b/libarchive/archive_read_support_format_lha.c
+index 52a5531..d77a7c2 100644
+--- a/libarchive/archive_read_support_format_lha.c
++++ b/libarchive/archive_read_support_format_lha.c
+@@ -924,6 +924,9 @@ lha_read_file_header_1(struct archive_read *a, struct lha *lha)
+ /* Get a real compressed file size. */
+ lha->compsize -= extdsize - 2;
+
++ if (lha->compsize < 0)
++ goto invalid; /* Invalid compressed file size */
++
+ if (sum_calculated != headersum) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "LHa header sum error");
diff --git a/app-arch/libarchive/libarchive-3.2.2-r1.ebuild b/app-arch/libarchive/libarchive-3.2.2-r1.ebuild
new file mode 100644
index 0000000000..e33c0b78cb
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.2.2-r1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit eutils libtool multilib-minimal toolchain-funcs
+
+DESCRIPTION="BSD tar command"
+HOMEPAGE="http://www.libarchive.org/"
+SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs +threads xattr +zlib"
+
+RDEPEND="
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils[threads=,${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs )
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/CVE-2017-5601.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize # is required for Solaris sol2_ld linker fix
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=()
+ myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ $(use_with zlib)
+ )
+ if multilib_is_native_abi ; then myconf+=(
+ --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
+ ); else myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ ); fi
+
+ # We disable lzmadec because we support the newer liblzma from xz-utils
+ # and not liblzmadec with this version.
+ myconf+=(
+ --without-lzmadec
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+multilib_src_test() {
+ # Replace the default src_test so that it builds tests in parallel
+ multilib_is_native_abi && emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+
+ # Create symlinks for FreeBSD
+ if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
+ # Exclude cat for the time being #589876
+ for bin in cpio tar; do
+ dosym bsd${bin} /usr/bin/${bin}
+ echo '.so bsd${bin}.1' > "${T}"/${bin}.1
+ doman "${T}"/${bin}.1
+ done
+ fi
+ else
+ emake DESTDIR="${D}" \
+ install-includeHEADERS \
+ install-libLTLIBRARIES \
+ install-pkgconfigDATA
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ prune_libtool_files
+}
+
+multilib_src_install_all() {
+ cd "${S}" || die
+ einstalldocs
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2016-10-31 22:39 Lars Wendler
0 siblings, 0 replies; 17+ messages in thread
From: Lars Wendler @ 2016-10-31 22:39 UTC (permalink / raw
To: gentoo-commits
commit: 6709a4dd32310b2280e4e90e37c4000fa9c13e27
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 21:28:26 2016 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 22:38:53 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6709a4dd
app-arch/libarchive: Removed old.
Package-Manager: portage-2.3.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
app-arch/libarchive/Manifest | 1 -
.../files/libarchive-3.1.2-CVE-2013-0211.patch | 32 ------
.../files/libarchive-3.1.2-CVE-2016-1541.patch | 67 -----------
.../files/libarchive-3.1.2-outofsource.patch | 29 -----
app-arch/libarchive/libarchive-3.1.2-r1.ebuild | 91 ---------------
app-arch/libarchive/libarchive-3.1.2-r2.ebuild | 93 ---------------
app-arch/libarchive/libarchive-3.1.2-r3.ebuild | 121 --------------------
app-arch/libarchive/libarchive-3.1.2-r4.ebuild | 121 --------------------
app-arch/libarchive/libarchive-3.1.2-r5.ebuild | 125 ---------------------
9 files changed, 680 deletions(-)
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 258b3dc..778eae3 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1,3 +1,2 @@
-DIST libarchive-3.1.2.tar.gz 4527540 SHA256 eb87eacd8fe49e8d90c8fdc189813023ccc319c5e752b01fb6ad0cc7b2c53d5e SHA512 1f3c2a675031f93c7d42ae2ed06742b0b1e2236ff57d9117791d62fb8ae77d6cafffbcb5d45b5bd98daa908bd18c576cf82e01a9b1eba699705e23eff3688114 WHIRLPOOL b90f336afb5264be91fb17d7dae3d5697e3f84e24d276af1d5ac076fe15ef6f5756488f09506fabe470473becb5449cd1f34865309dcf8a914e6e83506e8695f
DIST libarchive-3.2.1.tar.gz 5448888 SHA256 72ee1a4e3fd534525f13a0ba1aa7b05b203d186e0c6072a8a4738649d0b3cfd2 SHA512 a5d43cb0bf36b687fabfbc874e7adc1fa94c563e7f073e107db8d4e79e8d0d8146cb985809f8115fbb882fc2d8a2a477d0a7364e93e6df62f292bb5e9865ec5c WHIRLPOOL 1dd79ec3d7cf53be237d6730476c6a47c0722a5a7d0f2adc347aa491ba95ba7c77342a39a9e3d0fbff64111b552bb558cb571aa74dd6c18e6c60987bf0f41d7c
DIST libarchive-3.2.2.tar.gz 5458241 SHA256 691c194ee132d1f0f7a42541f091db811bc2e56f7107e9121be2bc8c04f1060f SHA512 a67920c37d49cf9478032d77fc4fa21827cebb96e9b83d9ecb8466328834052e4ab3d3a9bc4e2edf405d6cb14ffd648c9fa100b578257f6e5842c99bbea558a7 WHIRLPOOL 8fdc2e9245db27a7da3cfdeecb6283b170a25fc6ea8201fe5a414b4c1b523ae6b05745246f867f24062d91b7a040780b687b1a44a95503c4e252f9836218ffef
diff --git a/app-arch/libarchive/files/libarchive-3.1.2-CVE-2013-0211.patch b/app-arch/libarchive/files/libarchive-3.1.2-CVE-2013-0211.patch
deleted file mode 100644
index 78427ce..00000000
--- a/app-arch/libarchive/files/libarchive-3.1.2-CVE-2013-0211.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 22531545514043e04633e1c015c7540b9de9dbe4 Mon Sep 17 00:00:00 2001
-From: Tim Kientzle <kientzle@acm.org>
-Date: Fri, 22 Mar 2013 23:48:41 -0700
-Subject: [PATCH] Limit write requests to at most INT_MAX. This prevents a
- certain common programming error (passing -1 to write) from leading to other
- problems deeper in the library.
-
----
- libarchive/archive_write.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c
-index eede5e0..be85621 100644
---- a/libarchive/archive_write.c
-+++ b/libarchive/archive_write.c
-@@ -673,8 +673,13 @@ static ssize_t
- _archive_write_data(struct archive *_a, const void *buff, size_t s)
- {
- struct archive_write *a = (struct archive_write *)_a;
-+ const size_t max_write = INT_MAX;
-+
- archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC,
- ARCHIVE_STATE_DATA, "archive_write_data");
-+ /* In particular, this catches attempts to pass negative values. */
-+ if (s > max_write)
-+ s = max_write;
- archive_clear_error(&a->archive);
- return ((a->format_write_data)(a, buff, s));
- }
---
-1.8.1
-
diff --git a/app-arch/libarchive/files/libarchive-3.1.2-CVE-2016-1541.patch b/app-arch/libarchive/files/libarchive-3.1.2-CVE-2016-1541.patch
deleted file mode 100644
index 63c6a74..00000000
--- a/app-arch/libarchive/files/libarchive-3.1.2-CVE-2016-1541.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From d0331e8e5b05b475f20b1f3101fe1ad772d7e7e7 Mon Sep 17 00:00:00 2001
-From: Tim Kientzle <kientzle@acm.org>
-Date: Sun, 24 Apr 2016 17:13:45 -0700
-Subject: [PATCH] Issue #656: Fix CVE-2016-1541, VU#862384
-
-When reading OS X metadata entries in Zip archives that were stored
-without compression, libarchive would use the uncompressed entry size
-to allocate a buffer but would use the compressed entry size to limit
-the amount of data copied into that buffer. Since the compressed
-and uncompressed sizes are provided by data in the archive itself,
-an attacker could manipulate these values to write data beyond
-the end of the allocated buffer.
-
-This fix provides three new checks to guard against such
-manipulation and to make libarchive generally more robust when
-handling this type of entry:
- 1. If an OS X metadata entry is stored without compression,
- abort the entire archive if the compressed and uncompressed
- data sizes do not match.
- 2. When sanity-checking the size of an OS X metadata entry,
- abort this entry if either the compressed or uncompressed
- size is larger than 4MB.
- 3. When copying data into the allocated buffer, check the copy
- size against both the compressed entry size and uncompressed
- entry size.
----
- libarchive/archive_read_support_format_zip.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c
-index 0f8262c..0a0be96 100644
---- a/libarchive/archive_read_support_format_zip.c
-+++ b/libarchive/archive_read_support_format_zip.c
-@@ -2778,6 +2778,11 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
-
- switch(rsrc->compression) {
- case 0: /* No compression. */
-+ if (rsrc->uncompressed_size != rsrc->compressed_size) {
-+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
-+ "Malformed OS X metadata entry: inconsistent size");
-+ return (ARCHIVE_FATAL);
-+ }
- #ifdef HAVE_ZLIB_H
- case 8: /* Deflate compression. */
- #endif
-@@ -2798,6 +2803,12 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
- (intmax_t)rsrc->uncompressed_size);
- return (ARCHIVE_WARN);
- }
-+ if (rsrc->compressed_size > (4 * 1024 * 1024)) {
-+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
-+ "Mac metadata is too large: %jd > 4M bytes",
-+ (intmax_t)rsrc->compressed_size);
-+ return (ARCHIVE_WARN);
-+ }
-
- metadata = malloc((size_t)rsrc->uncompressed_size);
- if (metadata == NULL) {
-@@ -2836,6 +2847,8 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
- bytes_avail = remaining_bytes;
- switch(rsrc->compression) {
- case 0: /* No compression. */
-+ if ((size_t)bytes_avail > metadata_bytes)
-+ bytes_avail = metadata_bytes;
- memcpy(mp, p, bytes_avail);
- bytes_used = (size_t)bytes_avail;
- metadata_bytes -= bytes_used;
diff --git a/app-arch/libarchive/files/libarchive-3.1.2-outofsource.patch b/app-arch/libarchive/files/libarchive-3.1.2-outofsource.patch
deleted file mode 100644
index 6545c61..00000000
--- a/app-arch/libarchive/files/libarchive-3.1.2-outofsource.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/Makefile.am 2013-02-09 12:23:03.000000000 -0500
-+++ b/Makefile.am 2016-01-08 16:43:00.868186895 -0500
-@@ -508,7 +508,7 @@
- # Building it automatically provides a sanity-check on libarchive_test_SOURCES
- # above.
- libarchive/test/list.h: Makefile
-- cat $(top_srcdir)/libarchive/test/test_*.c | grep DEFINE_TEST > libarchive/test/list.h
-+ mkdir -p libarchive/test && cat $(top_srcdir)/libarchive/test/test_*.c | grep DEFINE_TEST > libarchive/test/list.h
-
- libarchive_TESTS_ENVIRONMENT= LIBARCHIVE_TEST_FILES=`cd $(top_srcdir);/bin/pwd`/libarchive/test LRZIP=NOCONFIG
-
-@@ -835,7 +835,7 @@
- $(PLATFORMCPPFLAGS)
-
- tar/test/list.h: Makefile
-- cat $(top_srcdir)/tar/test/test_*.c | grep DEFINE_TEST > tar/test/list.h
-+ mkdir -p tar/test && cat $(top_srcdir)/tar/test/test_*.c | grep DEFINE_TEST > tar/test/list.h
-
- if BUILD_BSDTAR
- bsdtar_test_programs= bsdtar_test
-@@ -975,7 +975,7 @@
- bsdcpio_test_LDADD=libarchive_fe.la
-
- cpio/test/list.h: Makefile
-- cat $(top_srcdir)/cpio/test/test_*.c | grep DEFINE_TEST > cpio/test/list.h
-+ mkdir -p cpio/test && cat $(top_srcdir)/cpio/test/test_*.c | grep DEFINE_TEST > cpio/test/list.h
-
- if BUILD_BSDCPIO
- bsdcpio_test_programs= bsdcpio_test
diff --git a/app-arch/libarchive/libarchive-3.1.2-r1.ebuild b/app-arch/libarchive/libarchive-3.1.2-r1.ebuild
deleted file mode 100644
index ce57a80..00000000
--- a/app-arch/libarchive/libarchive-3.1.2-r1.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils libtool multilib toolchain-funcs
-
-DESCRIPTION="BSD tar command"
-HOMEPAGE="http://www.libarchive.org/"
-SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux +lzma lzo nettle static-libs xattr +zlib"
-
-RDEPEND="dev-libs/openssl:0
- acl? ( virtual/acl )
- bzip2? ( app-arch/bzip2 )
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2 )
- iconv? ( virtual/libiconv )
- kernel_linux? (
- xattr? ( sys-apps/attr )
- )
- lzma? ( app-arch/xz-utils )
- lzo? ( >=dev-libs/lzo-2 )
- nettle? ( dev-libs/nettle )
- zlib? ( sys-libs/zlib )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-DOCS="NEWS README"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-CVE-2013-0211.patch
- elibtoolize
-}
-
-src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- # We disable lzmadec because we support the newer liblzma from xz-utils
- # and not liblzmadec with this version.
- econf \
- $(use_enable static-libs static) \
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared) \
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared) \
- $(use_enable xattr) \
- $(use_enable acl) \
- $(use_with zlib) \
- $(use_with bzip2 bz2lib) \
- --without-lzmadec \
- $(use_with iconv) \
- $(use_with lzma) \
- $(use_with lzo lzo2) \
- $(use_with nettle) \
- $(use_with !expat xml2) \
- $(use_with expat)
-}
-
-src_test() {
- # Replace the default src_test so that it builds tests in parallel
- emake check
-}
-
-src_install() {
- default
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
- # Create tar symlink for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- dosym bsdtar /usr/bin/tar
- echo '.so bsdtar.1' > "${T}"/tar.1
- doman "${T}"/tar.1
- # We may wish to switch to symlink bsdcpio to cpio too one day
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/${PN}$(get_libname 12)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/${PN}$(get_libname 12)
-}
diff --git a/app-arch/libarchive/libarchive-3.1.2-r2.ebuild b/app-arch/libarchive/libarchive-3.1.2-r2.ebuild
deleted file mode 100644
index 5b56888..00000000
--- a/app-arch/libarchive/libarchive-3.1.2-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit eutils libtool multilib toolchain-funcs
-
-DESCRIPTION="BSD tar command"
-HOMEPAGE="http://www.libarchive.org/"
-SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- acl? ( virtual/acl )
- bzip2? ( app-arch/bzip2 )
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2 )
- iconv? ( virtual/libiconv )
- kernel_linux? (
- xattr? ( sys-apps/attr )
- )
- lzma? ( app-arch/xz-utils )
- lzo? ( >=dev-libs/lzo-2 )
- nettle? ( dev-libs/nettle )
- zlib? ( sys-libs/zlib )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-DOCS="NEWS README"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-CVE-2013-0211.patch
- elibtoolize
-}
-
-src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- # We disable lzmadec because we support the newer liblzma from xz-utils
- # and not liblzmadec with this version.
- econf \
- $(use_enable static-libs static) \
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared) \
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared) \
- $(use_enable xattr) \
- $(use_enable acl) \
- $(use_with zlib) \
- $(use_with bzip2 bz2lib) \
- --without-lzmadec \
- $(use_with iconv) \
- $(use_with lzma) \
- $(use_with lzo lzo2) \
- $(use_with nettle) \
- $(use_with !expat xml2) \
- $(use_with expat)
-}
-
-src_test() {
- # Replace the default src_test so that it builds tests in parallel
- emake check
-}
-
-src_install() {
- default
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
- # Create tar symlink for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- dosym bsdtar /usr/bin/tar
- echo '.so bsdtar.1' > "${T}"/tar.1
- doman "${T}"/tar.1
- # We may wish to switch to symlink bsdcpio to cpio too one day
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/${PN}$(get_libname 12)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/${PN}$(get_libname 12)
-}
diff --git a/app-arch/libarchive/libarchive-3.1.2-r3.ebuild b/app-arch/libarchive/libarchive-3.1.2-r3.ebuild
deleted file mode 100644
index 53b45fd..00000000
--- a/app-arch/libarchive/libarchive-3.1.2-r3.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils multilib-minimal toolchain-funcs
-
-DESCRIPTION="BSD tar command"
-HOMEPAGE="http://www.libarchive.org/"
-SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-DOCS=( NEWS README )
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-CVE-2013-0211.patch
- epatch "${FILESDIR}"/${P}-outofsource.patch
- eautoreconf
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=()
- myconf=(
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_enable acl)
- $(use_with zlib)
- $(use_with bzip2 bz2lib)
- $(use_with iconv)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- $(use_with !expat xml2)
- $(use_with expat)
- )
- if multilib_is_native_abi ; then myconf+=(
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- ); else myconf+=(
- --disable-bsdtar
- --disable-bsdcpio
- ); fi
-
- # We disable lzmadec because we support the newer liblzma from xz-utils
- # and not liblzmadec with this version.
- myconf+=(
- --without-lzmadec
- )
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-multilib_src_test() {
- # Replace the default src_test so that it builds tests in parallel
- multilib_is_native_abi && emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
- # Create tar symlink for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- dosym bsdtar /usr/bin/tar
- echo '.so bsdtar.1' > "${T}"/tar.1
- doman "${T}"/tar.1
- # We may wish to switch to symlink bsdcpio to cpio too one day
- fi
- else
- emake DESTDIR="${D}" \
- install-includeHEADERS \
- install-libLTLIBRARIES \
- install-pkgconfigDATA
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
- fi
-}
-
-multilib_src_install_all() {
- cd "${S}" || die
- dodoc "${DOCS[@]}"
-}
diff --git a/app-arch/libarchive/libarchive-3.1.2-r4.ebuild b/app-arch/libarchive/libarchive-3.1.2-r4.ebuild
deleted file mode 100644
index 9452b43..00000000
--- a/app-arch/libarchive/libarchive-3.1.2-r4.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils multilib-minimal toolchain-funcs
-
-DESCRIPTION="BSD tar command"
-HOMEPAGE="http://www.libarchive.org/"
-SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-DOCS=( NEWS README )
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-CVE-2013-0211.patch
- epatch "${FILESDIR}"/${P}-outofsource.patch
- eautoreconf
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=()
- myconf=(
- $(use_enable static-libs static)
- $(use_enable xattr)
- $(use_enable acl)
- $(use_with zlib)
- $(use_with bzip2 bz2lib)
- $(use_with iconv)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- $(use_with !expat xml2)
- $(use_with expat)
- )
- if multilib_is_native_abi ; then myconf+=(
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- ); else myconf+=(
- --disable-bsdtar
- --disable-bsdcpio
- ); fi
-
- # We disable lzmadec because we support the newer liblzma from xz-utils
- # and not liblzmadec with this version.
- myconf+=(
- --without-lzmadec
- )
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-multilib_src_test() {
- # Replace the default src_test so that it builds tests in parallel
- multilib_is_native_abi && emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
- # Create tar symlink for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- dosym bsdtar /usr/bin/tar
- echo '.so bsdtar.1' > "${T}"/tar.1
- doman "${T}"/tar.1
- # We may wish to switch to symlink bsdcpio to cpio too one day
- fi
- else
- emake DESTDIR="${D}" \
- install-includeHEADERS \
- install-libLTLIBRARIES \
- install-pkgconfigDATA
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
- fi
-}
-
-multilib_src_install_all() {
- cd "${S}" || die
- dodoc "${DOCS[@]}"
-}
diff --git a/app-arch/libarchive/libarchive-3.1.2-r5.ebuild b/app-arch/libarchive/libarchive-3.1.2-r5.ebuild
deleted file mode 100644
index 7d43f90..00000000
--- a/app-arch/libarchive/libarchive-3.1.2-r5.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils multilib-minimal toolchain-funcs
-
-DESCRIPTION="BSD tar command"
-HOMEPAGE="http://www.libarchive.org/"
-SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 BSD-4 public-domain"
-SLOT="0/13"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
- acl? ( virtual/acl[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
- !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
- iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- kernel_linux? (
- xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
- nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- kernel_linux? (
- virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
-
-DOCS=( NEWS README )
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-CVE-2013-0211.patch
- epatch "${FILESDIR}"/${P}-outofsource.patch
- epatch "${FILESDIR}"/${P}-CVE-2016-1541.patch
- eautoreconf
-}
-
-multilib_src_configure() {
- export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
-
- local myconf=()
- # acl: libarchive has tight integration with OSX, disabling acl
- # breaks the code for it knows it is there and assumes hence is
- # enabled
- myconf=(
- $(use_enable static-libs static)
- $(use_enable xattr)
- $([[ ${CHOST} != *-darwin* ]] && use_enable acl)
- $(use_with zlib)
- $(use_with bzip2 bz2lib)
- $(use_with iconv)
- $(use_with lzma)
- $(use_with lzo lzo2)
- $(use_with nettle)
- $(use_with !expat xml2)
- $(use_with expat)
- )
- if multilib_is_native_abi ; then myconf+=(
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- ); else myconf+=(
- --disable-bsdtar
- --disable-bsdcpio
- ); fi
-
- # We disable lzmadec because we support the newer liblzma from xz-utils
- # and not liblzmadec with this version.
- myconf+=(
- --without-lzmadec
- )
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake libarchive.la
- fi
-}
-
-multilib_src_test() {
- # Replace the default src_test so that it builds tests in parallel
- multilib_is_native_abi && emake check
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
- # Create tar symlink for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- dosym bsdtar /usr/bin/tar
- echo '.so bsdtar.1' > "${T}"/tar.1
- doman "${T}"/tar.1
- # We may wish to switch to symlink bsdcpio to cpio too one day
- fi
- else
- emake DESTDIR="${D}" \
- install-includeHEADERS \
- install-libLTLIBRARIES \
- install-pkgconfigDATA
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
- fi
-}
-
-multilib_src_install_all() {
- cd "${S}" || die
- dodoc "${DOCS[@]}"
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2016-07-05 19:26 NP Hardass
0 siblings, 0 replies; 17+ messages in thread
From: NP Hardass @ 2016-07-05 19:26 UTC (permalink / raw
To: gentoo-commits
commit: eb38d016eda247952828b7c3de6d1fd4cb558cf5
Author: NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 4 19:54:48 2016 +0000
Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Tue Jul 5 19:26:10 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb38d016
app-arch/libarchive: Add src_prepare w/ eautoreconf, fix OSX acl #587890
Package-Manager: portage-2.2.28
.../files/libarchive-3.2.1-osx-fix-acl.patch | 32 ++++++++++++++++++++++
...-3.2.1-r2.ebuild => libarchive-3.2.1-r3.ebuild} | 10 ++++++-
2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/app-arch/libarchive/files/libarchive-3.2.1-osx-fix-acl.patch b/app-arch/libarchive/files/libarchive-3.2.1-osx-fix-acl.patch
new file mode 100644
index 0000000..f3d1363
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.2.1-osx-fix-acl.patch
@@ -0,0 +1,32 @@
+From 3e66829717c8fde611b2b611497f08a46da40ce7 Mon Sep 17 00:00:00 2001
+From: Joerg Sonnenberger <joerg@bec.de>
+Date: Tue, 21 Jun 2016 18:29:07 +0200
+Subject: [PATCH] Dummy out copy_acls if sys/acl.h is missing or ACL support is
+ disabled.
+
+---
+ libarchive/archive_write_disk_posix.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libarchive/archive_write_disk_posix.c b/libarchive/archive_write_disk_posix.c
+index 6737cd7..67aacf1 100644
+--- a/libarchive/archive_write_disk_posix.c
++++ b/libarchive/archive_write_disk_posix.c
+@@ -3487,6 +3487,9 @@ copy_xattrs(struct archive_write_disk *a, int tmpfd, int dffd)
+ static int
+ copy_acls(struct archive_write_disk *a, int tmpfd, int dffd)
+ {
++#ifndef HAVE_SYS_ACL_H
++ return 0;
++#else
+ acl_t acl, dfacl = NULL;
+ int acl_r, ret = ARCHIVE_OK;
+
+@@ -3514,6 +3517,7 @@ copy_acls(struct archive_write_disk *a, int tmpfd, int dffd)
+ if (dfacl)
+ acl_free(dfacl);
+ return (ret);
++#endif
+ }
+
+ static int
diff --git a/app-arch/libarchive/libarchive-3.2.1-r2.ebuild b/app-arch/libarchive/libarchive-3.2.1-r3.ebuild
similarity index 95%
rename from app-arch/libarchive/libarchive-3.2.1-r2.ebuild
rename to app-arch/libarchive/libarchive-3.2.1-r3.ebuild
index 3b514eb..362bf63 100644
--- a/app-arch/libarchive/libarchive-3.2.1-r2.ebuild
+++ b/app-arch/libarchive/libarchive-3.2.1-r3.ebuild
@@ -36,7 +36,15 @@ DEPEND="${RDEPEND}
e2fsprogs? ( sys-fs/e2fsprogs )
)"
-PATCHES=( "${FILESDIR}/${P}-fix-tests-gnu99.patch" )
+PATCHES=(
+ "${FILESDIR}/${P}-fix-tests-gnu99.patch"
+ "${FILESDIR}/${P}-osx-fix-acl.patch" #587890
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
multilib_src_configure() {
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2016-07-03 7:05 NP Hardass
0 siblings, 0 replies; 17+ messages in thread
From: NP Hardass @ 2016-07-03 7:05 UTC (permalink / raw
To: gentoo-commits
commit: 6c9193ee55e0603fde627238a82acd02fa7010a5
Author: NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 3 07:04:30 2016 +0000
Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
CommitDate: Sun Jul 3 07:05:23 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c9193ee
app-arch/libarchive: Add lz4, fix up EAPI6, fix test, minor formatting
3.2.1-r2 makes bsdcat and bsdcpio the default for BSD must like bsdtar
already is.
Package-Manager: portage-2.2.28
.../files/libarchive-3.2.1-fix-tests-gnu99.patch | 47 ++++++++++++++++++
...ive-3.2.1.ebuild => libarchive-3.2.1-r1.ebuild} | 39 +++++++--------
...ive-3.2.1.ebuild => libarchive-3.2.1-r2.ebuild} | 55 ++++++++++------------
app-arch/libarchive/metadata.xml | 21 +++++----
4 files changed, 105 insertions(+), 57 deletions(-)
diff --git a/app-arch/libarchive/files/libarchive-3.2.1-fix-tests-gnu99.patch b/app-arch/libarchive/files/libarchive-3.2.1-fix-tests-gnu99.patch
new file mode 100644
index 0000000..ec249c3
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.2.1-fix-tests-gnu99.patch
@@ -0,0 +1,47 @@
+From 11f5b75c9ba12ba73b5fa34dc9d285983d99c01b Mon Sep 17 00:00:00 2001
+From: Joerg Sonnenberger <joerg@bec.de>
+Date: Wed, 22 Jun 2016 23:09:27 +0200
+Subject: [PATCH] Avoid use of C99 for-scope declarations to fix issue #729.
+
+---
+ libarchive/test/test_write_format_gnutar_filenames.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libarchive/test/test_write_format_gnutar_filenames.c b/libarchive/test/test_write_format_gnutar_filenames.c
+index 38b4ca9..26457d3 100644
+--- a/libarchive/test/test_write_format_gnutar_filenames.c
++++ b/libarchive/test/test_write_format_gnutar_filenames.c
+@@ -42,6 +42,7 @@ DEFINE_TEST(test_write_format_gnutar_filenames)
+ struct archive_entry *ae, *template;
+ struct archive *a;
+ size_t used;
++ int i;
+
+ buff = malloc(buffsize); /* million bytes of work area */
+ assert(buff != NULL);
+@@ -55,7 +56,7 @@ DEFINE_TEST(test_write_format_gnutar_filenames)
+ archive_entry_set_mode(template, S_IFREG | 0755);
+ archive_entry_set_size(template, 8);
+
+- for (int i = 0; i < 2000; ++i) {
++ for (i = 0; i < 2000; ++i) {
+ filename[i] = 'a';
+ filename[i + 1] = '\0';
+ archive_entry_copy_pathname(template, filename);
+@@ -97,6 +98,7 @@ DEFINE_TEST(test_write_format_gnutar_linknames)
+ struct archive_entry *ae, *template;
+ struct archive *a;
+ size_t used;
++ int i;
+
+ buff = malloc(buffsize); /* million bytes of work area */
+ assert(buff != NULL);
+@@ -110,7 +112,7 @@ DEFINE_TEST(test_write_format_gnutar_linknames)
+ archive_entry_set_mode(template, S_IFLNK | 0755);
+ archive_entry_copy_pathname(template, "link");
+
+- for (int i = 0; i < 2000; ++i) {
++ for (i = 0; i < 2000; ++i) {
+ filename[i] = 'a';
+ filename[i + 1] = '\0';
+ archive_entry_copy_symlink(template, filename);
diff --git a/app-arch/libarchive/libarchive-3.2.1.ebuild b/app-arch/libarchive/libarchive-3.2.1-r1.ebuild
similarity index 87%
copy from app-arch/libarchive/libarchive-3.2.1.ebuild
copy to app-arch/libarchive/libarchive-3.2.1-r1.ebuild
index 9566991..ccdafb6 100644
--- a/app-arch/libarchive/libarchive-3.2.1.ebuild
+++ b/app-arch/libarchive/libarchive-3.2.1-r1.ebuild
@@ -12,11 +12,9 @@ SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
LICENSE="BSD BSD-2 BSD-4 public-domain"
SLOT="0/13"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
+IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs xattr +zlib"
RDEPEND="
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
@@ -24,7 +22,10 @@ RDEPEND="
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
kernel_linux? (
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
+ )
+ !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
@@ -33,9 +34,9 @@ DEPEND="${RDEPEND}
kernel_linux? (
virtual/os-headers
e2fsprogs? ( sys-fs/e2fsprogs )
- )"
+ )"
-DOCS=( NEWS README )
+PATCHES=( "${FILESDIR}/${P}-fix-tests-gnu99.patch" )
src_prepare() {
default
@@ -47,24 +48,27 @@ multilib_src_configure() {
local myconf=()
myconf=(
+ $(use_enable acl)
$(use_enable static-libs static)
$(use_enable xattr)
- $(use_enable acl)
- $(use_with zlib)
$(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
$(use_with iconv)
+ $(use_with lz4)
$(use_with lzma)
$(use_with lzo lzo2)
$(use_with nettle)
- $(use_with !expat xml2)
- $(use_with expat)
+ $(use_with zlib)
)
if multilib_is_native_abi ; then myconf+=(
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
--enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
); else myconf+=(
- --disable-bsdtar
+ --disable-bsdcat
--disable-bsdcpio
+ --disable-bsdtar
); fi
# We disable lzmadec because we support the newer liblzma from xz-utils
@@ -93,9 +97,6 @@ multilib_src_install() {
if multilib_is_native_abi ; then
emake DESTDIR="${D}" install
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
# Create tar symlink for FreeBSD
if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
dosym bsdtar /usr/bin/tar
@@ -108,13 +109,13 @@ multilib_src_install() {
install-includeHEADERS \
install-libLTLIBRARIES \
install-pkgconfigDATA
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ prune_libtool_files
}
multilib_src_install_all() {
cd "${S}" || die
- dodoc "${DOCS[@]}"
+ einstalldocs
}
diff --git a/app-arch/libarchive/libarchive-3.2.1.ebuild b/app-arch/libarchive/libarchive-3.2.1-r2.ebuild
similarity index 81%
rename from app-arch/libarchive/libarchive-3.2.1.ebuild
rename to app-arch/libarchive/libarchive-3.2.1-r2.ebuild
index 9566991..3b514eb 100644
--- a/app-arch/libarchive/libarchive-3.2.1.ebuild
+++ b/app-arch/libarchive/libarchive-3.2.1-r2.ebuild
@@ -12,11 +12,9 @@ SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
LICENSE="BSD BSD-2 BSD-4 public-domain"
SLOT="0/13"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
+IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl lz4 +lzma lzo nettle static-libs xattr +zlib"
RDEPEND="
- !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
@@ -24,7 +22,10 @@ RDEPEND="
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
kernel_linux? (
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
- )
+ )
+ !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
@@ -33,38 +34,36 @@ DEPEND="${RDEPEND}
kernel_linux? (
virtual/os-headers
e2fsprogs? ( sys-fs/e2fsprogs )
- )"
+ )"
-DOCS=( NEWS README )
-
-src_prepare() {
- default
- eautoreconf
-}
+PATCHES=( "${FILESDIR}/${P}-fix-tests-gnu99.patch" )
multilib_src_configure() {
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
local myconf=()
myconf=(
+ $(use_enable acl)
$(use_enable static-libs static)
$(use_enable xattr)
- $(use_enable acl)
- $(use_with zlib)
$(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
$(use_with iconv)
+ $(use_with lz4)
$(use_with lzma)
$(use_with lzo lzo2)
$(use_with nettle)
- $(use_with !expat xml2)
- $(use_with expat)
+ $(use_with zlib)
)
if multilib_is_native_abi ; then myconf+=(
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
--enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
); else myconf+=(
- --disable-bsdtar
+ --disable-bsdcat
--disable-bsdcpio
+ --disable-bsdtar
); fi
# We disable lzmadec because we support the newer liblzma from xz-utils
@@ -93,28 +92,26 @@ multilib_src_install() {
if multilib_is_native_abi ; then
emake DESTDIR="${D}" install
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
-
- # Create tar symlink for FreeBSD
+ # Create symlinks for FreeBSD
if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- dosym bsdtar /usr/bin/tar
- echo '.so bsdtar.1' > "${T}"/tar.1
- doman "${T}"/tar.1
- # We may wish to switch to symlink bsdcpio to cpio too one day
+ for bin in cat cpio tar; do
+ dosym bsd${bin} /usr/bin/${bin}
+ echo '.so bsd${bin}.1' > "${T}"/${bin}.1
+ doman "${T}"/${bin}.1
+ done
fi
else
emake DESTDIR="${D}" \
install-includeHEADERS \
install-libLTLIBRARIES \
install-pkgconfigDATA
-
- # Libs.private: should be used from libarchive.pc instead
- prune_libtool_files
fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ prune_libtool_files
}
multilib_src_install_all() {
cd "${S}" || die
- dodoc "${DOCS[@]}"
+ einstalldocs
}
diff --git a/app-arch/libarchive/metadata.xml b/app-arch/libarchive/metadata.xml
index 174e5be..4222988 100644
--- a/app-arch/libarchive/metadata.xml
+++ b/app-arch/libarchive/metadata.xml
@@ -14,24 +14,27 @@
It has a number of advantages over previous tar implementations.
</longdescription>
<use>
- <flag name="zlib">
- Allow accessing gzip-compressed archives through
- <pkg>sys-libs/zlib</pkg>. This only affects libarchive's native
- support: bsdtar will keep using gunzip as a filter if that's not
- built-in. It's also needed for supporting extraction of ZIP
- files.
- </flag>
<flag name="bzip2">
Allow accessing bzip2-compressed archives through libbz2 (which
comes with <pkg>app-arch/bzip2</pkg>). This only affects
libarchive's native support: bsdtar will keep using bunzip2 as a
filter if that's not built-in.
</flag>
+ <flag name="e2fsprogs">
+ Use file flags from <pkg>sys-fs/e2fsprogs</pkg> headers instead of <pkg>virtual/os-headers</pkg> headers
+ </flag>
+ <flag name="lz4">
+ Enable support for LZ4 compression using <pkg>app-arch/lz4</pkg>
+ </flag>
<flag name="nettle">
Use <pkg>dev-libs/nettle</pkg> as crypto backend
</flag>
- <flag name="e2fsprogs">
- Use file flags from <pkg>sys-fs/e2fsprogs</pkg> headers instead of <pkg>virtual/os-headers</pkg> headers
+ <flag name="zlib">
+ Allow accessing gzip-compressed archives through
+ <pkg>sys-libs/zlib</pkg>. This only affects libarchive's native
+ support: bsdtar will keep using gunzip as a filter if that's not
+ built-in. It's also needed for supporting extraction of ZIP
+ files.
</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/
@ 2016-01-11 17:04 Ian Stakenvicius
0 siblings, 0 replies; 17+ messages in thread
From: Ian Stakenvicius @ 2016-01-11 17:04 UTC (permalink / raw
To: gentoo-commits
commit: 1236680f7cce8054172c79943d7493d859410556
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 9 14:48:50 2016 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Mon Jan 11 16:53:21 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1236680f
app-arch/libarchive: convert to multilib
multilib is needed to support samba-4 (new rdep)
Package-Manager: portage-2.2.26
.../files/libarchive-3.1.2-outofsource.patch | 29 +++++
app-arch/libarchive/libarchive-3.1.2-r3.ebuild | 121 +++++++++++++++++++++
2 files changed, 150 insertions(+)
diff --git a/app-arch/libarchive/files/libarchive-3.1.2-outofsource.patch b/app-arch/libarchive/files/libarchive-3.1.2-outofsource.patch
new file mode 100644
index 0000000..6545c61
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.1.2-outofsource.patch
@@ -0,0 +1,29 @@
+--- a/Makefile.am 2013-02-09 12:23:03.000000000 -0500
++++ b/Makefile.am 2016-01-08 16:43:00.868186895 -0500
+@@ -508,7 +508,7 @@
+ # Building it automatically provides a sanity-check on libarchive_test_SOURCES
+ # above.
+ libarchive/test/list.h: Makefile
+- cat $(top_srcdir)/libarchive/test/test_*.c | grep DEFINE_TEST > libarchive/test/list.h
++ mkdir -p libarchive/test && cat $(top_srcdir)/libarchive/test/test_*.c | grep DEFINE_TEST > libarchive/test/list.h
+
+ libarchive_TESTS_ENVIRONMENT= LIBARCHIVE_TEST_FILES=`cd $(top_srcdir);/bin/pwd`/libarchive/test LRZIP=NOCONFIG
+
+@@ -835,7 +835,7 @@
+ $(PLATFORMCPPFLAGS)
+
+ tar/test/list.h: Makefile
+- cat $(top_srcdir)/tar/test/test_*.c | grep DEFINE_TEST > tar/test/list.h
++ mkdir -p tar/test && cat $(top_srcdir)/tar/test/test_*.c | grep DEFINE_TEST > tar/test/list.h
+
+ if BUILD_BSDTAR
+ bsdtar_test_programs= bsdtar_test
+@@ -975,7 +975,7 @@
+ bsdcpio_test_LDADD=libarchive_fe.la
+
+ cpio/test/list.h: Makefile
+- cat $(top_srcdir)/cpio/test/test_*.c | grep DEFINE_TEST > cpio/test/list.h
++ mkdir -p cpio/test && cat $(top_srcdir)/cpio/test/test_*.c | grep DEFINE_TEST > cpio/test/list.h
+
+ if BUILD_BSDCPIO
+ bsdcpio_test_programs= bsdcpio_test
diff --git a/app-arch/libarchive/libarchive-3.1.2-r3.ebuild b/app-arch/libarchive/libarchive-3.1.2-r3.ebuild
new file mode 100644
index 0000000..8153c43
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.1.2-r3.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils multilib-minimal toolchain-funcs
+
+DESCRIPTION="BSD tar command"
+HOMEPAGE="http://www.libarchive.org/"
+SRC_URI="http://www.libarchive.org/downloads/${P}.tar.gz"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="acl +bzip2 +e2fsprogs expat +iconv kernel_linux libressl +lzma lzo nettle static-libs xattr +zlib"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle[${MULTILIB_USEDEP}] )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs )
+ )"
+
+DOCS=( NEWS README )
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-CVE-2013-0211.patch
+ epatch "${FILESDIR}"/${P}-outofsource.patch
+ eautoreconf
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=()
+ myconf=(
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_enable acl)
+ $(use_with zlib)
+ $(use_with bzip2 bz2lib)
+ $(use_with iconv)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ $(use_with !expat xml2)
+ $(use_with expat)
+ )
+ if multilib_is_native_abi ; then myconf+=(
+ --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
+ ); else myconf+=(
+ --disable-bsdtar
+ --disable-bsdcpio
+ ); fi
+
+ # We disable lzmadec because we support the newer liblzma from xz-utils
+ # and not liblzmadec with this version.
+ myconf+=(
+ --without-lzmadec
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+multilib_src_test() {
+ # Replace the default src_test so that it builds tests in parallel
+ multilib_is_native_abi && emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+
+ # Libs.private: should be used from libarchive.pc instead
+ prune_libtool_files
+
+ # Create tar symlink for FreeBSD
+ if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
+ dosym bsdtar /usr/bin/tar
+ echo '.so bsdtar.1' > "${T}"/tar.1
+ doman "${T}"/tar.1
+ # We may wish to switch to symlink bsdcpio to cpio too one day
+ fi
+ else
+ emake DESTDIR="${D}" \
+ install-includeHEADERS \
+ install-libLTLIBRARIES \
+ install-pkgconfigDATA
+
+ # Libs.private: should be used from libarchive.pc instead
+ prune_libtool_files
+ fi
+}
+
+multilib_src_install_all() {
+ cd "${S}" || die
+ dodoc "${DOCS[@]}"
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2024-10-31 5:00 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-10 16:05 [gentoo-commits] repo/gentoo:master commit in: app-arch/libarchive/files/, app-arch/libarchive/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2024-10-31 5:00 Michał Górny
2024-09-21 7:41 Michał Górny
2024-09-18 4:37 Michał Górny
2024-05-13 12:53 Michał Górny
2023-09-12 10:25 Michał Górny
2023-08-21 8:59 Michał Górny
2023-07-19 18:33 Michał Górny
2022-12-06 6:02 Michał Górny
2022-08-03 2:25 Sam James
2019-08-15 16:07 Michał Górny
2018-09-10 9:40 Lars Wendler
2017-02-11 17:14 NP Hardass
2016-10-31 22:39 Lars Wendler
2016-07-05 19:26 NP Hardass
2016-07-03 7:05 NP Hardass
2016-01-11 17:04 Ian Stakenvicius
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox