public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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

* [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-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-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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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-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/
@ 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/
@ 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-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-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

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 --
2024-09-21  7:41 [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-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
2020-03-10 16:05 Michał Górny
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