diff --git a/.gitignore b/.gitignore index c2e8f6d..c4fb0e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/poppler-0.22.5.tar.gz +SOURCES/poppler-0.26.5.tar.xz diff --git a/.poppler.metadata b/.poppler.metadata index c0139d3..c6249a8 100644 --- a/.poppler.metadata +++ b/.poppler.metadata @@ -1 +1 @@ -9491bb33788d7f0ee67da572dc4798004f98323a SOURCES/poppler-0.22.5.tar.gz +12937666faee80bae397a8338a3357e864d77d53 SOURCES/poppler-0.26.5.tar.xz diff --git a/SOURCES/poppler-0.22.5-CVE-2013-4473.patch b/SOURCES/poppler-0.22.5-CVE-2013-4473.patch deleted file mode 100644 index 26fd9eb..0000000 --- a/SOURCES/poppler-0.22.5-CVE-2013-4473.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b8682d868ddf7f741e93b791588af0932893f95c Mon Sep 17 00:00:00 2001 -From: Pino Toscano -Date: Mon, 16 Sep 2013 17:46:55 +0000 -Subject: pdfseparate: improve the path building - -Make use of snprintf to limit the output to the pathName buffer; -while I'm there, expand its size to 4096 (might help longer paths), -although a better fix would be dynamically allocate its length -(and/or using GooString, maybe). ---- -(limited to 'utils/pdfseparate.cc') - -diff --git a/utils/pdfseparate.cc b/utils/pdfseparate.cc -index 35ae020..e41e547 100644 ---- a/utils/pdfseparate.cc -+++ b/utils/pdfseparate.cc -@@ -44,7 +44,7 @@ static const ArgDesc argDesc[] = { - }; - - bool extractPages (const char *srcFileName, const char *destFileName) { -- char pathName[1024]; -+ char pathName[4096]; - GooString *gfileName = new GooString (srcFileName); - PDFDoc *doc = new PDFDoc (gfileName, NULL, NULL, NULL); - -@@ -66,7 +66,7 @@ bool extractPages (const char *srcFileName, const char *destFileName) { - return false; - } - for (int pageNo = firstPage; pageNo <= lastPage; pageNo++) { -- sprintf (pathName, destFileName, pageNo); -+ snprintf (pathName, sizeof (pathName) - 1, destFileName, pageNo); - GooString *gpageName = new GooString (pathName); - int errCode = doc->savePageAs(gpageName, pageNo); - if ( errCode != errNone) { --- -cgit v0.9.0.2-2-gbebe diff --git a/SOURCES/poppler-0.22.5-CVE-2013-4474.patch b/SOURCES/poppler-0.22.5-CVE-2013-4474.patch deleted file mode 100644 index 202b716..0000000 --- a/SOURCES/poppler-0.22.5-CVE-2013-4474.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 61f79b8447c3ac8ab5a26e79e0c28053ffdccf75 Mon Sep 17 00:00:00 2001 -From: Albert Astals Cid -Date: Wed, 23 Oct 2013 22:54:56 +0000 -Subject: Allow only one %d in the filename - -Fixes crashes if you had %s and similar in the filename - -Inspired from patch by Pedro Ribeiro - -Bug #69434 ---- -diff --git a/utils/pdfseparate.cc b/utils/pdfseparate.cc -index 1d4901b..6424d20 100644 ---- a/utils/pdfseparate.cc -+++ b/utils/pdfseparate.cc -@@ -20,6 +20,7 @@ - #include "PDFDoc.h" - #include "ErrorCodes.h" - #include "GlobalParams.h" -+#include - - static int firstPage = 0; - static int lastPage = 0; -@@ -63,9 +64,37 @@ bool extractPages (const char *srcFileName, const char *destFileName) { - if (firstPage == 0) - firstPage = 1; - if (firstPage != lastPage && strstr(destFileName, "%d") == NULL) { -- error(errSyntaxError, -1, "'{0:s}' must contain '%%d' if more than one page should be extracted", destFileName); -+ error(errSyntaxError, -1, "'{0:s}' must contain '%d' if more than one page should be extracted", destFileName); - return false; - } -+ -+ // destFileName can have multiple %% and one %d -+ // We use auxDestFileName to replace all the valid % appearances -+ // by 'A' (random char that is not %), if at the end of replacing -+ // any of the valid appearances there is still any % around, the -+ // pattern is wrong -+ char *auxDestFileName = strdup(destFileName); -+ // %% can appear as many times as you want -+ char *p = strstr(auxDestFileName, "%%"); -+ while (p != NULL) { -+ *p = 'A'; -+ *(p + 1) = 'A'; -+ p = strstr(p, "%%"); -+ } -+ // %d can appear only one time -+ p = strstr(auxDestFileName, "%d"); -+ if (p != NULL) { -+ *p = 'A'; -+ } -+ // at this point any other % is wrong -+ p = strstr(auxDestFileName, "%"); -+ if (p != NULL) { -+ error(errSyntaxError, -1, "'{0:s}' can only contain one '%d' pattern", destFileName); -+ free(auxDestFileName); -+ return false; -+ } -+ free(auxDestFileName); -+ - for (int pageNo = firstPage; pageNo <= lastPage; pageNo++) { - snprintf (pathName, sizeof (pathName) - 1, destFileName, pageNo); - GooString *gpageName = new GooString (pathName); --- -cgit v0.9.0.2-2-gbebe diff --git a/SOURCES/poppler-0.22.5-rotated-words-selection.patch b/SOURCES/poppler-0.22.5-rotated-words-selection.patch index c4961b6..87d553b 100644 --- a/SOURCES/poppler-0.22.5-rotated-words-selection.patch +++ b/SOURCES/poppler-0.22.5-rotated-words-selection.patch @@ -1,6 +1,22 @@ ---- poppler-0.22.5/poppler/TextOutputDev.cc -+++ poppler-0.22.5/poppler/TextOutputDev.cc -@@ -171,6 +171,12 @@ +From 0ab1f29d4ce315b0fca260c0e0f3007024d00342 Mon Sep 17 00:00:00 2001 +From: Marek Kasik +Date: Tue, 28 Jan 2014 15:13:24 +0100 +Subject: [PATCH] TextOutputDev: Respect orientation when selecting words + +Take rotation into account when visiting selection. +This doesn't fix all problems (there are still problems +on line and block levels). + +https://bugs.freedesktop.org/show_bug.cgi?id=16619 +--- + poppler/TextOutputDev.cc | 193 ++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 150 insertions(+), 43 deletions(-) + +diff --git a/poppler/TextOutputDev.cc b/poppler/TextOutputDev.cc +index 7c2ca78..e93908c 100644 +--- a/poppler/TextOutputDev.cc ++++ b/poppler/TextOutputDev.cc +@@ -173,6 +173,12 @@ // Max distance between edge of text and edge of link border #define hyperlinkSlack 2 @@ -13,7 +29,7 @@ //------------------------------------------------------------------------ // TextUnderline //------------------------------------------------------------------------ -@@ -4220,11 +4226,37 @@ void TextSelectionSizer::visitLine (Text +@@ -4222,11 +4228,37 @@ void TextSelectionSizer::visitLine (TextLine *line, PDFRectangle *rect; double x1, y1, x2, y2, margin; @@ -56,26 +72,17 @@ rect = new PDFRectangle (floor (x1 * scale), floor (y1 * scale), -@@ -4304,22 +4336,59 @@ void TextSelectionPainter::visitLine (Te - state->setFillColor(box_color); - out->updateFillColor(state); +@@ -4310,19 +4341,56 @@ void TextSelectionPainter::visitLine (TextLine *line, + { + double x1, y1, x2, y2, margin; - margin = (line->yMax - line->yMin) / 8; - x1 = floor (line->edge[edge_begin]); - y1 = floor (line->yMin - margin); - x2 = ceil (line->edge[edge_end]); - y2 = ceil (line->yMax + margin); -- - state->getCTM (&ctm); -- ctm.transform(line->edge[edge_begin], line->yMin - margin, &x1, &y1); -- ctm.transform(line->edge[edge_end], line->yMax + margin, &x2, &y2); -+ ctm.invertTo (&ictm); - -- x1 = floor (x1); -- y1 = floor (y1); -- x2 = ceil (x2); -- y2 = ceil (y2); + switch (line->rot) { ++ default: + case 0: + margin = (line->yMax - line->yMin) / 8; + x1 = line->edge[edge_begin]; @@ -108,7 +115,9 @@ + + ctm.transform(x1, y1, &x1, &y1); + ctm.transform(x2, y2, &x2, &y2); -+ + +- ctm.transform(line->edge[edge_begin], line->yMin - margin, &x1, &y1); +- ctm.transform(line->edge[edge_end], line->yMax + margin, &x2, &y2); + if (x1 < x2) { + x1 = floor (x1); + x2 = ceil (x2); @@ -116,7 +125,11 @@ + x1 = ceil (x1); + x2 = floor (x2); + } -+ + +- x1 = floor (x1); +- y1 = floor (y1); +- x2 = ceil (x2); +- y2 = ceil (y2); + if (y1 < y2) { + y1 = floor (y1); + y2 = ceil (y2); @@ -125,11 +138,9 @@ + y2 = floor (y2); + } -- ctm.invertTo (&ictm); ictm.transform(x1, y1, &x1, &y1); ictm.transform(x2, y2, &x2, &y2); - -@@ -4376,17 +4445,27 @@ void TextWord::visitSelection(TextSelect +@@ -4400,17 +4467,27 @@ void TextWord::visitSelection(TextSelectionVisitor *visitor, SelectionStyle style) { int i, begin, end; @@ -163,7 +174,7 @@ } /* Skip empty selection. */ -@@ -4402,30 +4481,41 @@ void TextLine::visitSelection(TextSelect +@@ -4426,30 +4503,41 @@ void TextLine::visitSelection(TextSelectionVisitor *visitor, TextWord *p, *begin, *end, *current; int i, edge_begin, edge_end; PDFRectangle child_selection; @@ -217,7 +228,7 @@ end = p->next; current = p; } -@@ -4437,23 +4527,42 @@ void TextLine::visitSelection(TextSelect +@@ -4461,23 +4549,42 @@ void TextLine::visitSelection(TextSelectionVisitor *visitor, child_selection = *selection; if (style == selectionStyleWord) { @@ -269,3 +280,6 @@ } /* Skip empty selection. */ +-- +1.8.4.2 + diff --git a/SOURCES/poppler-0.26.2-fofitype1.patch b/SOURCES/poppler-0.26.2-fofitype1.patch new file mode 100644 index 0000000..64876e8 --- /dev/null +++ b/SOURCES/poppler-0.26.2-fofitype1.patch @@ -0,0 +1,21 @@ +commit f966b8766d40b2c912e69a1e17ef8cc4bd52be95 +Author: Carlos Garcia Campos +Date: Tue Oct 21 16:42:27 2014 +0200 + + fofi: Fix a crash when parsing an invalid font due to a integer overflow + + This fixes a crash rendering trust_metrics.f2495.f0.pdf. + +diff --git a/fofi/FoFiType1.cc b/fofi/FoFiType1.cc +index 8fa10a0..2245184 100644 +--- a/fofi/FoFiType1.cc ++++ b/fofi/FoFiType1.cc +@@ -263,7 +263,7 @@ void FoFiType1::parse() { + } else { + break; + } +- for (; *p >= '0' && *p < '0' + base; ++p) { ++ for (; *p >= '0' && *p < '0' + base && code < INT_MAX / (base + (*p - '0')); ++p) { + code = code * base + (*p - '0'); + } + for (; *p == ' ' || *p == '\t'; ++p) ; diff --git a/SOURCES/poppler-0.26.2-invalid-matrix.patch b/SOURCES/poppler-0.26.2-invalid-matrix.patch new file mode 100644 index 0000000..1ff0143 --- /dev/null +++ b/SOURCES/poppler-0.26.2-invalid-matrix.patch @@ -0,0 +1,43 @@ +From acc33a6950031ac4a5c759d043d24df0cfa7e8b6 Mon Sep 17 00:00:00 2001 +From: Jason Crain +Date: Sat, 20 Dec 2014 02:24:49 -0600 +Subject: [PATCH] Check for invalid matrix in annotation + +Bug #84990 +--- + poppler/Gfx.cc | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc +index 64a9d7b..77693f9 100644 +--- a/poppler/Gfx.cc ++++ b/poppler/Gfx.cc +@@ -37,6 +37,7 @@ + // Copyright (C) 2012 Even Rouault + // Copyright (C) 2012, 2013 Fabio D'Urso + // Copyright (C) 2012 Lu Wang ++// Copyright (C) 2014 Jason Crain + // + // To see a description of the changes please see the Changelog file that + // came with your tarball or type make ChangeLog if you are building from git +@@ -5285,8 +5286,15 @@ void Gfx::drawAnnot(Object *str, AnnotBorder *border, AnnotColor *aColor, + if (matrixObj.isArray() && matrixObj.arrayGetLength() >= 6) { + for (i = 0; i < 6; ++i) { + matrixObj.arrayGet(i, &obj1); +- m[i] = obj1.getNum(); +- obj1.free(); ++ if (likely(obj1.isNum())) { ++ m[i] = obj1.getNum(); ++ obj1.free(); ++ } else { ++ obj1.free(); ++ matrixObj.free(); ++ error(errSyntaxError, getPos(), "Bad form matrix"); ++ return; ++ } + } + } else { + m[0] = 1; m[1] = 0; +-- +2.1.0 + diff --git a/SOURCES/poppler-0.26.2-pdfdetach.patch b/SOURCES/poppler-0.26.2-pdfdetach.patch new file mode 100644 index 0000000..e7eebde --- /dev/null +++ b/SOURCES/poppler-0.26.2-pdfdetach.patch @@ -0,0 +1,26 @@ +From 88dbd4df0998233939b4a51cedbfc65c58a315f9 Mon Sep 17 00:00:00 2001 +From: Adrian Johnson +Date: Sun, 19 Oct 2014 22:47:15 +1030 +Subject: [PATCH] pdfdetach: fix crash when getPage() returns null + +Bug 85145 +--- + utils/pdfdetach.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/utils/pdfdetach.cc b/utils/pdfdetach.cc +index 4f67fd7..3bae3c0 100644 +--- a/utils/pdfdetach.cc ++++ b/utils/pdfdetach.cc +@@ -163,6 +163,8 @@ int main(int argc, char *argv[]) { + nPages = doc->getCatalog()->getNumPages(); + for (i = 0; i < nPages; ++i) { + page = doc->getCatalog()->getPage(i + 1); ++ if (!page) ++ continue; + annots = page->getAnnots(); + if (!annots) + break; +-- +2.1.0 + diff --git a/SOURCES/poppler-0.26.2-pdfdoc-getpage.patch b/SOURCES/poppler-0.26.2-pdfdoc-getpage.patch new file mode 100644 index 0000000..880079d --- /dev/null +++ b/SOURCES/poppler-0.26.2-pdfdoc-getpage.patch @@ -0,0 +1,21 @@ +commit ee4a389872d86b619c677888da8f13f1f6c54472 +Author: Adrian Johnson +Date: Mon Oct 20 22:32:30 2014 +1030 + + PDFDoc: fix crash when getPage() returns NULL + + Bug 85235 + +diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc +index d1b5d7b..8fd5e18 100644 +--- a/poppler/PDFDoc.cc ++++ b/poppler/PDFDoc.cc +@@ -626,7 +626,7 @@ int PDFDoc::savePageAs(GooString *name, int pageNo) + int keyLength; + xref->getEncryptionParameters(&fileKey, &encAlgorithm, &keyLength); + +- if (pageNo < 1 || pageNo > getNumPages()) { ++ if (pageNo < 1 || pageNo > getNumPages() || !getCatalog()->getPage(pageNo)) { + error(errInternal, -1, "Illegal pageNo: {0:d}({1:d})", pageNo, getNumPages() ); + return errOpenFile; + } diff --git a/SOURCES/poppler-0.26.2-xref-getentry.patch b/SOURCES/poppler-0.26.2-xref-getentry.patch new file mode 100644 index 0000000..1c8d80b --- /dev/null +++ b/SOURCES/poppler-0.26.2-xref-getentry.patch @@ -0,0 +1,30 @@ +commit d6ea8acbb348fdb43601a963ba5407e933565003 +Author: Adrian Johnson +Date: Mon Nov 3 19:11:25 2014 +0100 + + fix crash in Xref::getEntry + + Bug 85234 + +diff --git a/poppler/XRef.cc b/poppler/XRef.cc +index 2560e3d..333f5ec 100644 +--- a/poppler/XRef.cc ++++ b/poppler/XRef.cc +@@ -1568,7 +1568,7 @@ GBool XRef::parseEntry(Goffset offset, XRefEntry *entry) + void XRef::readXRefUntil(int untilEntryNum, std::vector *xrefStreamObjsNum) + { + std::vector followedPrev; +- while (prevXRefOffset && (untilEntryNum == -1 || entries[untilEntryNum].type == xrefEntryNone)) { ++ while (prevXRefOffset && (untilEntryNum == -1 || (untilEntryNum < size && entries[untilEntryNum].type == xrefEntryNone))) { + bool followed = false; + for (size_t j = 0; j < followedPrev.size(); j++) { + if (followedPrev.at(j) == prevXRefOffset) { +@@ -1606,7 +1606,7 @@ void XRef::readXRefUntil(int untilEntryNum, std::vector *xrefStreamObjsNum) + + XRefEntry *XRef::getEntry(int i, GBool complainIfMissing) + { +- if (entries[i].type == xrefEntryNone) { ++ if (i >= size || entries[i].type == xrefEntryNone) { + + if ((!xRefStream) && mainXRefEntriesOffset) { + if (!parseEntry(mainXRefEntriesOffset + 20*i, &entries[i])) { diff --git a/SOURCES/poppler-0.26.5-pdfseparate.patch b/SOURCES/poppler-0.26.5-pdfseparate.patch new file mode 100644 index 0000000..dc26cda --- /dev/null +++ b/SOURCES/poppler-0.26.5-pdfseparate.patch @@ -0,0 +1,11 @@ +--- poppler-0.26.5/utils/pdfseparate.cc ++++ poppler-0.26.5/utils/pdfseparate.cc +@@ -95,7 +95,7 @@ bool extractPages (const char *srcFileNa + } + } + if (!foundmatch && firstPage != lastPage) { +- error(errSyntaxError, -1, "'{0:s}' must contain '%%d' if more than one page should be extracted", destFileName); ++ error(errSyntaxError, -1, "'{0:s}' must contain '%d' if more than one page should be extracted", destFileName); + free(auxDestFileName); + return false; + } diff --git a/SOURCES/poppler-0.26.5-pfb-headers.patch b/SOURCES/poppler-0.26.5-pfb-headers.patch new file mode 100644 index 0000000..706e460 --- /dev/null +++ b/SOURCES/poppler-0.26.5-pfb-headers.patch @@ -0,0 +1,88 @@ +--- poppler-0.26.5/poppler/PSOutputDev.cc ++++ poppler-0.26.5/poppler/PSOutputDev.cc +@@ -2069,7 +2069,7 @@ void PSOutputDev::setupEmbeddedType1Font + static const char hexChar[17] = "0123456789abcdef"; + Object refObj, strObj, obj1, obj2, obj3; + Dict *dict; +- int length1, length2, length3; ++ long length1, length2, length3; + int c; + int start[4]; + GBool binMode; +@@ -2119,8 +2119,18 @@ void PSOutputDev::setupEmbeddedType1Font + embFontList->append(psName->getCString()); + embFontList->append("\n"); + +- // copy ASCII portion of font + strObj.streamReset(); ++ if (strObj.streamGetChar() == 0x80 && ++ strObj.streamGetChar() == 1) { ++ // PFB format ++ length1 = strObj.streamGetChar() | ++ (strObj.streamGetChar() << 8) | ++ (strObj.streamGetChar() << 16) | ++ (strObj.streamGetChar() << 24); ++ } else { ++ strObj.streamReset(); ++ } ++ // copy ASCII portion of font + for (i = 0; i < length1 && (c = strObj.streamGetChar()) != EOF; ++i) { + writePSChar(c); + } +@@ -2153,9 +2163,18 @@ void PSOutputDev::setupEmbeddedType1Font + + // convert binary data to ASCII + if (binMode) { +- for (i = 0; i < 4; ++i) { +- writePSChar(hexChar[(start[i] >> 4) & 0x0f]); +- writePSChar(hexChar[start[i] & 0x0f]); ++ if (start[0] == 0x80 && ++ start[1] == 2) { ++ length2 = start[2] | ++ (start[3] << 8) | ++ (strObj.streamGetChar() << 16) | ++ (strObj.streamGetChar() << 24); ++ i = 0; ++ } else { ++ for (i = 0; i < 4; ++i) { ++ writePSChar(hexChar[(start[i] >> 4) & 0x0f]); ++ writePSChar(hexChar[start[i] & 0x0f]); ++ } + } + #if 0 // this causes trouble for various PostScript printers + // if Length2 is incorrect (too small), font data gets chopped, so +@@ -2193,8 +2212,32 @@ void PSOutputDev::setupEmbeddedType1Font + { + if (length3 > 0) { + // write fixed-content portion +- while ((c = strObj.streamGetChar()) != EOF) { +- writePSChar(c); ++ c = strObj.streamGetChar(); ++ if (c == 0x80) { ++ c = strObj.streamGetChar(); ++ if (c == 1) { ++ length3 = strObj.streamGetChar() | ++ (strObj.streamGetChar() << 8) | ++ (strObj.streamGetChar() << 16) | ++ (strObj.streamGetChar() << 24); ++ ++ i = 0; ++ while (i < length3) { ++ if ((c = strObj.streamGetChar()) == EOF) { ++ break; ++ } ++ writePSChar(c); ++ ++i; ++ } ++ } ++ } else { ++ if (c != EOF) { ++ writePSChar(c); ++ ++ while ((c = strObj.streamGetChar()) != EOF) { ++ writePSChar(c); ++ } ++ } + } + } else { + // write padding and "cleartomark" diff --git a/SOURCES/poppler-0.26.5-soname-bump.patch b/SOURCES/poppler-0.26.5-soname-bump.patch new file mode 100644 index 0000000..bc0465a --- /dev/null +++ b/SOURCES/poppler-0.26.5-soname-bump.patch @@ -0,0 +1,41 @@ +--- poppler-0.26.5/cpp/Makefile.am ++++ poppler-0.26.5/cpp/Makefile.am +@@ -67,4 +67,4 @@ libpoppler_cpp_la_LIBADD = \ + $(top_builddir)/poppler/libpoppler.la \ + $(LIBICONV) + +-libpoppler_cpp_la_LDFLAGS = -version-info 2:0:2 @create_shared_lib@ @auto_import_flags@ ++libpoppler_cpp_la_LDFLAGS = -version-info 12:0:2 @create_shared_lib@ @auto_import_flags@ +--- poppler-0.26.5/glib/Makefile.am ++++ poppler-0.26.5/glib/Makefile.am +@@ -78,7 +78,7 @@ libpoppler_glib_la_LIBADD = \ + $(POPPLER_GLIB_LIBS) \ + $(FREETYPE_LIBS) + +-libpoppler_glib_la_LDFLAGS = -version-info 14:0:6 @create_shared_lib@ @auto_import_flags@ ++libpoppler_glib_la_LDFLAGS = -version-info 24:0:6 @create_shared_lib@ @auto_import_flags@ + + BUILT_SOURCES = \ + poppler-enums.c \ +--- poppler-0.26.5/glib/Poppler-0.18.gir ++++ poppler-0.26.5/glib/Poppler-0.18.gir +@@ -13,7 +13,7 @@ and/or use gtk-doc annotations. --> + + + = 0.4.0 BuildRequires: automake libtool @@ -131,12 +143,15 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %prep %setup -q -%patch0 -p1 -b .CVE-2013-4473 -%patch1 -p1 -b .CVE-2013-4474 -%patch2 -p1 -b .rotated-word-selection - -iconv -f iso-8859-1 -t utf-8 < "utils/pdftohtml.1" > "utils/pdftohtml.1.utf8" -mv "utils/pdftohtml.1.utf8" "utils/pdftohtml.1" +%patch0 -p1 -b .pdfdetach +%patch1 -p1 -b .fofitype1 +%patch2 -p1 -b .pdfdoc-getpage +%patch3 -p1 -b .xref-getentry +%patch4 -p1 -b .invalid-matrix +%patch5 -p1 -b .pdfseparate +%patch6 -p1 -b .rotated-word-selection +%patch7 -p1 -b .soname-bump +%patch8 -p1 -b .pfb-headers # hammer to nuke rpaths, recheck on new releases autoreconf -i -f @@ -148,11 +163,13 @@ autoreconf -i -f PATH=%{_qt4_bindir}:$PATH; export PATH %configure \ + --disable-silent-rules \ --disable-static \ --enable-cairo-output \ --enable-libjpeg \ --enable-libopenjpeg \ --enable-poppler-qt4 \ + --disable-poppler-qt5 \ --enable-xpdf-headers \ --disable-zlib \ --enable-introspection=yes @@ -197,7 +214,7 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}" %files %defattr(-,root,root,-) %doc COPYING README -%{_libdir}/libpoppler.so.37* +%{_libdir}/libpoppler.so.46* %files devel %defattr(-,root,root,-) @@ -214,7 +231,7 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}" %files glib %defattr(-,root,root,-) -%{_libdir}/libpoppler-glib.so.8* +%{_libdir}/libpoppler-glib.so.18* %{_libdir}/girepository-1.0/Poppler-0.18.typelib %files glib-devel @@ -227,7 +244,7 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}" %files qt %defattr(-,root,root,-) -%{_libdir}/libpoppler-qt4.so.4* +%{_libdir}/libpoppler-qt4.so.14* %files qt-devel %defattr(-,root,root,-) @@ -237,7 +254,7 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}" %files cpp %defattr(-,root,root,-) -%{_libdir}/libpoppler-cpp.so.0* +%{_libdir}/libpoppler-cpp.so.10* %files cpp-devel %defattr(-,root,root,-) @@ -256,6 +273,37 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}" %changelog +* Thu Jul 9 2015 Marek Kasik - 0.26.5-5 +- Remove PFB headers from embedded Type1 fonts +- before embedding them into a PostScript file. +- Resolves: #1241488 + +* Fri Apr 24 2015 Marek Kasik - 0.26.5-4 +- Bump sonames of all frontends so that they loads symbols +- from correct libpoppler.so.* when the compat-poppler022 +- package is installed. +- Resolves: #1174537 + +* Wed Apr 8 2015 Marek Kasik - 0.26.5-3 +- Add missing patch +- Resolves: #1174537 + +* Thu Mar 26 2015 Marek Kasik - 0.26.5-2 +- Initialize x1 and y1 in TextSelectionPainter::visitLine() +- Resolves: #1174537 + +* Wed Mar 25 2015 Marek Kasik - 0.26.5-1 +- Update to 0.26.5 +- Remove unused patches +- Rereview patches from fedora +- Modify RHEL patches so that they apply +- Disable Qt5 explicitly +- Resolves: #1174537 + +* Thu Mar 19 2015 Richard Hughes - 0.26.2-1 +- Update to 0.26.2 +- Resolves: #1174537 + * Fri Feb 14 2014 Marek Kasik - 0.22.5-6 - Add explicit requirement of poppler to poppler-demos (RPMDiff) - Related: #1053616