summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2010-09-29 02:59:51 +0000
committerJonathan Callen <abcd@gentoo.org>2010-09-29 02:59:51 +0000
commit7978eb6f8ed20eb8068c7cdfc6f0642c55fe38e4 (patch)
tree82712327bc33b5e26952f315b4ab250c568866b0 /dev-util
parentVersion bump with missing dev-lang/vala depend wrt #336643 by Agostino Sarubb... (diff)
downloadgentoo-2-7978eb6f8ed20eb8068c7cdfc6f0642c55fe38e4.tar.gz
gentoo-2-7978eb6f8ed20eb8068c7cdfc6f0642c55fe38e4.tar.bz2
gentoo-2-7978eb6f8ed20eb8068c7cdfc6f0642c55fe38e4.zip
Revbump; patch to fix buffer overflows (bug 339073)
(Portage version: 2.2_rc86_p7/cvs/Linux i686)
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/wiggle/ChangeLog8
-rw-r--r--dev-util/wiggle/files/wiggle-0.8-buffer-overflow.patch11
-rw-r--r--dev-util/wiggle/wiggle-0.8-r1.ebuild61
3 files changed, 79 insertions, 1 deletions
diff --git a/dev-util/wiggle/ChangeLog b/dev-util/wiggle/ChangeLog
index 8ad1550eac76..59801d5a281d 100644
--- a/dev-util/wiggle/ChangeLog
+++ b/dev-util/wiggle/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-util/wiggle
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/wiggle/ChangeLog,v 1.20 2010/03/24 18:15:28 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/wiggle/ChangeLog,v 1.21 2010/09/29 02:59:50 abcd Exp $
+
+*wiggle-0.8-r1 (29 Sep 2010)
+
+ 29 Sep 2010; Jonathan Callen <abcd@gentoo.org> +wiggle-0.8-r1.ebuild,
+ +files/wiggle-0.8-buffer-overflow.patch:
+ Revbump; patch to fix buffer overflows (bug 339073)
*wiggle-0.8 (24 Mar 2010)
diff --git a/dev-util/wiggle/files/wiggle-0.8-buffer-overflow.patch b/dev-util/wiggle/files/wiggle-0.8-buffer-overflow.patch
new file mode 100644
index 000000000000..c0ad9188818b
--- /dev/null
+++ b/dev-util/wiggle/files/wiggle-0.8-buffer-overflow.patch
@@ -0,0 +1,11 @@
+--- wiggle-0.8.orig/vpatch.c
++++ wiggle-0.8/vpatch.c
+@@ -391,7 +391,7 @@
+
+ void draw_one(int row, struct plist *pl, FILE *f, int reverse)
+ {
+- char hdr[10];
++ char hdr[12];
+ hdr[0] = 0;
+
+ if (pl == NULL) {
diff --git a/dev-util/wiggle/wiggle-0.8-r1.ebuild b/dev-util/wiggle/wiggle-0.8-r1.ebuild
new file mode 100644
index 000000000000..a8b11983a3cd
--- /dev/null
+++ b/dev-util/wiggle/wiggle-0.8-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/wiggle/wiggle-0.8-r1.ebuild,v 1.1 2010/09/29 02:59:50 abcd Exp $
+
+EAPI=3
+
+inherit eutils fixheadtails toolchain-funcs
+
+DESCRIPTION="program for applying patches that patch cannot apply because of conflicting changes"
+HOMEPAGE="http://neil.brown.name/wiggle http://neil.brown.name/git?p=wiggle"
+SRC_URI="http://neil.brown.name/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# The 'p' tool does support bitkeeper, but I'm against just dumping it in here
+# due to it's size. I've explictly listed every other dependancy here due to
+# the nature of the shell program 'p'
+RDEPEND="dev-util/diffstat
+ dev-util/patchutils
+ sys-apps/diffutils
+ sys-apps/findutils
+ sys-apps/gawk
+ sys-apps/grep
+ sys-apps/less
+ sys-apps/sed
+ sys-apps/coreutils
+ sys-devel/patch"
+DEPEND="${RDEPEND}
+ sys-apps/groff
+ test? ( sys-process/time )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-buffer-overflow.patch"
+
+ # Fix the reference to the help file so `p help' works
+ sed -i "s:\$0.help:${EPREFIX}/usr/share/wiggle/p.help:" p || die "sed failed on p"
+
+ # Don't add Neil Brown's default sign off line to every patch
+ sed -i '/$CERT/,+4s,^,#,' p || die "sed failed on p"
+
+ # Use prefixed time binary
+ sed -i "s:/usr/bin/time:${EPREFIX}/usr/bin/time:" dotest || die "sed failed on dotest"
+
+ ht_fix_file p
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Wall" \
+ wiggle || die "emake wiggle failed."
+}
+
+src_install() {
+ dobin wiggle p || die "failed to install binaries"
+ doman wiggle.1 || die "failed to install man page"
+ dodoc ANNOUNCE INSTALL TODO DOC/diff.ps notes || die "failed to install docs"
+ insinto /usr/share/wiggle
+ doins p.help || die "failed to install help file"
+}