File groff_1.22.2-2.debian.diff of Package groff

Description: Use mktemp in groffer to eliminate a race condition
 This was forwarded in
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=278265#12 and addressed
 differently, but it would still be much better to use mktemp if available.
Origin: vendor, https://bugzilla.redhat.com/show_bug.cgi?id=136313
Author: Mark Cox <mjc@redhat.com>
Author: Colin Watson <cjwatson@debian.org>
Bug-Debian: http://bugs.debian.org/278265
Forwarded: no
Last-Update: 2010-03-01

Index: b/contrib/groffer/shell/groffer2.sh
===================================================================
--- a/contrib/groffer/shell/groffer2.sh
+++ b/contrib/groffer/shell/groffer2.sh
@@ -5222,28 +5222,7 @@
       _TMP_DIR="${mi_dir}"'/';
       ;;
     esac;
-    _TMP_DIR="${_TMP_DIR}groffer${_PROCESS_ID}";
-    if obj _TMP_DIR rm_tree
-    then
-      :
-    else
-      mi_tdir_="${_TMP_DIR}"_;
-      mi_n=1;
-      mi_tdir_n="${mi_tdir_}${mi_n}";
-### main_init()
-      while obj mi_tdir_n is_existing
-      do
-        if obj mi_tdir_n rm_tree
-        then
-          # directory could not be removed
-          mi_n="$(expr "${mi_n}" + 1)";
-          mi_tdir_n="${mi_tdir_}${mi_n}";
-          continue;
-        fi;
-      done;
-      _TMP_DIR="${mi_tdir_n}";
-    fi;
-    eval mkdir "${_TMP_DIR}";
+    _TMP_DIR="$(mktemp -d "${_TMP_DIR}groffer.XXXXXX")";
     if is_not_equal "$?" 0
     then
       obj _TMP_DIR rm_tree;
Description: The *2graph scripts use $RANDOM, which is bash-specific
Author: Colin Watson <cjwatson@debian.org>
Forwarded: no
Last-Update: 2010-03-01

Index: b/contrib/eqn2graph/eqn2graph.sh
===================================================================
--- a/contrib/eqn2graph/eqn2graph.sh
+++ b/contrib/eqn2graph/eqn2graph.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 #
 # eqn2graph -- compile EQN equation descriptions to bitmap images
 #
Index: b/contrib/grap2graph/grap2graph.sh
===================================================================
--- a/contrib/grap2graph/grap2graph.sh
+++ b/contrib/grap2graph/grap2graph.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 #
 # grap2graph -- compile graph description descriptions to bitmap images
 #
Index: b/contrib/pic2graph/pic2graph.sh
===================================================================
--- a/contrib/pic2graph/pic2graph.sh
+++ b/contrib/pic2graph/pic2graph.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 #
 # pic2graph -- compile PIC image descriptions to bitmap images
 #
Description: Avoid relying on awk in mdate.sh
 The results were unpredictable on mips/mipsel.
Author: Florian Lohoff <flo@rfc822.org>
Bug-Debian: http://bugs.debian.org/62554
Forwarded: no
Last-Update: 2010-03-01

Index: b/mdate.sh
===================================================================
--- a/mdate.sh
+++ b/mdate.sh
@@ -20,41 +20,4 @@
 #
 # Print the modification date of $1 `nicely'.
 
-# Don't want foreign dates.
-
-LANGUAGE=
-LC_ALL=C; export LC_ALL
-
-
-(date;
-if ls -L /dev/null 1>/dev/null 2>&1; then ls -L -l $1; else ls -l $1; fi
-) | awk '
-BEGIN {
-	full["Jan"] = "January"; number["Jan"] = 1;
-	full["Feb"] = "February"; number["Feb"] = 2;
-	full["Mar"] = "March"; number["Mar"] = 3;
-	full["Apr"] = "April"; number["Apr"] = 4;
-	full["May"] = "May"; number["May"] = 5;
-	full["Jun"] = "June"; number["Jun"] = 6;
-	full["Jul"] = "July"; number["Jul"] = 7;
-	full["Aug"] = "August"; number["Aug"] = 8;
-	full["Sep"] = "September"; number["Sep"] = 9;
-	full["Oct"] = "October"; number["Oct"] = 10;
-	full["Nov"] = "November"; number["Nov"] = 11;
-	full["Dec"] = "December"; number["Dec"] = 12;
-}
-
-NR == 1 {
-	month = $2;
-	year = $NF;
-}
-
-NR == 2 {
-	if ($(NF-1) ~ /:/) {
-		if (number[$(NF-3)] > number[month])
-			year--;
-	}
-	else
-		year = $(NF-1);
-	print $(NF-2), full[$(NF-3)], year
-}'
+perl -MPOSIX -le 'print strftime("%d %B %Y", localtime((stat $ARGV[0])[9]))' $1
Description: Unset IFS at nroff startup
 It's questionable whether we should forward this; as noted in the bug
 trail, there's a decent argument that this is a dash bug.
Author: Colin Watson <cjwatson@debian.org>
Bug-Debian: http://bugs.debian.org/541621
Forwarded: no
Last-Update: 2010-03-01

Index: b/src/roff/nroff/nroff.sh
===================================================================
--- a/src/roff/nroff/nroff.sh
+++ b/src/roff/nroff/nroff.sh
@@ -22,6 +22,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
+unset IFS
+
 prog="$0"
 
 # Default device.
Description: '+' isn't a regex metacharacter in sed by default
 Why are we only doing this for devascii?  Probably a bug one way or
 another, but needs review before forwarding.
Author: Fumitoshi UKAI <ukai@debian.or.jp>
Forwarded: no
Last-Update: 2010-03-01

Index: b/font/devascii/Makefile.sub
===================================================================
--- a/font/devascii/Makefile.sub
+++ b/font/devascii/Makefile.sub
@@ -12,8 +12,8 @@
 	@-rm -f $@
 	@(charwidth=`expr $(RES) / $(CPI)` ; \
  	 sed -e "s/^name [A-Z]*$$/name $@/" \
-	     -e "s/^\\([^	]*\\)	[0-9]+	/\\1	$$charwidth	/" \
-	     -e "s/^spacewidth [0-9]+$$/spacewidth $$charwidth/" \
+	     -e "s/^\\([^	]*\\)	[0-9][0-9]*	/\\1	$$charwidth	/" \
+	     -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$charwidth/" \
 	     -e "s/^internalname .*$$/internalname $@/" \
 	     -e "/^internalname/s/BI/3/" \
 	     -e "/^internalname/s/B/2/" \
Description: Adjust #! line of font/devlj4/generate/special.awk
 awk is in /usr/bin/awk on Debian, not /bin/awk.
Author: Colin Watson <cjwatson@debian.org>
Forwarded: no
Last-Update: 2010-03-01

Index: b/font/devlj4/generate/special.awk
===================================================================
--- a/font/devlj4/generate/special.awk
+++ b/font/devlj4/generate/special.awk
@@ -1,4 +1,4 @@
-#! /bin/awk -f
+#! /usr/bin/awk -f
 
 # Correct Intellifont-based height metrics for several glyphs in
 # special font for TrueType CG Times (LaserJet 4000 and later).
Description: Set appropriate papersize when calling gs from HTML preprocessor
 This patch seems fishy.  get_papersize was removed upstream in r335.1.348,
 so should we even be applying this any more?  Furthermore, we don't use
 gsPaper anywhere, and looking at devps/DESC here is just nasty.  Needs
 review.
Author: Colin Watson <cjwatson@debian.org>
Forwarded: no
Last-Update: 2013-01-07

Description: Add GFDL references to manual pages licensed under GFDL
Author: Colin Watson <cjwatson@debian.org>
Bug-Debian: http://bugs.debian.org/292229
Forwarded: not-needed
Last-Update: 2013-01-07

Index: b/contrib/mom/groff_mom.man
===================================================================
--- a/contrib/mom/groff_mom.man
+++ b/contrib/mom/groff_mom.man
@@ -15,6 +15,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .do nr groff_mom_C \n[.C]
 .cp 0
Index: b/man/ditroff.man
===================================================================
--- a/man/ditroff.man
+++ b/man/ditroff.man
@@ -17,6 +17,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .
 .\" --------------------------------------------------------------------
Index: b/man/groff.man
===================================================================
--- a/man/groff.man
+++ b/man/groff.man
@@ -18,6 +18,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .\" --------------------------------------------------------------------
 .\" Setup
Index: b/man/groff_diff.man
===================================================================
--- a/man/groff_diff.man
+++ b/man/groff_diff.man
@@ -22,6 +22,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .
 .\" --------------------------------------------------------------------
Index: b/man/groff_out.man
===================================================================
--- a/man/groff_out.man
+++ b/man/groff_out.man
@@ -19,6 +19,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .\" --------------------------------------------------------------------
 .\" Setup
Index: b/man/groff_tmac.man
===================================================================
--- a/man/groff_tmac.man
+++ b/man/groff_tmac.man
@@ -19,6 +19,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .ds Ellipsis \&.\|.\|.\&\"
 .
 .TH GROFF_TMAC @MAN5EXT@ "@MDATE@" "Groff Version @VERSION@"
Index: b/man/roff.man
===================================================================
--- a/man/roff.man
+++ b/man/roff.man
@@ -18,6 +18,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .
 .\" --------------------------------------------------------------------
Index: b/src/roff/groff/groff.man
===================================================================
--- a/src/roff/groff/groff.man
+++ b/src/roff/groff/groff.man
@@ -14,6 +14,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff-base/copyright.
+..
 .
 .
 .\" --------------------------------------------------------------------
Index: b/src/roff/troff/troff.man
===================================================================
--- a/src/roff/troff/troff.man
+++ b/src/roff/troff/troff.man
@@ -21,6 +21,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff-base/copyright.
+..
 .
 .\" --------------------------------------------------------------------
 .\" Title
Index: b/tmac/groff_trace.man
===================================================================
--- a/tmac/groff_trace.man
+++ b/tmac/groff_trace.man
@@ -21,6 +21,10 @@
 A copy of the Free Documentation License is included as a file called
 FDL in the main directory of the groff source package.
 ..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+Debian package as /usr/share/doc/groff/copyright.
+..
 .
 .ds Ellipsis .\|.\|.\&\"
 .
Description: Adjust documentation references to account for compression
Author: Colin Watson <cjwatson@debian.org>
Bug-Debian: http://bugs.debian.org/498356
Forwarded: not-needed
Last-Update: 2010-03-01

Index: b/contrib/pdfmark/pdfroff.man
===================================================================
--- a/contrib/pdfmark/pdfroff.man
+++ b/contrib/pdfmark/pdfroff.man
@@ -796,7 +796,7 @@
 in PDF format, in the reference guide
 .BR "\*(lqPortable Document Format Publishing with GNU Troff\*(rq" ,
 included in the installed documentation set as
-.BR \%@PDFDOCDIR@/pdfmark.pdf .
+.BR \%@PDFDOCDIR@/pdfmark.pdf.gz .
 .
 .
 .\" --------------------------------------------------------------------
Index: b/src/preproc/pic/pic.man
===================================================================
--- a/src/preproc/pic/pic.man
+++ b/src/preproc/pic/pic.man
@@ -227,7 +227,7 @@
 A complete documentation is available in the file
 .LP
 .RS
-.B @DOCDIR@/pic.ms
+.B @DOCDIR@/pic.ms.gz
 .RE
 .
 .SS \*(tx mode
Description: Adjust default recursive make targets
 This has been in the groff packaging since records began, and the reason
 for it is unclear.  Needs investigation.
Author: unknown
Forwarded: no
Last-Update: 2013-01-07

Index: b/Makefile.in
===================================================================
--- a/Makefile.in
+++ b/Makefile.in
@@ -702,7 +702,7 @@
 	fi
 
 do=all
-dodirs=$(ALLDIRS) $(OTHERDIRS) dot
+dodirs=$(DISTDIRS) 
 # Default target for subdir_Makefile
 subdir=src/roff/troff
 
Description: Inhibit -wmac warnings due to pic and eqn
 Define .PS and .PE to empty strings in pic output to inhibit -wmac
 warnings; similarly, define .EQ and .EN to empty strings in eqn output.
Author: Colin Watson <cjwatson@debian.org>
Bug-Debian: http://bugs.debian.org/495713
Forwarded: no
Last-Update: 2013-01-07

Index: b/src/preproc/eqn/main.cpp
===================================================================
--- a/src/preproc/eqn/main.cpp
+++ b/src/preproc/eqn/main.cpp
@@ -374,6 +374,8 @@
     }
   init_table(device);
   init_char_table();
+  printf(".if !dEQ .ds EQ\n"
+	 ".if !dEN .ds EN\n");
   if (output_format == troff) {
     printf(".if !'\\*(.T'%s' "
 	   ".if !'\\*(.T'html' "	// the html device uses `-Tps' to render
Index: b/src/preproc/pic/main.cpp
===================================================================
--- a/src/preproc/pic/main.cpp
+++ b/src/preproc/pic/main.cpp
@@ -616,7 +616,11 @@
     out = make_fig_output();
   else
 #endif
+  {
     out = make_troff_output();
+    printf(".if !dPS .ds PS\n"
+	   ".if !dPE .ds PE\n");
+  }
 #ifdef FIG_SUPPORT
   if (whole_file_flag) {
     if (optind >= argc)
Description: Allow adding a version-independent directory to the macro path
 This allows us to put /usr/share/groff/tmac at the end of groff's macro
 path in Debian.
Author: Colin Watson <cjwatson@debian.org>
Forwarded: no
Last-Update: 2013-01-07

Index: b/Makefile.in
===================================================================
--- a/Makefile.in
+++ b/Makefile.in
@@ -195,7 +195,11 @@
 # directory will be always added.
 # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
 # current nor in the home directory.
+ifeq (,$(extratmacdirs))
 tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir)
+else
+tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir)$(RT_SEP)$(extratmacdirs)
+endif
 
 # `sys_tmac_prefix' is prefix (if any) for system macro packages.
 sys_tmac_prefix=@sys_tmac_prefix@
Description: Use /etc/papersize in preference to configure-time selection
Author: Colin Watson <cjwatson@debian.org>
Forwarded: not-needed
Last-Update: 2010-03-01

Index: b/font/devdvi/Makefile.sub
===================================================================
--- a/font/devdvi/Makefile.sub
+++ b/font/devdvi/Makefile.sub
@@ -16,8 +16,8 @@
 DESC: DESC.in
 	cat $(srcdir)/DESC.in >DESC
 	if test "$(PAGE)" = A4; then \
-	  echo "papersize a4" >>DESC; \
+	  echo "papersize /etc/papersize a4" >>DESC; \
 	else \
-	  echo "papersize letter" >>DESC; \
+	  echo "papersize /etc/papersize letter" >>DESC; \
 	fi
 	test -z '$(DVIPRINT)' || echo print '$(DVIPRINT)' >>DESC
Index: b/font/devlbp/Makefile.sub
===================================================================
--- a/font/devlbp/Makefile.sub
+++ b/font/devlbp/Makefile.sub
@@ -13,9 +13,9 @@
 	-rm -f DESC
 	cat $(srcdir)/DESC.in >>DESC
 	if test "$(PAGE)" = A4; then \
-	  echo "papersize a4" >>DESC; \
+	  echo "papersize /etc/papersize a4" >>DESC; \
 	else \
-	  echo "papersize letter" >>DESC; \
+	  echo "papersize /etc/papersize letter" >>DESC; \
 	fi
 	test -z '$(LBPPRINT)' || echo print '$(LBPPRINT)' >>DESC
 
Index: b/font/devlj4/Makefile.sub
===================================================================
--- a/font/devlj4/Makefile.sub
+++ b/font/devlj4/Makefile.sub
@@ -30,9 +30,9 @@
 	echo "unitwidth `expr 7620000 / $(LJ4RES)`" >>DESC
 	cat $(srcdir)/DESC.in >>DESC
 	if test "$(PAGE)" = A4; then \
-	  echo "papersize a4" >>DESC; \
+	  echo "papersize /etc/papersize a4" >>DESC; \
 	else \
-	  echo "papersize letter" >>DESC; \
+	  echo "papersize /etc/papersize letter" >>DESC; \
 	fi
 	test -z '$(LJ4PRINT)' || echo print '$(LJ4PRINT)' >>DESC
 
Index: b/font/devps/Makefile.sub
===================================================================
--- a/font/devps/Makefile.sub
+++ b/font/devps/Makefile.sub
@@ -40,9 +40,9 @@
 	cat $(srcdir)/DESC.in >DESC
 	echo broken $(BROKEN_SPOOLER_FLAGS) >>DESC
 	if test "$(PAGE)" = A4; then \
-	  echo "papersize a4" >>DESC; \
+	  echo "papersize /etc/papersize a4" >>DESC; \
 	else \
-	  echo "papersize letter" >>DESC; \
+	  echo "papersize /etc/papersize letter" >>DESC; \
 	fi
 	test -z '$(PSPRINT)' ||	echo print '$(PSPRINT)' >>DESC
 
Description: Display more helpful output when failing to load a device
 If the device is known to be one of the devices in the groff binary package
 rather than groff-base, refer the user to that.
Author: Colin Watson <cjwatson@debian.org>
Forwarded: not-needed
Last-Update: 2013-01-07

Index: b/src/roff/groff/groff.cpp
===================================================================
--- a/src/roff/groff/groff.cpp
+++ b/src/roff/groff/groff.cpp
@@ -333,8 +333,16 @@
     commands[PIC_INDEX].append_arg("-U");
   }
   font::set_unknown_desc_command_handler(handle_unknown_desc_command);
-  if (!font::load_desc())
-    fatal("invalid device `%1'", device);
+  if (!font::load_desc()) {
+    if (strcmp(device, "X100") == 0 || strcmp(device, "X100-12") == 0 ||
+	strcmp(device, "X75") == 0 || strcmp(device, "X75-12") == 0 ||
+	strcmp(device, "dvi") == 0 || strcmp(device, "html") == 0 ||
+	strcmp(device, "lbp") == 0 || strcmp(device, "lj4") == 0)
+      fatal("invalid device `%1' (try installing the `groff' package?)",
+	    device);
+    else
+      fatal("invalid device `%1'", device);
+  }
   if (!postdriver)
     fatal("no `postpro' command in DESC file for device `%1'", device);
   if (predriver && !zflag) {
openSUSE Build Service is sponsored by