diff options
author | Pacho Ramos <pacho@gentoo.org> | 2011-04-13 09:55:38 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2011-04-13 09:55:38 +0000 |
commit | 0aac8266065389e8b0cd803383b60337433fb3b9 (patch) | |
tree | 81e91e2e27486d3c2094cdaf079266413bcc318c /app-text/evince | |
parent | Version bump. Reverse playback support, bug fixes (diff) | |
download | historical-0aac8266065389e8b0cd803383b60337433fb3b9.tar.gz historical-0aac8266065389e8b0cd803383b60337433fb3b9.tar.bz2 historical-0aac8266065389e8b0cd803383b60337433fb3b9.zip |
Fix libview crash, upstream bug #630999; fix another security issue in the dvi-backend; update poppler api with Arch patch (bug #354709 by Justin Lecher, Ian Abbott and Rafał Mużyło).
Package-Manager: portage-2.1.9.45/cvs/Linux x86_64
Diffstat (limited to 'app-text/evince')
-rw-r--r-- | app-text/evince/ChangeLog | 12 | ||||
-rw-r--r-- | app-text/evince/Manifest | 12 | ||||
-rw-r--r-- | app-text/evince/evince-2.32.0-r2.ebuild | 124 | ||||
-rw-r--r-- | app-text/evince/files/evince-2.32.0-dvi-security.patch | 24 | ||||
-rw-r--r-- | app-text/evince/files/evince-2.32.0-libview-crash.patch | 32 | ||||
-rw-r--r-- | app-text/evince/files/evince-2.32.0-update-poppler.patch | 58 |
6 files changed, 257 insertions, 5 deletions
diff --git a/app-text/evince/ChangeLog b/app-text/evince/ChangeLog index 01418444f9a0..adc5e0476f4c 100644 --- a/app-text/evince/ChangeLog +++ b/app-text/evince/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for app-text/evince # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-text/evince/ChangeLog,v 1.213 2011/04/09 13:51:52 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/ChangeLog,v 1.214 2011/04/13 09:55:38 pacho Exp $ + +*evince-2.32.0-r2 (13 Apr 2011) + + 13 Apr 2011; Pacho Ramos <pacho@gentoo.org> +evince-2.32.0-r2.ebuild, + +files/evince-2.32.0-dvi-security.patch, + +files/evince-2.32.0-libview-crash.patch, + +files/evince-2.32.0-update-poppler.patch: + Fix libview crash, upstream bug #630999; fix another security issue in the + dvi-backend; update poppler api with Arch patch (bug #354709 by Justin + Lecher, Ian Abbott and Rafał Mużyło). 09 Apr 2011; Gilles Dartiguelongue <eva@gentoo.org> -evince-2.30.3.ebuild, -evince-2.32.0.ebuild: diff --git a/app-text/evince/Manifest b/app-text/evince/Manifest index 0c39cb684156..3fb03d082076 100644 --- a/app-text/evince/Manifest +++ b/app-text/evince/Manifest @@ -3,17 +3,21 @@ Hash: SHA1 AUX evince-0.7.1-display-menu.patch 476 RMD160 a16a5e1f32490a7db219442b23cbcf77773e6bdd SHA1 73a97e83b12ad80f6645339978717bcf8c7da575 SHA256 1f450dfe57ef3325cb4642141d76fc8e7bf837c221d81a2593214913af058f4d AUX evince-2.32.0-dvi-CVEs.patch 3386 RMD160 af5b7e0f74566716b86974a1e2efc34e1b925be5 SHA1 3c4084017e790ed5f0a1a422c1c742e97f89918f SHA256 49d1ed8adc734a005d4d8fdc1912bb115d97f734071d64bcae0aae60f2b5626a +AUX evince-2.32.0-dvi-security.patch 816 RMD160 e1183dbeac1e404098d042a2ef87cbdce6d075da SHA1 c557404ba9dbc56e6d02d41b6969fa4dcc558616 SHA256 86e1e3ae2af8471896594b063726d6e7390169c443864b11797b7e3b937caea8 AUX evince-2.32.0-libdocument-segfault.patch 1388 RMD160 be7abf45994904b6a5f5d2bc2a95574b7d7cf9f9 SHA1 af144209e2064397f53eae5fab6d8597a67d8cf3 SHA256 e9889a7920a8e6bd16b168333d120dfff1a2a2fcfed559d0d2f3678d9d234e74 +AUX evince-2.32.0-libview-crash.patch 1351 RMD160 df5edf3bd00eaf43a07f56589eef3b3cbd8cdd2b SHA1 7e8329057745d58f8a607f4e71a7cf4d0a53dbb3 SHA256 f549f4b8bfa8078764d3fb11c3b8e3d9e9c7bc59ebc7e96ef9d6e63c35d3d35c AUX evince-2.32.0-pk-fonts.patch 1005 RMD160 bf3db4170d868ed72887e9ab83e031d4184c667b SHA1 77080e8546fed686b8bdb30f6290267a99daec09 SHA256 a8eba65d0a00fae77d85fec202b60762afa82a71695119a66f24a4ab0974fc82 +AUX evince-2.32.0-update-poppler.patch 1890 RMD160 8032f418acd4411e0a547a085d06bad8e757d081 SHA1 2e6acfd476e7bd82883ae34dacbb218e3ca5e76d SHA256 2990c789c8cfd50e46f4dfa7a2406499b3ee26f4db9840c8b9a6e1dee40f61f4 AUX gconf-2.m4 1579 RMD160 48aa5e5e77d4c024efb70b643403bec8969fe815 SHA1 5e3c4701f63b1b4614f48d94d03440af7155f119 SHA256 2c9a981afe5bba4486c8e0ddb66433aef4af953168bd254f6a5ba1c6692f80f8 DIST evince-2.32.0.tar.bz2 2295272 RMD160 a2d52685ac119b70cf40f320de457b3dfbac2587 SHA1 2f06a2b9dfd8667f4b4c6e90be3c49f6fe026fc8 SHA256 2a4c91ae38f8b5028cebb91b9da9ddc50ea8ae3f3d429df89ba351da2d787ff7 EBUILD evince-2.32.0-r1.ebuild 3342 RMD160 209c299c91f6dd0a1be447d0a72d1646e1828c0f SHA1 c9138af6cdb365843a055ef183a62b0b1a8ddde1 SHA256 49773c595ea422056fc6d80cf1d9c935c18a3ed3821523b66ab698229379f265 -MISC ChangeLog 30897 RMD160 94aed5784178cc63ebf5a107d71cd688751a1ed6 SHA1 c86eb3014bec2483389acaa89aab585af9297125 SHA256 ba5dc9abb3a1ac0e00ba4fb952779fc949ce0bf08476d8a0655551e623f93aa9 +EBUILD evince-2.32.0-r2.ebuild 3690 RMD160 0560ff01f51c1cf9d5175df3915c8b6afcd8b20d SHA1 655829514ef56348d0a87bcfc43c79e14b0996b1 SHA256 60f7ac60287dc906f8d06514f24c2fecbf89bf00abb37434a0b615a6dfbb2083 +MISC ChangeLog 31330 RMD160 4d75facfc318e17d5ecd62942e5a0def730bec4b SHA1 9f1e4067415243a1b865f24a7f661d765a7352b4 SHA256 93f1ce36ebd33d25c879603c49833ae534d71ac60a6791f349621479dddd310e MISC metadata.xml 704 RMD160 86b7f170da9780a261a10f31ca336bc727511962 SHA1 76786146716c3d6ff74232b11f79a9258b82fa8b SHA256 c331692598dc31958f7913fd9948522a3b9c0335f0354bb58d990eeaf8052047 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iEYEARECAAYFAk2gZH0ACgkQ1fmVwcYIWAZ0eACeOC/0Lu8XWgmkdrHXKqzs5tzN -/IEAoIIMeZLhLwNxRrozqVFHyNMgGBV7 -=0qwp +iEYEARECAAYFAk2lcyAACgkQCaWpQKGI+9QRAACbBlPMR78sZpgQ7OW1T25iJ5Pe +n3IAn3/w6Zpo6U73+oLIcqWI5fsJOF8W +=FtYU -----END PGP SIGNATURE----- diff --git a/app-text/evince/evince-2.32.0-r2.ebuild b/app-text/evince/evince-2.32.0-r2.ebuild new file mode 100644 index 000000000000..fb20c4892439 --- /dev/null +++ b/app-text/evince/evince-2.32.0-r2.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-text/evince/evince-2.32.0-r2.ebuild,v 1.1 2011/04/13 09:55:38 pacho Exp $ + +EAPI="3" +GCONF_DEBUG="yes" + +inherit eutils gnome2 autotools + +DESCRIPTION="Simple document viewer for GNOME" +HOMEPAGE="http://projects.gnome.org/evince/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x64-solaris" + +IUSE="dbus debug djvu doc dvi gnome gnome-keyring +introspection nautilus t1lib tiff" + +# Since 2.26.2, can handle poppler without cairo support. Make it optional ? +# not mature enough +RDEPEND=" + >=app-text/libspectre-0.2.0 + >=dev-libs/glib-2.25.11:2 + >=dev-libs/libxml2-2.5:2 + >=x11-libs/gtk+-2.21.5:2[introspection?] + >=x11-libs/libSM-1 + || ( + >=x11-themes/gnome-icon-theme-2.17.1 + >=x11-themes/hicolor-icon-theme-0.10 ) + >=x11-libs/cairo-1.9.10 + >=app-text/poppler-0.14[cairo] + djvu? ( >=app-text/djvu-3.5.17 ) + dvi? ( + virtual/tex-base + t1lib? ( >=media-libs/t1lib-5.0.0 ) ) + gnome? ( >=gnome-base/gconf-2:2[introspection?] ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.22.0 ) + introspection? ( >=dev-libs/gobject-introspection-0.6 ) + nautilus? ( >=gnome-base/nautilus-2.10[introspection?] ) + tiff? ( >=media-libs/tiff-3.6 ) +" +DEPEND="${RDEPEND} + app-text/scrollkeeper + >=app-text/gnome-doc-utils-0.3.2 + ~app-text/docbook-xml-dtd-4.1.2 + >=dev-util/pkgconfig-0.9 + sys-devel/gettext + >=dev-util/intltool-0.35 + >=dev-util/gtk-doc-am-1.13 + doc? ( >=dev-util/gtk-doc-1.13 )" + +ELTCONF="--portage" + +# Needs dogtail and pyspi from http://fedorahosted.org/dogtail/ +# Releases: http://people.redhat.com/zcerza/dogtail/releases/ +RESTRICT="test" + +pkg_setup() { + # Passing --disable-help would drop offline help, that would be inconsistent + # with helps of the most of Gnome apps that doesn't require network for that. + G2CONF="${G2CONF} + --disable-scrollkeeper + --disable-static + --disable-tests + --enable-pdf + --enable-comics + --enable-impress + --enable-thumbnailer + --with-smclient=xsmp + --with-platform=gnome + --with-gtk=2.0 + --enable-help + --disable-maintainer-mode + $(use_enable dbus) + $(use_enable djvu) + $(use_enable dvi) + $(use_with gnome gconf) + $(use_with gnome-keyring keyring) + $(use_enable introspection) + $(use_enable nautilus) + $(use_enable t1lib) + $(use_enable tiff)" + DOCS="AUTHORS ChangeLog NEWS README TODO" +} + +src_prepare() { + gnome2_src_prepare + + # Check for NULL in synctex_backward_search preventing segfault, upstream bug #630845 + epatch "${FILESDIR}"/${P}-libdocument-segfault.patch + + # Fix multiple security issues with dvi backend, bug #350681 + epatch "${FILESDIR}"/${P}-dvi-CVEs.patch + + # Fix problem with some pk fonts, upstream bug #639746 + epatch "${FILESDIR}"/${P}-pk-fonts.patch + + # Fix libview crash, upstream bug #630999 + epatch "${FILESDIR}"/${P}-libview-crash.patch + + # Fix another security issue in the dvi-backend + epatch "${FILESDIR}"/${P}-dvi-security.patch + + # Update poppler api + epatch "${FILESDIR}"/${P}-update-poppler.patch + + # Fix intltoolize broken file, see upstream #577133 + sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in \ + || die "intltoolize sed failed" + + # Do not depend on gnome-icon-theme, bug #326855 + sed 's/gnome-icon-theme//' -i configure.ac configure || die "sed failed" + + # Fix .desktop file so menu item shows up + epatch "${FILESDIR}"/${PN}-0.7.1-display-menu.patch + + intltoolize --force --copy --automake || die "intltoolize failed" + eautoreconf +} + +src_install() { + gnome2_src_install + find "${ED}" -name "*.la" -delete || die "remove of lafiles failed" +} diff --git a/app-text/evince/files/evince-2.32.0-dvi-security.patch b/app-text/evince/files/evince-2.32.0-dvi-security.patch new file mode 100644 index 000000000000..6bde382d613f --- /dev/null +++ b/app-text/evince/files/evince-2.32.0-dvi-security.patch @@ -0,0 +1,24 @@ +From 9611cfcd6c2f39aafab10730c291efd736ab97e4 Mon Sep 17 00:00:00 2001 +From: Vincent Untz <vuntz@gnome.org> +Date: Thu, 17 Feb 2011 14:23:39 +0000 +Subject: backends: Fix another security issue in the dvi-backend + +This is similar to one of the fixes from d4139205. + +https://bugzilla.gnome.org/show_bug.cgi?id=640923 +--- +diff --git a/backend/dvi/mdvi-lib/afmparse.c b/backend/dvi/mdvi-lib/afmparse.c +index 361e23d..e1cd115 100644 +--- a/backend/dvi/mdvi-lib/afmparse.c ++++ b/backend/dvi/mdvi-lib/afmparse.c +@@ -190,7 +190,7 @@ static char *linetoken(FILE *stream) + while ((ch = fgetc(stream)) == ' ' || ch == '\t' ); + + idx = 0; +- while (ch != EOF && ch != lineterm) ++ while (ch != EOF && ch != lineterm && idx < MAX_NAME) + { + ident[idx++] = ch; + ch = fgetc(stream); +-- +cgit v0.9 diff --git a/app-text/evince/files/evince-2.32.0-libview-crash.patch b/app-text/evince/files/evince-2.32.0-libview-crash.patch new file mode 100644 index 000000000000..65d07751fdd4 --- /dev/null +++ b/app-text/evince/files/evince-2.32.0-libview-crash.patch @@ -0,0 +1,32 @@ +commit a3b87cb28e46958b37e384a47604032ea0889807 +Author: Carlos Garcia Campos <carlosgc@gnome.org> +Date: Sun Nov 21 12:27:21 2010 +0100 + + libview: Make sure we have a valid page range before getting/setting selection list + + Fixes bug #630999. + +diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c +index 367f70d..ee68354 100644 +--- a/libview/ev-pixbuf-cache.c ++++ b/libview/ev-pixbuf-cache.c +@@ -1035,6 +1035,9 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, + if (!EV_IS_SELECTION (pixbuf_cache->document)) + return; + ++ if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1) ++ return; ++ + /* We check each area to see what needs updating, and what needs freeing; */ + page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size; + for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { +@@ -1114,6 +1117,9 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache) + + g_return_val_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache), NULL); + ++ if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1) ++ return NULL; ++ + /* We check each area to see what needs updating, and what needs freeing; */ + page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size; + for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { diff --git a/app-text/evince/files/evince-2.32.0-update-poppler.patch b/app-text/evince/files/evince-2.32.0-update-poppler.patch new file mode 100644 index 000000000000..29bcad6b948b --- /dev/null +++ b/app-text/evince/files/evince-2.32.0-update-poppler.patch @@ -0,0 +1,58 @@ +From f77e6cf4fd7fef49ac91d8c62b6a9a993529adb8 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos <carlosgc@gnome.org> +Date: Fri, 17 Sep 2010 11:21:16 +0000 +Subject: [pdf] Update to poppler api changes + +Linearized PopplerDocument property is now boolean rather than string. +--- +diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc +index aa080e6..ced3ef7 100644 +--- a/backend/pdf/ev-poppler.cc ++++ b/backend/pdf/ev-poppler.cc +@@ -722,6 +722,9 @@ pdf_document_get_info (EvDocument *document) + PopplerPermissions permissions; + EvPage *page; + char *metadata; ++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED ++ gboolean linearized; ++#endif + + info = g_new0 (EvDocumentInfo, 1); + +@@ -758,7 +761,11 @@ pdf_document_get_info (EvDocument *document) + "producer", &(info->producer), + "creation-date", &(info->creation_date), + "mod-date", &(info->modified_date), ++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED ++ "linearized", &linearized, ++#else + "linearized", &(info->linearized), ++#endif + "metadata", &metadata, + NULL); + +@@ -864,6 +871,10 @@ pdf_document_get_info (EvDocument *document) + info->security = g_strdup (_("No")); + } + ++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED ++ info->linearized = linearized ? g_strdup (_("Yes")) : g_strdup (_("No")); ++#endif ++ + return info; + } + +diff --git a/configure.ac b/configure.ac +index 0faa16e..9619349 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -512,6 +512,7 @@ if test "x$enable_pdf" = "xyes"; then + AC_CHECK_FUNCS(poppler_page_get_text_layout) + AC_CHECK_FUNCS(poppler_page_get_selected_text) + AC_CHECK_FUNCS(poppler_page_add_annot) ++ AC_CHECK_FUNCS(poppler_document_is_linearized) + LIBS=$evince_save_LIBS + PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no) + if test x$enable_cairo_pdf = xyes; then +-- +cgit v0.8.3.1 |