Package: tetex-bin Version: 3.0-27 Tags: patch Hi! We recently got https://launchpad.net/bugs/66474 about a dvipdfm crash. I verified the crash and that the patch fixes it (and dvipdfm still works normally). Thanks, Martin -- Martin Pitt http://www.piware.de Ubuntu Developer http://www.ubuntu.com Debian Developer http://www.debian.org
diff -u tetex-bin-3.0/debian/rules tetex-bin-3.0/debian/rules
--- tetex-bin-3.0/debian/rules
+++ tetex-bin-3.0/debian/rules
@@ -329,7 +329,7 @@
done
# needs devscripts in etch or from backports.org
- debchange --distribution sarge-backports -b --newversion 3.0-24ubuntu1~bpo.1 "Recompiled for sarge."
+ debchange --distribution sarge-backports -b --newversion 3.0-24ubuntu2~bpo.1 "Recompiled for sarge."
debchange --append \
"Add a Build-Depends on sarge's xlibs-dev to prevent linking against XOrg"
debchange --append \
diff -u tetex-bin-3.0/debian/changelog tetex-bin-3.0/debian/changelog
--- tetex-bin-3.0/debian/changelog
+++ tetex-bin-3.0/debian/changelog
@@ -1,3 +1,12 @@
+tetex-bin (3.0-24ubuntu2) feisty; urgency=low
+
+ * Add debian/patches/patch-dvipdfm-timezones:
+ - Fix dvipdfm crash in certain time zones.
+ - Thanks to Alex Murray for digging out the patch!
+ - Closes: LP#66474
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 15 Dec 2006 18:05:19 +0100
+
tetex-bin (3.0-24ubuntu1) feisty; urgency=low
* Merge to Debian unstable. Remaining Ubuntu changes:
diff -u tetex-bin-3.0/debian/patches/series tetex-bin-3.0/debian/patches/series
--- tetex-bin-3.0/debian/patches/series
+++ tetex-bin-3.0/debian/patches/series
@@ -16,0 +17 @@
+patch-dvipdfm-timezones
only in patch2:
unchanged:
--- tetex-bin-3.0.orig/debian/patches/patch-dvipdfm-timezones
+++ tetex-bin-3.0/debian/patches/patch-dvipdfm-timezones
@@ -0,0 +1,44 @@
+Index: tetex-bin-3.0/texk/dvipdfm/pdfdoc.c
+===================================================================
+--- tetex-bin-3.0.orig/texk/dvipdfm/pdfdoc.c 2006-12-15 18:18:02.000000000 +0100
++++ tetex-bin-3.0/texk/dvipdfm/pdfdoc.c 2006-12-15 18:18:06.000000000 +0100
+@@ -234,7 +234,7 @@
+ {
+ #ifndef HAVE_TIMEZONE
+ #ifdef TM_GM_TOFF
+- #define timezone (bdtime->gm_toff)
++ #define timezone (bd_time->tm_gmtoff)
+ #else
+ #define timezone 0l
+ #endif /* TM_GM_TOFF */
+@@ -242,15 +242,26 @@
+ static char date_string[24];
+ time_t current_time;
+ struct tm *bd_time;
++ long hh, mm;
+ if (debug) {
+ fprintf (stderr, "(asn_date)");
+ }
+ time(¤t_time);
+ bd_time = localtime(¤t_time);
+- sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%+03ld'%02ld'",
+- bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
+- bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec,
+- -timezone/3600, timezone%3600);
++ if (timezone == 0l) {
++ sprintf (date_string, "D:%04d%02d%02d%02d%02d%02dZ00'00'",
++ bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
++ bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec);
++ } else {
++ hh = timezone/3600;
++ mm = (timezone%3600)/60;
++ if (timezone < 0)
++ mm = -mm;
++ sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%+03ld'%02ld'",
++ bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
++ bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec,
++ hh, mm);
++ }
+ return date_string;
+ }
+
Attachment:
signature.asc
Description: Digital signature