summaryrefslogtreecommitdiff
path: root/app-arch/cpio
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/cpio')
-rw-r--r--app-arch/cpio/Manifest5
-rw-r--r--app-arch/cpio/cpio-2.12-r1.ebuild27
-rw-r--r--app-arch/cpio/files/cpio-2.12-name-overflow.patch15
-rw-r--r--app-arch/cpio/files/cpio-2.12-non-gnu-compilers.patch11
-rw-r--r--app-arch/cpio/metadata.xml8
5 files changed, 66 insertions, 0 deletions
diff --git a/app-arch/cpio/Manifest b/app-arch/cpio/Manifest
new file mode 100644
index 000000000000..159d35489e08
--- /dev/null
+++ b/app-arch/cpio/Manifest
@@ -0,0 +1,5 @@
+AUX cpio-2.12-name-overflow.patch 404 BLAKE2B f15aaffd716a6dca8b00f0831cd3bfa8971ca8beee6eb04b6ad3974c0d2770ac23669839b348013974ee827affb7b943d4dfa1be8d29b0b77c8ebea5e01791df SHA512 725468331dbb24e37333f9f56d8f295a7e521dd855f97993a2f62bf6b3a8f44d924b868ad5315dd90706ac28fcbb0b7da4c30e77ad5f401e7c5543410cc42f7a
+AUX cpio-2.12-non-gnu-compilers.patch 223 BLAKE2B e5ba3da0c1dc23199e52c3782d3a11504b075b1216d20cd8643591abdc3a69afe1db254800327ece8f07f83438756d88c5c10c606b4e14c76a309941dc4ed1f9 SHA512 369efc3393affdb91191ab7a55a6dd3a1157ddfa294bd9a4763cc63e6df72af3a7ab614234d69e327edf14a97e4fb800aee32a379ade73c0f80b0dd8ecf33f03
+DIST cpio-2.12.tar.bz2 1258605 BLAKE2B 4b6d42a1d8aaeaa980cab5894b2e264451e96a108f2c3aa89d3e6fde0bff338e026ee233ebd7c8cf41f3c926d42d38b866778244db774055736ca8792889e160 SHA512 0cd4da5f2fbca179ab4e666a5f878414c086a5f98bce4c76273f21d9b2a6fe422d901b5d453826c5f81bbe363aa015047a1e99779ad1a451c8feca6205c63120
+EBUILD cpio-2.12-r1.ebuild 870 BLAKE2B a86550e4b94d3f69a47389a56187a469aaba96528030d9d0794f281849aacb99bfeaaa77aa0e67fe628c6eefbb7af20b862728b330fddcb8640403daad0712e7 SHA512 b18f461cea53f0ea28ca50da48449cc6670e2ddac21b6939caf07af304730727a7835245be73454639c149ad502fe704851c156fbf97311a19510efe00d7f397
+MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/app-arch/cpio/cpio-2.12-r1.ebuild b/app-arch/cpio/cpio-2.12-r1.ebuild
new file mode 100644
index 000000000000..a6b79426ec7e
--- /dev/null
+++ b/app-arch/cpio/cpio-2.12-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils
+
+DESCRIPTION="A file archival tool which can also read and write tar files"
+HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
+SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-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="nls"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
+ epatch "${FILESDIR}"/${PN}-2.12-name-overflow.patch #572428
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ --bindir="${EPREFIX}"/bin \
+ --with-rmt="${EPREFIX}"/usr/sbin/rmt
+}
diff --git a/app-arch/cpio/files/cpio-2.12-name-overflow.patch b/app-arch/cpio/files/cpio-2.12-name-overflow.patch
new file mode 100644
index 000000000000..f85246884c39
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.12-name-overflow.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/572428
+https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00002.html
+http://seclists.org/oss-sec/2016/q1/136
+
+--- a/src/copyin.c
++++ b/src/copyin.c
+@@ -1385,6 +1385,8 @@
+ break;
+ }
+
++ if (file_hdr.c_namesize <= 1)
++ file_hdr.c_name = xrealloc (file_hdr.c_name, 2);
+ cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag,
+ false);
+
diff --git a/app-arch/cpio/files/cpio-2.12-non-gnu-compilers.patch b/app-arch/cpio/files/cpio-2.12-non-gnu-compilers.patch
new file mode 100644
index 000000000000..c7fc7f95b47e
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.12-non-gnu-compilers.patch
@@ -0,0 +1,11 @@
+--- cpio-2.12/src/cpiohdr.h
++++ cpio-2.12/src/cpiohdr.h
+@@ -25,6 +25,8 @@
+
+ # ifdef HAVE_ATTRIB_PACKED
+ # define ATTRIB_PACKED __attribute__((packed))
++# else
++# define ATTRIB_PACKED
+ # endif
+
+ # ifdef HAVE_PRAGMA_PACK
diff --git a/app-arch/cpio/metadata.xml b/app-arch/cpio/metadata.xml
new file mode 100644
index 000000000000..56c124413057
--- /dev/null
+++ b/app-arch/cpio/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+</maintainer>
+</pkgmetadata>