summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Boshell <leonardop@gentoo.org>2005-09-01 10:50:46 +0000
committerLeonardo Boshell <leonardop@gentoo.org>2005-09-01 10:50:46 +0000
commit0c4ad1f7651608b7bfb1796203dba571aa4a59c1 (patch)
treeea590f2626e9ebdc02f257431428f87d89820e4b /app-office/gnumeric
parentRemoving obsolete packages (diff)
downloadhistorical-0c4ad1f7651608b7bfb1796203dba571aa4a59c1.tar.gz
historical-0c4ad1f7651608b7bfb1796203dba571aa4a59c1.tar.bz2
historical-0c4ad1f7651608b7bfb1796203dba571aa4a59c1.zip
Added patch for a potential integer overflow in pcre (bug #104010).
Package-Manager: portage-2.0.51.22-r2
Diffstat (limited to 'app-office/gnumeric')
-rw-r--r--app-office/gnumeric/ChangeLog9
-rw-r--r--app-office/gnumeric/Manifest7
-rw-r--r--app-office/gnumeric/files/digest-gnumeric-1.4.3-r2 (renamed from app-office/gnumeric/files/digest-gnumeric-1.4.3)0
-rw-r--r--app-office/gnumeric/files/gnumeric-1.4.3-pcre_int_overflow.patch126
-rw-r--r--app-office/gnumeric/gnumeric-1.4.3-r2.ebuild104
-rw-r--r--app-office/gnumeric/gnumeric-1.4.3.ebuild112
6 files changed, 242 insertions, 116 deletions
diff --git a/app-office/gnumeric/ChangeLog b/app-office/gnumeric/ChangeLog
index 5d4d02095b04..a56f38b5a8be 100644
--- a/app-office/gnumeric/ChangeLog
+++ b/app-office/gnumeric/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-office/gnumeric
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/ChangeLog,v 1.105 2005/08/27 17:46:01 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/ChangeLog,v 1.106 2005/09/01 10:50:46 leonardop Exp $
+
+*gnumeric-1.4.3-r2 (01 Sep 2005)
+
+ 01 Sep 2005; Leonardo Boshell <leonardop@gentoo.org>
+ +files/gnumeric-1.4.3-pcre_int_overflow.patch, +gnumeric-1.4.3-r2.ebuild:
+ Added patch for a potential integer overflow in pcre (bug #104010). Modified
+ pkg_setup() to avoid having pkgconfig as a run-time dependency.
27 Aug 2005; Guy Martin <gmsoft@gentoo.org> gnumeric-1.4.3-r1.ebuild:
Stable on hppa.
diff --git a/app-office/gnumeric/Manifest b/app-office/gnumeric/Manifest
index 663f65fe46b3..63c37f32efb0 100644
--- a/app-office/gnumeric/Manifest
+++ b/app-office/gnumeric/Manifest
@@ -1,8 +1,9 @@
-MD5 cd87037931a3da037515bf005d6eb070 ChangeLog 13923
+MD5 83a5e877d5490ae60edb8368f74c7f35 ChangeLog 14237
MD5 97b526c01fb7ba35254defa866a7d3f6 gnumeric-1.4.3-r1.ebuild 2610
+MD5 a923ba6675b58c3ced8ee9361b9b7a0e gnumeric-1.4.3-r2.ebuild 2581
MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
-MD5 a3b43a1e9be8b477e946d20839b7e627 gnumeric-1.4.3.ebuild 2509
MD5 2bff8e6c3d41ceae3d04783899915363 files/digest-gnumeric-1.4.3-r1 69
-MD5 2bff8e6c3d41ceae3d04783899915363 files/digest-gnumeric-1.4.3 69
+MD5 2bff8e6c3d41ceae3d04783899915363 files/digest-gnumeric-1.4.3-r2 69
MD5 3fab812a68d5849434ba8d7ee3ef2887 files/gnumeric-1.4.3-new_gsf_api.patch 3308
+MD5 00512bbcd353d056c02b62335dfd87d1 files/gnumeric-1.4.3-pcre_int_overflow.patch 3916
MD5 403a9f34b1159b636dec6156951e023d files/gnumeric-1.4.3-makejobs.patch 1591
diff --git a/app-office/gnumeric/files/digest-gnumeric-1.4.3 b/app-office/gnumeric/files/digest-gnumeric-1.4.3-r2
index b63fff8bda02..b63fff8bda02 100644
--- a/app-office/gnumeric/files/digest-gnumeric-1.4.3
+++ b/app-office/gnumeric/files/digest-gnumeric-1.4.3-r2
diff --git a/app-office/gnumeric/files/gnumeric-1.4.3-pcre_int_overflow.patch b/app-office/gnumeric/files/gnumeric-1.4.3-pcre_int_overflow.patch
new file mode 100644
index 000000000000..a6b4f2874555
--- /dev/null
+++ b/app-office/gnumeric/files/gnumeric-1.4.3-pcre_int_overflow.patch
@@ -0,0 +1,126 @@
+diff -NurdB gnumeric-1.4.3/src/cut-n-paste-code/goffice/cut-n-paste/pcre/pcre.c gnumeric-1.4.3-patched/src/cut-n-paste-code/goffice/cut-n-paste/pcre/pcre.c
+--- gnumeric-1.4.3/src/cut-n-paste-code/goffice/cut-n-paste/pcre/pcre.c 2004-10-29 13:13:19.000000000 -0500
++++ gnumeric-1.4.3-patched/src/cut-n-paste-code/goffice/cut-n-paste/pcre/pcre.c 2005-09-01 01:22:28.000000000 -0500
+@@ -1062,7 +1062,18 @@
+ int min = 0;
+ int max = -1;
+
++/* Read the minimum value and do a paranoid check: a negative value indicates
++an integer overflow. */
++
+ while ((digitab[*p] & ctype_digit) != 0) min = min * 10 + *p++ - '0';
++if (min < 0 || min > 65535)
++ {
++ *errorptr = ERR5;
++ return p;
++ }
++
++/* Read the maximum value if there is one, and again do a paranoid on its size.
++Also, max must not be less than min. */
+
+ if (*p == '}') max = min; else
+ {
+@@ -1070,6 +1081,11 @@
+ {
+ max = 0;
+ while((digitab[*p] & ctype_digit) != 0) max = max * 10 + *p++ - '0';
++ if (max < 0 || max > 65535)
++ {
++ *errorptr = ERR5;
++ return p;
++ }
+ if (max < min)
+ {
+ *errorptr = ERR4;
+@@ -1078,16 +1094,10 @@
+ }
+ }
+
+-/* Do paranoid checks, then fill in the required variables, and pass back the
+-pointer to the terminating '}'. */
++/* Fill in the required variables, and pass back the pointer to the terminating '}'. */
+
+-if (min > 65535 || max > 65535)
+- *errorptr = ERR5;
+-else
+- {
+- *minp = min;
+- *maxp = max;
+- }
++*minp = min;
++*maxp = max;
+ return p;
+ }
+
+@@ -4128,6 +4138,7 @@
+ BOOL class_utf8;
+ #endif
+ BOOL inescq = FALSE;
++BOOL capturing;
+ unsigned int brastackptr = 0;
+ size_t size;
+ uschar *code;
+@@ -4543,6 +4554,7 @@
+ case '(':
+ branch_newextra = 0;
+ bracket_length = 1 + LINK_SIZE;
++ capturing = FALSE;
+
+ /* Handle special forms of bracket, which all start (? */
+
+@@ -4630,6 +4642,9 @@
+
+ case 'P':
+ ptr += 3;
++
++ /* Handle the definition of a named subpattern */
++
+ if (*ptr == '<')
+ {
+ const uschar *p; /* Don't amalgamate; some compilers */
+@@ -4642,9 +4657,12 @@
+ }
+ name_count++;
+ if (ptr - p > max_name_size) max_name_size = (ptr - p);
++ capturing = TRUE; /* Named parentheses are always capturing */
+ break;
+ }
+
++ /* Handle back references and recursive calls to named subpatterns */
++
+ if (*ptr == '=' || *ptr == '>')
+ {
+ while ((compile_block.ctypes[*(++ptr)] & ctype_word) != 0);
+@@ -4819,18 +4837,24 @@
+ continue;
+ }
+
+- /* If options were terminated by ':' control comes here. Fall through
+- to handle the group below. */
++ /* If options were terminated by ':' control comes here. This is a
++ non-capturing group with an options change. There is nothing more that
++ needs to be done because "capturing" is already set FALSE by default;
++ we can just fall through. */
++
+ }
+ }
+
+- /* Extracting brackets must be counted so we can process escapes in a
+- Perlish way. If the number exceeds EXTRACT_BASIC_MAX we are going to
+- need an additional 3 bytes of store per extracting bracket. However, if
+- PCRE_NO_AUTO)CAPTURE is set, unadorned brackets become non-capturing, so we
+- must leave the count alone (it will aways be zero). */
++ /* Ordinary parentheses, not followed by '?', are capturing unless
++ PCRE_NO_AUTO_CAPTURE is set. */
+
+- else if ((options & PCRE_NO_AUTO_CAPTURE) == 0)
++ else capturing = (options & PCRE_NO_AUTO_CAPTURE) == 0;
++
++ /* Capturing brackets must be counted so we can process escapes in a
++ Perlish way. If the number exceeds EXTRACT_BASIC_MAX we are going to need
++ an additional 3 bytes of memory per capturing bracket. */
++
++ if (capturing)
+ {
+ bracount++;
+ if (bracount > EXTRACT_BASIC_MAX) bracket_length += 3;
diff --git a/app-office/gnumeric/gnumeric-1.4.3-r2.ebuild b/app-office/gnumeric/gnumeric-1.4.3-r2.ebuild
new file mode 100644
index 000000000000..d0dd8eb58c47
--- /dev/null
+++ b/app-office/gnumeric/gnumeric-1.4.3-r2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/gnumeric-1.4.3-r2.ebuild,v 1.1 2005/09/01 10:50:46 leonardop Exp $
+
+inherit virtualx eutils flag-o-matic gnome2
+
+DESCRIPTION="Gnumeric, the GNOME Spreadsheet"
+HOMEPAGE="http://www.gnome.org/projects/gnumeric/"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+IUSE="gnome libgda python static"
+# bonobo gnomedb
+
+RDEPEND=">=dev-libs/glib-2.4
+ >=gnome-extra/libgsf-1.12
+ >=dev-libs/libxml2-2.4.12
+ >=x11-libs/pango-1.4
+
+ >=x11-libs/gtk+-2.4
+ >=gnome-base/libglade-2.3.6
+ >=gnome-base/libgnomecanvas-2
+ >=gnome-base/libgnomeprint-2.5.2
+ >=gnome-base/libgnomeprintui-2.5.2
+ >=media-libs/libart_lgpl-2.3.11
+
+ gnome? (
+ >=gnome-base/gconf-2
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ >=gnome-base/libbonobo-2.2
+ >=gnome-base/libbonoboui-2.2 )
+ python? (
+ >=dev-lang/python-2
+ >=dev-python/pygtk-2 )
+ libgda? ( >=gnome-extra/libgda-1.0.1 )"
+# gnomedb? ( >=gnome-extra/libgnomedb-0.90.2 )
+
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.28
+ >=dev-util/pkgconfig-0.9
+ app-text/scrollkeeper"
+
+DOCS="AUTHORS COPYING* ChangeLog HACKING NEWS README TODO"
+USE_DESTDIR="1"
+
+
+pkg_setup() {
+ if use gnome && ! built_with_use gnome-extra/libgsf gnome; then
+ einfo "libgsf needs to be compiled with gnome in USE"
+ einfo "for this version of gnumeric to work. Rebuild"
+ einfo "libgsf first like this :"
+ einfo "USE=gnome emerge libgsf -vp"
+ die "libgsf was built without gnome support..."
+ fi
+}
+
+src_unpack() {
+ unpack "${A}"
+ gnome2_omf_fix
+
+ cd ${S}/plugins/corba
+ # makejobs proposed patch (#78828)
+ epatch ${FILESDIR}/${PN}-1.4.3-makejobs.patch
+ # use newer libgsf api (#96179)
+ cd ${S}/plugins/excel
+ epatch ${FILESDIR}/${P}-new_gsf_api.patch
+ cd "${S}"
+ # Backported patch to fix a potential integer overflow (bug #104010)
+ epatch ${FILESDIR}/${P}-pcre_int_overflow.patch
+
+ automake || die
+}
+
+src_compile() {
+ # building nogui is still too problematic
+ # `use_with gtk`
+ # `use_with gnomedb gda`
+ local myconf="$(use_with python) \
+ $(use_with libgda gda) \
+ $(use_with gnome) \
+ $(use_enable static)"
+
+ # gcc bug (http://bugs.gnome.org/show_bug.cgi?id=128834)
+ replace-flags "-Os" "-O2"
+
+ econf $myconf || die "./configure failed"
+
+ # the build process has to be able to connect to X
+ Xemake || die "Compilation failed"
+}
+
+src_install() {
+
+ gnome2_src_install
+
+ # make gnumeric find it's help
+ dosym \
+ /usr/share/gnome/help/gnumeric \
+ /usr/share/${PN}/${PV}/doc
+
+}
diff --git a/app-office/gnumeric/gnumeric-1.4.3.ebuild b/app-office/gnumeric/gnumeric-1.4.3.ebuild
deleted file mode 100644
index 4073b1e6209f..000000000000
--- a/app-office/gnumeric/gnumeric-1.4.3.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/gnumeric-1.4.3.ebuild,v 1.8 2005/06/18 11:40:13 ferdy Exp $
-
-inherit virtualx gnome2 eutils flag-o-matic
-
-DESCRIPTION="Gnumeric, the GNOME Spreadsheet"
-HOMEPAGE="http://www.gnome.org/projects/gnumeric/"
-LICENSE="GPL-2"
-
-SLOT="0"
-KEYWORDS="alpha ~amd64 hppa ~ia64 ppc ppc64 sparc x86"
-
-#IUSE="libgda gnomedb python bonobo"
-IUSE="libgda python gnome"
-
-RDEPEND=">=dev-libs/glib-2.4
- =gnome-extra/libgsf-1.10*
- >=dev-libs/libxml2-2.4.12
- >=x11-libs/pango-1.4
-
- >=x11-libs/gtk+-2.4
- >=gnome-base/libglade-2.4
- >=gnome-base/libgnomecanvas-2
- >=gnome-base/libgnomeprint-2.6
- >=gnome-base/libgnomeprintui-2.6
- >=media-libs/libart_lgpl-2.3.11
-
- gnome? ( >=x11-libs/gtk+-2.4
- >=gnome-base/libglade-2.4
- >=gnome-base/libgnomecanvas-2
- >=gnome-base/libgnomeprint-2.6
- >=gnome-base/libgnomeprintui-2.6
- >=media-libs/libart_lgpl-2.3.11
- >=gnome-base/gconf-2
- >=gnome-base/libgnome-2
- >=gnome-base/libgnomeui-2
- >=gnome-base/libbonobo-2.2
- >=gnome-base/libbonoboui-2.2
- dev-util/pkgconfig )
- python? ( >=dev-lang/python-2
- >=dev-python/pygtk-2 )
- libgda? ( >=gnome-extra/libgda-1.0.1 )
- dev-util/pkgconfig" # see #67107
-# gnomedb? ( >=gnome-extra/libgnomedb-0.90.2 )
-
-DEPEND="${RDEPEND}
- >=dev-util/intltool-0.30
- dev-util/pkgconfig
- app-text/scrollkeeper"
-
-pkg_setup() {
-
- if use gnome; then
- if ! pkg-config --exists libgsf-gnome-1; then
- einfo "libgsf needs to be compiled with gnome in USE"
- einfo "for this version of gnumeric to work. Rebuild"
- einfo "libgsf first like this :"
- einfo "USE=gnome emerge libgsf -vp"
- die "libgsf was built without gnome support..."
- fi
- fi
-
-}
-
-src_unpack() {
-
- unpack ${A}
- gnome2_omf_fix
-
- cd ${S}/plugins/corba
- # makejobs proposed patch (#78828)
- epatch ${FILESDIR}/${PN}-1.4.3-makejobs.patch
-
- cd ${S}
- automake || die
-
-}
-
-src_compile() {
-
- # gcc bug (http://bugs.gnome.org/show_bug.cgi?id=128834)
- replace-flags "-Os" "-O2"
-
- econf \
- `use_with python` \
- `use_with libgda gda` \
- `use_with gnome` \
- || die
-# building nogui is still too problematic
-# `use_with gtk` \
- # `use_with gnomedb gda`
-
- # the build process has to be able to connect to X
- Xemake || die
-
-}
-
-src_install() {
-
- gnome2_src_install
-
- # make gnumeric find it's help
- dosym \
- /usr/share/gnome/help/gnumeric \
- /usr/share/${PN}/${PV}/doc
-
-}
-
-DOCS="AUTHORS COPYING* ChangeLog HACKING NEWS README TODO"
-
-USE_DESTDIR="1"