diff options
author | Leonardo Boshell <leonardop@gentoo.org> | 2005-09-01 10:50:46 +0000 |
---|---|---|
committer | Leonardo Boshell <leonardop@gentoo.org> | 2005-09-01 10:50:46 +0000 |
commit | 0c4ad1f7651608b7bfb1796203dba571aa4a59c1 (patch) | |
tree | ea590f2626e9ebdc02f257431428f87d89820e4b /app-office/gnumeric | |
parent | Removing obsolete packages (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | app-office/gnumeric/Manifest | 7 | ||||
-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.patch | 126 | ||||
-rw-r--r-- | app-office/gnumeric/gnumeric-1.4.3-r2.ebuild | 104 | ||||
-rw-r--r-- | app-office/gnumeric/gnumeric-1.4.3.ebuild | 112 |
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" |