Your message dated Wed, 23 May 2007 16:02:24 +0000 with message-id <E1HqtI8-0007wE-QS@ries.debian.org> and subject line Bug#356079: fixed in texlive-bin 2007-8 has caused the attached Bug report to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---
- To: Debian BTS Submit <submit@bugs.debian.org>
- Subject: tetex-bin: updated poppler patch for poppler 0.5.1
- From: Martin Pitt <martin.pitt@ubuntu.com>
- Date: Thu, 9 Mar 2006 17:08:54 +0100
- Message-id: <20060309160854.GA6019@piware.de>
Package: tetex-bin Severity: wishlist Tags: patch Hi Frank! We upgraded to poppler 0.5.1 in Ubuntu, which grew a better unicode string handling. Unfortunately this broke the API a bit, so that the patch needs updating. I attach the new patch-poppler, and an interdiff between the old and new one. I'll file it here so that it doesn't get lost. Thanks, Martin -- Martin Pitt http://www.piware.de Ubuntu Developer http://www.ubuntu.com Debian Developer http://www.debian.org In a world without walls and fences, who needs Windows and Gates?diff -u tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc 2005-12-28 10:29:17.692595280 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc 2006-03-09 16:49:28.000000000 +0100 @@ -32,6 +32,7 @@ #include <poppler/goo/gmem.h> #include <poppler/goo/gfile.h> #include "poppler/Object.h" +#include "poppler/UGooString.h" #include "poppler/Stream.h" #include "poppler/Array.h" #include "poppler/Dict.h" @@ -234,7 +235,7 @@ i < l; i++) { Object obj1; - obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); + obj->dictAdd(*(new UGooString (*dict->getKey(i))), dict->getValNF(i, &obj1)); } } @@ -307,7 +308,7 @@ static void copyDictEntry(Object *obj, int i) { PdfObject obj1; - copyName(obj->dictGetKey(i)); + copyName(obj->dictGetKey(i)->getCString()); pdf_puts(" "); obj->dictGetValNF(i, &obj1); copyObject(&obj1); @@ -334,7 +335,7 @@ pdf_puts("<<\n"); if (r->type == objFont) { // Font dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("BaseFont", key) == 0 || strcmp("Encoding", key) == 0) continue; // skip original values @@ -346,7 +347,7 @@ } else { // FontDescriptor dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("FontName", key) == 0 || strncmp("FontFile", key, strlen("FontFile")) == 0) continue; // ignore original FontFile/FontName @@ -455,7 +456,7 @@ for (i = 0, l = obj->dictGetLength(); i < l; ++i) { obj->dictGetValNF(i, &fontRef); if (fontRef->isRef()) - copyFont(obj->dictGetKey(i), &fontRef); + copyFont(obj->dictGetKey(i)->getCString(), &fontRef); else pdftex_fail("pdf inclusion: invalid font in reference type <%s>", fontRef->getTypeName()); @@ -714,7 +715,7 @@ epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); if (page_name) { // get page by name - GooString name(page_name); + UGooString name(page_name); LinkDest *link = pdf_doc->doc->findDest(&name); if (link == 0 || !link->isOk()) pdftex_fail("pdf inclusion: invalid destination <%s>", @@ -999,7 +1000,7 @@ pdf_puts("/Resources <<\n"); for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { obj1->dictGetVal(i, &obj2); - key = obj1->dictGetKey(i); + key = obj1->dictGetKey(i)->getCString(); if (strcmp("Font", key) == 0) copyFontResources(&obj2); else if (strcmp("ProcSet", key) == 0) diff -u tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc 2005-12-28 10:29:17.692595280 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc 2006-03-09 16:49:36.000000000 +0100 @@ -30,6 +30,7 @@ #include <poppler/goo/gmem.h> #include <poppler/goo/gfile.h> #include "poppler/Object.h" +#include "poppler/UGooString.h" #include "poppler/Stream.h" #include "poppler/Array.h" #include "poppler/Dict.h" @@ -80,7 +81,7 @@ } srcStream.initNull(); if (objnum == 0) { - catalogDict.dictLookup("SourceObject", &srcStream); + catalogDict.dictLookup(UGooString("SourceObject"), &srcStream); if (!srcStream.isStream("SourceFile")) { fprintf(stderr, "No SourceObject found\n"); exit(1);diff -Nurp tetex-bin-3.0/configure tetex-bin-3.0.new/configure --- tetex-bin-3.0/configure 2005-02-06 19:27:03.000000000 +0100 +++ tetex-bin-3.0.new/configure 2006-03-09 16:49:28.000000000 +0100 @@ -3292,9 +3292,9 @@ export needs_zlib # we need libxpdf for pdf[ex]tex test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} -test "$with_pdftex" != no && : ${needs_libxpdf=yes} -test "$with_pdfetex" != no && : ${needs_libxpdf=yes} -test "$with_pdfxtex" != no && : ${needs_libxpdf=yes} +test "$with_pdftex" != no && : ${needs_libxpdf=no} +test "$with_pdfetex" != no && : ${needs_libxpdf=no} +test "$with_pdfxtex" != no && : ${needs_libxpdf=no} : ${needs_libxpdf=no} export needs_libxpdf diff -Nurp tetex-bin-3.0/configure.in tetex-bin-3.0.new/configure.in --- tetex-bin-3.0/configure.in 2005-02-01 22:59:46.000000000 +0100 +++ tetex-bin-3.0.new/configure.in 2006-03-09 16:49:28.000000000 +0100 @@ -145,9 +145,9 @@ export needs_zlib # we need libxpdf for pdf[ex]tex test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no} -test "$with_pdftex" != no && : ${needs_libxpdf=yes} -test "$with_pdfetex" != no && : ${needs_libxpdf=yes} -test "$with_pdfxtex" != no && : ${needs_libxpdf=yes} +test "$with_pdftex" != no && : ${needs_libxpdf=no} +test "$with_pdfetex" != no && : ${needs_libxpdf=no} +test "$with_pdfxtex" != no && : ${needs_libxpdf=no} : ${needs_libxpdf=no} export needs_libxpdf diff -Nurp tetex-bin-3.0/texk/web2c/pdfetexdir/pdfetex.mk tetex-bin-3.0.new/texk/web2c/pdfetexdir/pdfetex.mk --- tetex-bin-3.0/texk/web2c/pdfetexdir/pdfetex.mk 2004-12-20 20:57:52.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdfetexdir/pdfetex.mk 2006-03-09 16:49:28.000000000 +0100 @@ -8,13 +8,16 @@ Makefile: $(srcdir)/pdfetexdir/pdfetex.m pdfetex = @PETEX@ pdfetex pdfetexdir = pdfetexdir +# use libpoppler instead of included xpdf code +ADDLDFLAGS = -lpoppler + # The C sources. pdfetex_c = pdfetexini.c pdfetex0.c pdfetex1.c pdfetex2.c pdfetex3.c pdfetex_o = pdfetexini.o pdfetex0.o pdfetex1.o pdfetex2.o pdfetex3.o pdfetexextra.o # Making pdfetex pdfetex: pdftexd.h $(pdfetex_o) $(pdfetexextra_o) $(pdftexlibsdep) - @CXXHACKLINK@ $(pdfetex_o) $(pdfetexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ + @CXXHACKLINK@ $(pdfetex_o) $(pdfetexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) # C file dependencies. $(pdfetex_c) pdfetexcoerce.h pdfetexd.h: pdfetex.p $(web2c_texmf) diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/depend.mk tetex-bin-3.0.new/texk/web2c/pdftexdir/depend.mk --- tetex-bin-3.0/texk/web2c/pdftexdir/depend.mk 2004-03-09 12:20:12.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/depend.mk 2006-03-09 16:49:28.000000000 +0100 @@ -1,54 +1,4 @@ -epdf.o: epdf.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -mapfile.o: mapfile.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -papersiz.o: papersiz.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h -utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \ - ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \ - ../../../libs/md5/md5.h pdftexextra.h -vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h -pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \ - ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \ - ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writet3.o: writet3.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \ - ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h -writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h -writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h -writettf.o: writettf.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h macnames.c -writejpg.o: writejpg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h image.h -writepng.o: writepng.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h image.h -writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \ - ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \ - ptexmac.h image.h -pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \ - ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \ - ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \ - ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \ - ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \ - ../../../libs/xpdf/xpdf/Error.h epdf.h -ttf2afm.o: ttf2afm.c macnames.c -pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \ - ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \ - ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \ - ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \ - ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \ - ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h +pdftoepdf.o: pdftoepdf.cc epdf.h ../../kpathsea/c-auto.h \ + ../../kpathsea/c-proto.h ../../web2c/c-auto.h ../../web2c/config.h \ + ../../kpathsea/c-fopen.h ../../web2c/pdftexdir/ptexmac.h +pdftosrc.o: pdftosrc.cc diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/Makefile.in tetex-bin-3.0.new/texk/web2c/pdftexdir/Makefile.in --- tetex-bin-3.0/texk/web2c/pdftexdir/Makefile.in 2004-08-06 21:41:57.000000000 +0200 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/Makefile.in 2006-03-09 16:49:28.000000000 +0100 @@ -8,7 +8,7 @@ ac_include ../make/library.mk kpathsea_srcdir_parent = $(srcdir)/../.. kpathsea_dir_parent = ../.. -ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) @LIBXPDFCPPFLAGS@ +ALL_CXXFLAGS = @CXXFLAGS@ @DEFS@ $(XXCFLAGS) -I. -I$(srcdir) -I$(kpathsea_dir_parent) -I$(kpathsea_srcdir_parent) -I/usr/include/poppler CXX = @CXX@ .SUFFIXES: .cc .o diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/pdftex.mk tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftex.mk --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftex.mk 2005-02-03 17:16:39.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftex.mk 2006-03-09 16:49:28.000000000 +0100 @@ -13,6 +13,9 @@ Makefile: pdftexdir/pdftex.mk pdftex_bin = pdftex pdfetex pdfxtex ttf2afm pdftosrc linux_build_dir = $(HOME)/pdftex/build/linux/texk/web2c +# use libpoppler instead of included xpdf code +ADDLDFLAGS = -lpoppler + # We build pdftex pdftex = @PTEX@ pdftex pdftexdir = pdftexdir @@ -29,7 +32,7 @@ pdftex_o = pdftexini.o pdftex0.o pdftex1 # Making pdftex pdftex: $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep) - @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ + @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) # C file dependencies. $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) @@ -153,7 +156,7 @@ ttf2afm-clean: pdftosrc = pdftosrc pdftosrc: pdftexdir/pdftosrc.o $(LIBXPDFDEP) - @CXXHACKLINK@ pdftexdir/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ + @CXXHACKLINK@ pdftexdir/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS) pdftexdir/pdftosrc.o:$(srcdir)/pdftexdir/pdftosrc.cc cd pdftexdir && $(MAKE) pdftosrc.o check: pdftosrc-check diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc 2005-02-03 17:16:39.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc 2006-03-09 16:49:28.000000000 +0100 @@ -26,22 +26,24 @@ $Id: //depot/Build/source.development/Te #include <stdio.h> #include <string.h> #include <ctype.h> -#include <aconf.h> -#include <GString.h> -#include <gmem.h> -#include <gfile.h> -#include <config.h> -#include "Object.h" -#include "Stream.h" -#include "Array.h" -#include "Dict.h" -#include "XRef.h" -#include "Catalog.h" -#include "Page.h" -#include "GfxFont.h" -#include "PDFDoc.h" -#include "GlobalParams.h" -#include "Error.h" +#include <dirent.h> +#include <poppler/poppler-config.h> +#include <poppler/goo/GooString.h> +#include <poppler/goo/gmem.h> +#include <poppler/goo/gfile.h> +#include "poppler/Object.h" +#include "poppler/UGooString.h" +#include "poppler/Stream.h" +#include "poppler/Array.h" +#include "poppler/Dict.h" +#include "poppler/XRef.h" +#include "poppler/Link.h" +#include "poppler/Catalog.h" +#include "poppler/Page.h" +#include "poppler/GfxFont.h" +#include "poppler/PDFDoc.h" +#include "poppler/GlobalParams.h" +#include "poppler/Error.h" #include "epdf.h" @@ -189,7 +191,7 @@ static PdfDocument *find_add_document(ch #ifdef DEBUG fprintf(stderr, "\nCreating %s (%d)\n", p->file_name, p->occurences); #endif - GString *docName = new GString(p->file_name); + GooString *docName = new GooString(p->file_name); p->doc = new PDFDoc(docName); // takes ownership of docName if (!p->doc->isOk() || !p->doc->okToPrint()) { pdftex_fail("xpdf: reading PDF image failed"); @@ -233,7 +235,7 @@ static void initDictFromDict (PdfObject i < l; i++) { Object obj1; - obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1)); + obj->dictAdd(*(new UGooString (*dict->getKey(i))), dict->getValNF(i, &obj1)); } } @@ -306,7 +308,7 @@ static void copyName(char *s) static void copyDictEntry(Object *obj, int i) { PdfObject obj1; - copyName(obj->dictGetKey(i)); + copyName(obj->dictGetKey(i)->getCString()); pdf_puts(" "); obj->dictGetValNF(i, &obj1); copyObject(&obj1); @@ -333,7 +335,7 @@ static void copyFontDict(Object *obj, In pdf_puts("<<\n"); if (r->type == objFont) { // Font dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("BaseFont", key) == 0 || strcmp("Encoding", key) == 0) continue; // skip original values @@ -345,7 +347,7 @@ static void copyFontDict(Object *obj, In } else { // FontDescriptor dict for (i = 0, l = obj->dictGetLength(); i < l; ++i) { - key = obj->dictGetKey(i); + key = obj->dictGetKey(i)->getCString(); if (strcmp("FontName", key) == 0 || strncmp("FontFile", key, strlen("FontFile")) == 0) continue; // ignore original FontFile/FontName @@ -454,7 +456,7 @@ static void copyFontResources(Object *ob for (i = 0, l = obj->dictGetLength(); i < l; ++i) { obj->dictGetValNF(i, &fontRef); if (fontRef->isRef()) - copyFont(obj->dictGetKey(i), &fontRef); + copyFont(obj->dictGetKey(i)->getCString(), &fontRef); else pdftex_fail("pdf inclusion: invalid font in reference type <%s>", fontRef->getTypeName()); @@ -539,7 +541,7 @@ static void copyObject(Object *obj) int i, l, c; Ref ref; char *p; - GString *s; + GooString *s; if (obj->isBool()) { pdf_printf("%s", obj->getBool() ? "true" : "false"); } @@ -686,7 +688,7 @@ read_pdf_info(char *image_name, char *pa float pdf_version_found, pdf_version_wanted; // initialize if (!isInit) { - globalParams = new GlobalParams(); + globalParams = new GlobalParams(NULL); globalParams->setErrQuiet(gFalse); isInit = gTrue; } @@ -713,7 +715,7 @@ read_pdf_info(char *image_name, char *pa epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages(); if (page_name) { // get page by name - GString name(page_name); + UGooString name(page_name); LinkDest *link = pdf_doc->doc->findDest(&name); if (link == 0 || !link->isOk()) pdftex_fail("pdf inclusion: invalid destination <%s>", @@ -998,7 +1000,7 @@ write_epdf(void) pdf_puts("/Resources <<\n"); for (i = 0, l = obj1->dictGetLength(); i < l; ++i) { obj1->dictGetVal(i, &obj2); - key = obj1->dictGetKey(i); + key = obj1->dictGetKey(i)->getCString(); if (strcmp("Font", key) == 0) copyFontResources(&obj2); else if (strcmp("ProcSet", key) == 0) diff -Nurp tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc --- tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc 2004-03-22 21:39:54.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc 2006-03-09 16:49:36.000000000 +0100 @@ -25,21 +25,22 @@ $Id: //depot/Build/source.development/Te #include <stdio.h> #include <string.h> #include <ctype.h> -#include <aconf.h> -#include <GString.h> -#include <gmem.h> -#include <gfile.h> -#include "Object.h" -#include "Stream.h" -#include "Array.h" -#include "Dict.h" -#include "XRef.h" -#include "Catalog.h" -#include "Page.h" -#include "GfxFont.h" -#include "PDFDoc.h" -#include "GlobalParams.h" -#include "Error.h" +#include <dirent.h> +#include <poppler/goo/GooString.h> +#include <poppler/goo/gmem.h> +#include <poppler/goo/gfile.h> +#include "poppler/Object.h" +#include "poppler/UGooString.h" +#include "poppler/Stream.h" +#include "poppler/Array.h" +#include "poppler/Dict.h" +#include "poppler/XRef.h" +#include "poppler/Catalog.h" +#include "poppler/Page.h" +#include "poppler/GfxFont.h" +#include "poppler/PDFDoc.h" +#include "poppler/GlobalParams.h" +#include "poppler/Error.h" static XRef *xref = 0; @@ -47,7 +48,7 @@ int main(int argc, char *argv[]) { char *p, buf[1024]; PDFDoc *doc; - GString *fileName; + GooString *fileName; Stream *s; Object srcStream, srcName, catalogDict; FILE *outfile; @@ -59,8 +60,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "Usage: pdftosrc <PDF-file> [<stream-object-number>]\n"); exit(1); } - fileName = new GString(argv[1]); - globalParams = new GlobalParams(); + fileName = new GooString(argv[1]); + globalParams = new GlobalParams(NULL); doc = new PDFDoc(fileName); if (!doc->isOk()) { fprintf(stderr, "Invalid PDF file\n"); @@ -80,7 +81,7 @@ int main(int argc, char *argv[]) } srcStream.initNull(); if (objnum == 0) { - catalogDict.dictLookup("SourceObject", &srcStream); + catalogDict.dictLookup(UGooString("SourceObject"), &srcStream); if (!srcStream.isStream("SourceFile")) { fprintf(stderr, "No SourceObject found\n"); exit(1); diff -Nurp tetex-bin-3.0/texk/web2c/pdfxtexdir/pdfxtex.mk tetex-bin-3.0.new/texk/web2c/pdfxtexdir/pdfxtex.mk --- tetex-bin-3.0/texk/web2c/pdfxtexdir/pdfxtex.mk 2005-02-03 19:42:26.000000000 +0100 +++ tetex-bin-3.0.new/texk/web2c/pdfxtexdir/pdfxtex.mk 2006-03-09 16:49:28.000000000 +0100 @@ -8,13 +8,16 @@ Makefile: $(srcdir)/pdfxtexdir/pdfxtex.m pdfxtex = @PXTEX@ pdfxtex pdfxtexdir = pdfxtexdir +# use libpoppler instead of included xpdf code +ADDLDFLAGS = -lpoppler + # The C sources. pdfxtex_c = pdfxtexini.c pdfxtex0.c pdfxtex1.c pdfxtex2.c pdfxtex3.c pdfxtex_o = pdfxtexini.o pdfxtex0.o pdfxtex1.o pdfxtex2.o pdfxtex3.o pdfxtexextra.o # Making pdfxtex pdfxtex: pdftexd.h $(pdfxtex_o) $(pdfxtexextra_o) $(pdftexlibsdep) - @CXXHACKLINK@ $(pdfxtex_o) $(pdfxtexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ + @CXXHACKLINK@ $(pdfxtex_o) $(pdfxtexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS) # C file dependencies. $(pdfxtex_c) pdfxtexcoerce.h pdfxtexd.h: pdfxtex.p $(web2c_texmf) pdfxtexdir/pdfxtex.definesAttachment: signature.asc
Description: Digital signature
--- End Message ---
--- Begin Message ---
- To: 356079-close@bugs.debian.org
- Subject: Bug#356079: fixed in texlive-bin 2007-8
- From: Norbert Preining <preining@debian.org>
- Date: Wed, 23 May 2007 16:02:24 +0000
- Message-id: <E1HqtI8-0007wE-QS@ries.debian.org>
Source: texlive-bin Source-Version: 2007-8 We believe that the bug you reported is fixed in the latest version of texlive-bin, which is due to be installed in the Debian FTP archive: libkpathsea-dev_2007-8_i386.deb to pool/main/t/texlive-bin/libkpathsea-dev_2007-8_i386.deb libkpathsea4_2007-8_i386.deb to pool/main/t/texlive-bin/libkpathsea4_2007-8_i386.deb texlive-base-bin_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-base-bin_2007-8_i386.deb texlive-bin_2007-8.diff.gz to pool/main/t/texlive-bin/texlive-bin_2007-8.diff.gz texlive-bin_2007-8.dsc to pool/main/t/texlive-bin/texlive-bin_2007-8.dsc texlive-extra-utils_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-extra-utils_2007-8_i386.deb texlive-font-utils_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-font-utils_2007-8_i386.deb texlive-lang-indic_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-lang-indic_2007-8_i386.deb texlive-metapost_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-metapost_2007-8_i386.deb texlive-music_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-music_2007-8_i386.deb texlive-omega_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-omega_2007-8_i386.deb texlive-xetex_2007-8_i386.deb to pool/main/t/texlive-bin/texlive-xetex_2007-8_i386.deb A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 356079@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Norbert Preining <preining@debian.org> (supplier of updated texlive-bin package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Mon, 21 May 2007 14:17:19 +0200 Source: texlive-bin Binary: texlive-extra-utils libkpathsea-dev libkpathsea4 texlive-xetex texlive-lang-indic texlive-omega texlive-font-utils texlive-metapost texlive-base-bin texlive-music Architecture: source i386 Version: 2007-8 Distribution: unstable Urgency: low Maintainer: Debian TeX Maintainers <debian-tex-maint@lists.debian.org> Changed-By: Norbert Preining <preining@debian.org> Description: libkpathsea-dev - TeX Live: path search library for TeX (development part) libkpathsea4 - TeX Live: path search library for TeX (runtime part) texlive-base-bin - TeX Live: Essential binaries texlive-extra-utils - TeX Live: TeX auxiliary programs texlive-font-utils - TeX Live: TeX font-related programs texlive-lang-indic - TeX Live: Indic texlive-metapost - TeX Live: MetaPost (and Metafont) drawing packages texlive-music - TeX Live: Music typesetting texlive-omega - TeX Live: Omega texlive-xetex - TeX Live: XeTeX macros Closes: 241089 249085 356079 420139 420971 421969 423988 423990 424031 424658 425065 425272 Changes: texlive-bin (2007-8) unstable; urgency=low . * lang-indic: move bangfont.tex from doc to run files (Closes: #424031) * lang-indic: add missing python header to ebong script (Closes: #423990) * dpkg_md5sum in common-functions.preinst returns now the empty string in case of an unknown conffile (could have been created by touch). This should fix Ubuntu bug 111654. [np] * Build with --enable-ipc to allow piping of output [fk] * Build shared kpathsea library and include it in separate packages [fk] * move bin-thumbpdf to texlive-base-bin (Closes: #424658) [np] * texlive-extra-utils suggests gs-* for epstopdf (Closes: #423988) [np] * replace patches/30_libpoppler with patches/30_libpoppler_new for new libpoppler 0.5, make the build-dep libpoppler-dev (>= 0.5.4) (Closes: #425065, #356079) * add stricter dependencies to all packages: if in the final shipout dep on a texlive package there is no version given, the value of latest-version (from tpm2deb.cfg) of the source package is taken. (Closes: #421969) * remove cruft from control files (cweb, ctie, texdoctk) (Closes: #241089, #249085) * don't leave copies of conffiles in TEXMFDIST (Closes: #420139) * add poppler to the pdftex banner (Closes: #420971) * texlive-lang-indic depends on python * remove the rpath entry in all the binaries * add patch 64_fix_makempx_installation to fix the installation of makempx script instead of the binary (thanks Sanjoy Mahajan) * rework the xdvi conf file handling code to not "preserve removal" when upgrading from older texlive versions (Closes: #425272) * format generation reworked: - texlive-base-bin does not provide formats anymore since all the respective ini files are in texlive-base - texlive-base takes the format generation Files: cb6c93a62aaaefed5e8de5422a5d8d92 1150 tex optional texlive-bin_2007-8.dsc a383025ac56994336bccad1ccbca1394 145854 tex optional texlive-bin_2007-8.diff.gz 181ad28900a70045686f4cf784dc004e 10939154 tex optional texlive-base-bin_2007-8_i386.deb b9afab2d4d6f926ead89c35335e6f1bf 560888 tex optional texlive-extra-utils_2007-8_i386.deb 0fa809ca5e6ec1ce824eac961cdee88a 957636 tex optional texlive-font-utils_2007-8_i386.deb e1357363a97f7c766b2c5dabf00a3496 7405250 tex optional texlive-metapost_2007-8_i386.deb 63dca3f302562a81a644e3e92450cfce 2663970 tex optional texlive-omega_2007-8_i386.deb cca1e18596ab9c363e15ed67047eb35e 6360476 tex optional texlive-xetex_2007-8_i386.deb d3c95ab1e3c37bcf849749287297d5c0 1710510 tex optional texlive-music_2007-8_i386.deb 72dd9d18ef4ad3100c0f10f09a622d44 6697850 tex optional texlive-lang-indic_2007-8_i386.deb 8582191bbe2b64164b705341325068f4 108078 tex optional libkpathsea4_2007-8_i386.deb 3d3e575804978b13b7be1331b4f3c502 145688 tex optional libkpathsea-dev_2007-8_i386.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFGUxOp0r9KownFsJQRAi2xAJ9fyHnOEE4VDmN1FMilLEEvDesbIgCcDcGR vyIpeSWqsCM6jny3z73IOUQ= =cEbK -----END PGP SIGNATURE-----
--- End Message ---