[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#356079: marked as done (tetex-bin: updated poppler patch for poppler 0.5.1)



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 ---
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.defines

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
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 ---

Reply to: