- Version update to 1.22.4:

* Many fixes for hyphenation helping
  * Various build tweaks
  * See the NEWS file for details
- New signature -> update keyring file
- Remove upstream merged patches:
  * groff-multi-thread.patch
  * groff-reproducible-mdate.patch
  * groff-use-SDE.patch
- Remove groff-1.21-groffer-libexecdir.patch as upstream redid
  the autotools rules and uses configure option now
- Rebase patch groff-1.20.1-deunicode.patch
- Rebase patch groff-1.21-CVE-2009-5081.patch
- Drop patch groff-1.21-CVE-2009-5080.patch as it seems the shell
  script now properly safeguards against this
- Rebase patch 0002-documentation-for-the-locale-keyword.patch
- Recreate groff-force-locale-usage.patch for autotools buildsystem
- Add patch 0004-don-t-use-usr-bin-env-in-shebang.patch
- Remove groff_1.22.3-1.debian.diff and replace it with split
  debian patches:
  * bash-scripts.patch
  * sort-perl-hash-keys.patch
- Remove not really needed patch groff-1.20.1-destbufferoverflow.patch

OBS-URL: https://build.opensuse.org/package/show/M17N/groff?expand=0&rev=68
This commit is contained in:
Tomáš Chvátal 2019-01-04 14:23:17 +00:00 committed by Git OBS Bridge
parent 81b0e36542
commit f473dfa0d3
21 changed files with 585 additions and 1368 deletions

View File

@ -4,14 +4,14 @@ Date: Thu, 29 Sep 2011 09:19:01 +0200
Subject: [PATCH] documentation for the locale keyword
---
doc/groff.texinfo | 28 +++++++++++++++++++++++++++-
man/groff_font.man | 8 +++++++-
doc/groff.texi | 28 +++++++++++++++++++++++++++-
man/groff_font.5.man | 8 +++++++-
2 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/doc/groff.texinfo b/doc/groff.texinfo
diff --git a/doc/groff.texi b/doc/groff.texi
index 7b09e0f..1cff7b4 100644
--- a/doc/groff.texinfo
+++ b/doc/groff.texinfo
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -16530,7 +16530,7 @@ types @code{A0}-@code{A7}, @code{B0}-@code{B7}, @code{C0}-@code{C7},
significant for @var{string} if it holds predefined paper types.
Alternatively, @var{string} can be a file name (e.g.@:
@ -54,10 +54,10 @@ index 7b09e0f..1cff7b4 100644
More than one argument can be specified; @code{groff} scans from left to
right and uses the first valid paper specification.
diff --git a/man/groff_font.man b/man/groff_font.man
diff --git a/man/groff_font.5.man b/man/groff_font.5.man
index 64bd212..29a7136 100644
--- a/man/groff_font.man
+++ b/man/groff_font.man
--- a/man/groff_font.5.man
+++ b/man/groff_font.5.man
@@ -150,7 +150,7 @@ can be a file name (e.g.\& `/etc/papersize'); if the file can be opened,
.B groff
reads the first line and tests for the above paper sizes.

View File

@ -0,0 +1,156 @@
From e263e19aa1c63dbcbe710e8aae79c8e298606e4c Mon Sep 17 00:00:00 2001
From: Peter Schiffer <pschiffe@redhat.com>
Date: Tue, 4 Nov 2014 14:49:57 +0100
Subject: [PATCH] don't use /usr/bin/env in shebang
There might be an issue that the script is executed with unwanted version of
<lang> if that language is provided by enabled dynamic software collection.
Resolves: #987069
---
contrib/chem/chem.pl | 2 +-
contrib/groffer/groffer.pl | 2 +-
contrib/groffer/roff2.pl | 2 +-
src/roff/grog/grog.pl | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
Index: groff-1.22.4/contrib/chem/chem.pl
===================================================================
--- groff-1.22.4.orig/contrib/chem/chem.pl
+++ groff-1.22.4/contrib/chem/chem.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# chem - a groff preprocessor for producing chemical structure diagrams
Index: groff-1.22.4/contrib/groffer/groffer.pl
===================================================================
--- groff-1.22.4.orig/contrib/groffer/groffer.pl
+++ groff-1.22.4/contrib/groffer/groffer.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# groffer - display groff files
Index: groff-1.22.4/contrib/groffer/roff2.pl
===================================================================
--- groff-1.22.4.orig/contrib/groffer/roff2.pl
+++ groff-1.22.4/contrib/groffer/roff2.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# roff2* - transform roff files into other formats
Index: groff-1.22.4/src/roff/grog/grog.pl
===================================================================
--- groff-1.22.4.orig/src/roff/grog/grog.pl
+++ groff-1.22.4/src/roff/grog/grog.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# grog - guess options for groff command
# Inspired by doctype script in Kernighan & Pike, Unix Programming
# Environment, pp 306-8.
Index: groff-1.22.4/contrib/glilypond/glilypond.pl
===================================================================
--- groff-1.22.4.orig/contrib/glilypond/glilypond.pl
+++ groff-1.22.4/contrib/glilypond/glilypond.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
package main;
Index: groff-1.22.4/contrib/gperl/gperl.pl
===================================================================
--- groff-1.22.4.orig/contrib/gperl/gperl.pl
+++ groff-1.22.4/contrib/gperl/gperl.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# gperl - add Perl part to groff files, this is the preprocessor for that
Index: groff-1.22.4/contrib/gpinyin/gpinyin.pl
===================================================================
--- groff-1.22.4.orig/contrib/gpinyin/gpinyin.pl
+++ groff-1.22.4/contrib/gpinyin/gpinyin.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# gpinyin - European-like Chinese writing 'pinyin' into 'groff'
Index: groff-1.22.4/contrib/gpinyin/subs.pl
===================================================================
--- groff-1.22.4.orig/contrib/gpinyin/subs.pl
+++ groff-1.22.4/contrib/gpinyin/subs.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# gpinyin - European-like Chinese writing 'pinyin' into 'groff'
Index: groff-1.22.4/contrib/groffer/main_subs.pl
===================================================================
--- groff-1.22.4.orig/contrib/groffer/main_subs.pl
+++ groff-1.22.4/contrib/groffer/main_subs.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# groffer - display groff files
Index: groff-1.22.4/contrib/groffer/man.pl
===================================================================
--- groff-1.22.4.orig/contrib/groffer/man.pl
+++ groff-1.22.4/contrib/groffer/man.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# groffer - display groff files
Index: groff-1.22.4/contrib/groffer/subs.pl
===================================================================
--- groff-1.22.4.orig/contrib/groffer/subs.pl
+++ groff-1.22.4/contrib/groffer/subs.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# groffer - display groff files
Index: groff-1.22.4/mdate.pl
===================================================================
--- groff-1.22.4.orig/mdate.pl
+++ groff-1.22.4/mdate.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
#
# Copyright (C) 1991-2018 Free Software Foundation, Inc.
#
Index: groff-1.22.4/src/roff/grog/subs.pl
===================================================================
--- groff-1.22.4.orig/src/roff/grog/subs.pl
+++ groff-1.22.4/src/roff/grog/subs.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# grog - guess options for groff command
# Inspired by doctype script in Kernighan & Pike, Unix Programming
# Environment, pp 306-8.
Index: groff-1.22.4/tmac/hyphenex.pl
===================================================================
--- groff-1.22.4.orig/tmac/hyphenex.pl
+++ groff-1.22.4/tmac/hyphenex.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
#
#
# hyphenex.pl

45
bash-scripts.patch Normal file
View File

@ -0,0 +1,45 @@
From b5636fe1b680fff8dbf8c2d002806f37b32a10df Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:09 +0000
Subject: The *2graph scripts use $RANDOM, which is bash-specific
Forwarded: https://lists.gnu.org/archive/html/groff/2014-01/msg00008.html
Last-Update: 2018-03-05
Patch-Name: bash-scripts.patch
---
contrib/eqn2graph/eqn2graph.sh | 2 +-
contrib/grap2graph/grap2graph.sh | 2 +-
contrib/pic2graph/pic2graph.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/contrib/eqn2graph/eqn2graph.sh b/contrib/eqn2graph/eqn2graph.sh
index 3e9c3748..454754b5 100644
--- 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
#
diff --git a/contrib/grap2graph/grap2graph.sh b/contrib/grap2graph/grap2graph.sh
index 29df25bb..062f2eec 100644
--- 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
#
diff --git a/contrib/pic2graph/pic2graph.sh b/contrib/pic2graph/pic2graph.sh
index b2299148..cc92ce07 100644
--- 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
#

View File

@ -1,13 +0,0 @@
Index: src/devices/grops/ps.cpp
===================================================================
--- src/devices/grops/ps.cpp.orig 2009-01-09 15:25:52.000000000 +0100
+++ src/devices/grops/ps.cpp 2010-08-23 15:29:15.848156800 +0200
@@ -833,7 +833,7 @@
{
if (next_encoding_index == 0)
return;
- char *done_encoding = new char[next_encoding_index];
+ char *done_encoding = new char[next_encoding_index +1];
for (int i = 0; i < next_encoding_index; i++)
done_encoding[i] = 0;
for (font_pointer_list *f = font_list; f; f = f->next) {

View File

@ -1,9 +1,9 @@
Index: groff-1.20.1/tmac/tty.tmac
Index: groff-1.22.4/tmac/tty.tmac
===================================================================
--- groff-1.20.1.orig/tmac/tty.tmac 2009-01-09 15:25:52.000000000 +0100
+++ groff-1.20.1/tmac/tty.tmac 2011-06-08 11:06:28.611516653 +0200
@@ -65,8 +65,11 @@
.fchar \[.i] i
--- groff-1.22.4.orig/tmac/tty.tmac
+++ groff-1.22.4/tmac/tty.tmac
@@ -68,8 +68,11 @@
.fchar \[.j] j
.fchar \[bq] ,
.
-.if '\*[.T]'utf8' \

View File

@ -1,40 +0,0 @@
Index: groff-1.21/contrib/eqn2graph/eqn2graph.sh
===================================================================
--- groff-1.21.orig/contrib/eqn2graph/eqn2graph.sh 2011-09-22 14:15:22.000000000 +0200
+++ groff-1.21/contrib/eqn2graph/eqn2graph.sh 2011-09-22 14:23:55.754494862 +0200
@@ -69,6 +69,8 @@
tmp=$d/eqn2graph$$-$RANDOM
(umask 077 && mkdir $tmp) 2> /dev/null && break
+
+ tmp=
done;
if test -z "$tmp"; then
echo "$0: cannot create temporary directory" >&2
Index: groff-1.21/contrib/grap2graph/grap2graph.sh
===================================================================
--- groff-1.21.orig/contrib/grap2graph/grap2graph.sh 2011-09-22 14:15:22.000000000 +0200
+++ groff-1.21/contrib/grap2graph/grap2graph.sh 2011-09-22 14:23:55.754494862 +0200
@@ -65,6 +65,8 @@
tmp=$d/grap2graph$$-$RANDOM
(umask 077 && mkdir $tmp) 2> /dev/null && break
+
+ tmp=
done;
if test -z "$tmp"; then
echo "$0: cannot create temporary directory" >&2
Index: groff-1.21/contrib/pic2graph/pic2graph.sh
===================================================================
--- groff-1.21.orig/contrib/pic2graph/pic2graph.sh 2011-09-22 14:15:22.000000000 +0200
+++ groff-1.21/contrib/pic2graph/pic2graph.sh 2011-09-22 14:23:55.794496246 +0200
@@ -80,6 +80,8 @@
tmp=$d/pic2graph$$-$RANDOM
(umask 077 && mkdir $tmp) 2> /dev/null \
&& break
+
+ tmp=
done;
if test -z "$tmp"; then
echo "$0: cannot create temporary directory" >&2

View File

@ -1,18 +1,18 @@
Index: groff-1.22.3/contrib/pdfmark/pdfroff.man
Index: groff-1.22.4/contrib/pdfmark/pdfroff.1.man
===================================================================
--- groff-1.22.3.orig/contrib/pdfmark/pdfroff.man
+++ groff-1.22.3/contrib/pdfmark/pdfroff.man
@@ -555,7 +555,7 @@ defaults to
.B GROFF_TMPDIR
--- groff-1.22.4.orig/contrib/pdfmark/pdfroff.1.man
+++ groff-1.22.4/contrib/pdfmark/pdfroff.1.man
@@ -540,7 +540,7 @@ gs \-dBATCH \-dQUIET \-dNOPAUSE \-dSAFER
.I GROFF_TMPDIR
Identifies the directory in which
.B pdfroff
-should create temporary files.
+should create a subdirectory for its temporary files.
.
If
.B \%GROFF_TMPDIR
@@ -568,7 +568,8 @@ and
.B TEMP
.I \%GROFF_TMPDIR
@@ -553,7 +553,8 @@ and
.I TEMP
are considered in turn, as possible temporary file repositories.
If none of these are set, then temporary files are created
-in the current directory.
@ -20,15 +20,15 @@ Index: groff-1.22.3/contrib/pdfmark/pdfroff.man
+.BR /tmp .
.
.TP
.B GROFF_GHOSTSCRIPT_INTERPRETER
Index: groff-1.22.3/doc/fixinfo.sh
.I GROFF_GHOSTSCRIPT_INTERPRETER
Index: groff-1.22.4/doc/fixinfo.sh
===================================================================
--- groff-1.22.3.orig/doc/fixinfo.sh
+++ groff-1.22.3/doc/fixinfo.sh
@@ -22,7 +22,9 @@
# groff.texinfo macro code. Hopefully, a new texinfo version makes it
# unnecessary.
--- groff-1.22.4.orig/doc/fixinfo.sh
+++ groff-1.22.4/doc/fixinfo.sh
@@ -24,7 +24,9 @@
#
# 09-2014: no more problem with texinfo 5.0 or higher
#
-t=${TMPDIR-.}/gro$$.tmp
+t="`mktemp -t groff-fixinfo.XXXXXXXXXX`" || exit
+trap 'rm -f -- "$t"' EXIT
@ -36,28 +36,11 @@ Index: groff-1.22.3/doc/fixinfo.sh
cat $1 | sed '
1 {
Index: groff-1.22.3/doc/groff.info-2
Index: groff-1.22.4/doc/groff.texi
===================================================================
--- groff-1.22.3.orig/doc/groff.info-2
+++ groff-1.22.3/doc/groff.info-2
@@ -1697,9 +1697,9 @@ not there, 'groff' would not know when t
time into a document:
.sy perl -e 'printf ".nr H %d\\n.nr M %d\\n.nr S %d\\n",\
- (localtime(time))[2,1,0]' > /tmp/x\n[$$]
- .so /tmp/x\n[$$]
- .sy rm /tmp/x\n[$$]
+ (localtime(time))[2,1,0]' > timefile\n[$$]
+ .so timefile\n[$$]
+ .sy rm timefile\n[$$]
\nH:\nM:\nS
Note that this works by having the 'perl' script (run by 'sy')
Index: groff-1.22.3/doc/groff.texinfo
===================================================================
--- groff-1.22.3.orig/doc/groff.texinfo
+++ groff-1.22.3/doc/groff.texinfo
@@ -13736,9 +13736,9 @@ into a document:
--- groff-1.22.4.orig/doc/groff.texi
+++ groff-1.22.4/doc/groff.texi
@@ -13857,9 +13857,9 @@ into a document:
@pindex perl
@Example
.sy perl -e 'printf ".nr H %d\\n.nr M %d\\n.nr S %d\\n",\
@ -70,10 +53,10 @@ Index: groff-1.22.3/doc/groff.texinfo
\nH:\nM:\nS
@endExample
Index: groff-1.22.3/gendef.sh
Index: groff-1.22.4/gendef.sh
===================================================================
--- groff-1.22.3.orig/gendef.sh
+++ groff-1.22.3/gendef.sh
--- groff-1.22.4.orig/gendef.sh
+++ groff-1.22.4/gendef.sh
@@ -33,11 +33,9 @@ do
#define $def"
done
@ -98,23 +81,23 @@ Index: groff-1.22.3/gendef.sh
exit 0
# eof
Index: groff-1.22.3/src/roff/groff/pipeline.c
Index: groff-1.22.4/src/roff/groff/pipeline.c
===================================================================
--- groff-1.22.3.orig/src/roff/groff/pipeline.c
+++ groff-1.22.3/src/roff/groff/pipeline.c
@@ -376,6 +376,7 @@ int run_pipeline(int ncommands, char ***
/* Don't use `tmpnam' here: Microsoft's implementation yields unusable
--- groff-1.22.4.orig/src/roff/groff/pipeline.c
+++ groff-1.22.4/src/roff/groff/pipeline.c
@@ -379,6 +379,7 @@ int run_pipeline(int ncommands, char ***
/* Don't use 'tmpnam' here: Microsoft's implementation yields unusable
file names if current directory is on network share with read-only
root. */
+#error AUDIT: This code is only compiled under DOS
tmpfiles[0] = tempnam(tmpdir, NULL);
tmpfiles[1] = tempnam(tmpdir, NULL);
Index: groff-1.22.3/contrib/groffer/main_subs.pl
Index: groff-1.22.4/contrib/groffer/main_subs.pl
===================================================================
--- groff-1.22.3.orig/contrib/groffer/main_subs.pl
+++ groff-1.22.3/contrib/groffer/main_subs.pl
@@ -1239,7 +1239,7 @@ sub main_temp {
--- groff-1.22.4.orig/contrib/groffer/main_subs.pl
+++ groff-1.22.4/contrib/groffer/main_subs.pl
@@ -1244,7 +1244,7 @@ sub main_temp {
our $fh_stdin;
our $tmp_cat;
our $tmp_stdin;
@ -123,7 +106,7 @@ Index: groff-1.22.3/contrib/groffer/main_subs.pl
foreach ($ENV{'GROFF_TMPDIR'}, $ENV{'TMPDIR'}, $ENV{'TMP'}, $ENV{'TEMP'},
$ENV{'TEMPDIR'}, File::Spec->catfile($ENV{'HOME'}, 'tmp')) {
if ($_ && -d $_ && -w $_) {
@@ -1271,12 +1271,12 @@ sub main_temp {
@@ -1276,12 +1276,12 @@ sub main_temp {
# further argument: SUFFIX => '.sh'
if ($Debug{'KEEP'}) {
@ -140,10 +123,10 @@ Index: groff-1.22.3/contrib/groffer/main_subs.pl
DIR => $tmpdir);
}
} # main_temp()
Index: groff-1.22.3/contrib/groffer/roff2.pl
Index: groff-1.22.4/contrib/groffer/roff2.pl
===================================================================
--- groff-1.22.3.orig/contrib/groffer/roff2.pl
+++ groff-1.22.3/contrib/groffer/roff2.pl
--- groff-1.22.4.orig/contrib/groffer/roff2.pl
+++ groff-1.22.4/contrib/groffer/roff2.pl
@@ -123,7 +123,7 @@ if ($Has_Groffer) {
last;
}

View File

@ -1,47 +0,0 @@
Index: groff-1.22.3/contrib/groffer/Makefile.sub
===================================================================
--- groff-1.22.3.orig/contrib/groffer/Makefile.sub
+++ groff-1.22.3/contrib/groffer/Makefile.sub
@@ -57,7 +57,7 @@ groffer: $(GROFFER_PERL) $(GROFFER_REST)
sed -f "$(SH_DEPS_SED_SCRIPT)" \
-e "s|@g@|$(g)|g" \
-e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
- -e "s|@libdir@|$(DESTDIR)$(libdir)|g" \
+ -e "s|@libexecdir@|$(DESTDIR)$(libexecdir)|g" \
-e "s|@groffer_dir@|$(DESTDIR)$(groffer_dir)|g" \
-e "s|@VERSION@|$(version)$(revision)|g" \
-e "$(SH_SCRIPT_SED_CMD)" \
@@ -96,8 +96,8 @@ uninstall_sub:
-for f in $(GROFFER_PERL) version.sh; do \
$(RM) $(DESTDIR)$(groffer_dir)/$$f;\
done
- -test -d $(DESTDIR)$(libdir)/groff/groffer && \
- rmdir $(DESTDIR)$(libdir)/groff/groffer
+ -test -d $(DESTDIR)$(libexecdir)/groff/groffer && \
+ rmdir $(DESTDIR)$(libexecdir)/groff/groffer
########################################################################
Index: groff-1.22.3/Makefile.in
===================================================================
--- groff-1.22.3.orig/Makefile.in
+++ groff-1.22.3/Makefile.in
@@ -138,6 +138,9 @@ bindir=@bindir@
libdir=@libdir@
libprogramdir=$(libdir)/groff
+# `libexecdir` says where to install script not intended to run as user
+libexecdir=@libexecdir@
+
# `datasubdir' says where to install platform-independent data files.
datadir=@datadir@
datarootdir=@datarootdir@
@@ -907,7 +910,7 @@ $(INCDIRS) $(PROGDEPDIRS) $(SHPROGDIRS)
fi; \
test -d $@ || $(mkinstalldirs) $@; \
cd $@; \
- $(MAKE) $(MAKE_K_FLAG) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
+ $(MAKE) $(MAKE_K_FLAG) $(MDEFINES) srcdir=$$srcdir libexecdir=$(libexecdir) VPATH=$$srcdir \
-f $(top_srcdir)/Makefile.comm \
-f $$srcdir/Makefile.sub \
-f $(top_srcdir)/Makefile.man $(do)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5
size 4188772

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iD8DBQBUWJSIwaYOrOcH/aURAtxrAJ9+Ou+hyN+XEP9Xy3D6oGVaiIgGKwCff7DH
0aip4dfybulQhKv61XW6ViA=
=QkhF
-----END PGP SIGNATURE-----

3
groff-1.22.4.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293
size 4137480

16
groff-1.22.4.tar.gz.sig Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEELQwI0rCtDT2GJmcCctI/usmdTnUFAlwfpGIACgkQctI/usmd
TnXDmw//cpZmQ2Ll8VWziyqOcY/37dmlFht2TNBXxfmUrlBYtv7mlgYOoBb6k5a5
JqoK5GUm8MlEOkeptnrS+cti9JAmC1jzAijilF8BdXRKZHvE1OUKvqkWBFum+Zo7
qsOaoYT/h+za3WSXdDOIgAqXn0mhcUGmD3Y/hVb3UdMn+MjzOLit8bCt2UtyKyeL
oalHbnTxnctYhwUwVqkYD3tsTwo8FubW99f+m4ylBaVysUQg9w9Aikwuzv72oYDF
Sp6GXsru9Zj+lRK1oASPTZi95FUKkiFvZFU+izZmprvGLnSWtUmBmkds7KuB9gwX
ADI8f3oO4WGuy9imuDHv+oPrf+pjlbkNUZIaUwC4XeafvP0P7QraPWClUhmD0z7I
4vn7uHVFEiECB+s9FwgWKiIe/9EkdIILw3n0jc5R9IvQzl/wFV1G7XMSw2RcZgv4
cMQb2U2AuqOmsZ0fxaEUYrXM98WDi/5jJ3WEDNG+sjTgjFLl2c6HZgT0z9Y18N+S
5A401GG0kHt6T2H7QXHFECeiffKGJ7n5hgUz1T4KVN2LXtOrEF0ivnxre9/9r3Om
yeAsrp+ajB40Yfs2NU57UxcTUHp/Ae0+MXa3uYwDr+JtzRk0mv9obbj5LEIa2t0a
S1zPh+DVMBoHRqbM9j3ZBe5fTdwwtl8oKY/hOKZGXkr95pzkhl8=
=x7ud
-----END PGP SIGNATURE-----

View File

@ -1,64 +1,80 @@
Index: groff-1.22.3/font/devdvi/Makefile.sub
Index: groff-1.22.4/font/devdvi/devdvi.am
===================================================================
--- groff-1.22.3.orig/font/devdvi/Makefile.sub
+++ groff-1.22.3/font/devdvi/Makefile.sub
@@ -43,9 +43,9 @@ MOSTLYCLEANADD=DESC
DESC: DESC.in
cat $(srcdir)/DESC.in >DESC
if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>DESC; \
+ echo "papersize locale a4" >>DESC; \
else \
- echo "papersize letter" >>DESC; \
+ echo "papersize locale letter" >>DESC; \
fi
test -z '$(DVIPRINT)' || echo print '$(DVIPRINT)' >>DESC
Index: groff-1.22.3/font/devlbp/Makefile.sub
--- groff-1.22.4.orig/font/devdvi/devdvi.am
+++ groff-1.22.4/font/devdvi/devdvi.am
@@ -83,9 +83,9 @@ font/devdvi/DESC: $(devdvi_srcdir)/DESC.
$(AM_V_GEN)$(MKDIR_P) `dirname $@` \
&& cat $(devdvi_srcdir)/DESC.in >$@ \
&& if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$@; \
+ echo "papersize locale a4" >>$@; \
else \
- echo "papersize letter" >>$@; \
+ echo "papersize locale letter" >>$@; \
fi \
&& (test -z '$(DVIPRINT)' \
|| echo print '$(DVIPRINT)' >>$@)
Index: groff-1.22.4/font/devlbp/devlbp.am
===================================================================
--- groff-1.22.3.orig/font/devlbp/Makefile.sub
+++ groff-1.22.3/font/devlbp/Makefile.sub
@@ -39,9 +39,9 @@ MOSTLYCLEANADD=DESC
DESC: DESC.in
cat $(srcdir)/DESC.in >DESC
if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>DESC; \
+ echo "papersize locale a4" >>DESC; \
else \
- echo "papersize letter" >>DESC; \
+ echo "papersize locale letter" >>DESC; \
fi
test -z '$(LBPPRINT)' || echo print '$(LBPPRINT)' >>DESC
Index: groff-1.22.3/font/devlj4/Makefile.sub
--- groff-1.22.4.orig/font/devlbp/devlbp.am
+++ groff-1.22.4/font/devlbp/devlbp.am
@@ -47,9 +47,9 @@ font/devlbp/DESC: $(devlbp_srcdir)/DESC.
$(AM_V_GEN)$(MKDIR_P) `dirname $@` \
&& cat $(devlbp_srcdir)/DESC.in >$@ \
&& if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$@; \
+ echo "papersize locale a4" >>$@; \
else \
- echo "papersize letter" >>$@; \
+ echo "papersize locale letter" >>$@; \
fi \
&& (test -z '$(LBPPRINT)' \
|| echo print '$(LBPPRINT)' >>$@)
Index: groff-1.22.4/font/devlj4/devlj4.am
===================================================================
--- groff-1.22.3.orig/font/devlj4/Makefile.sub
+++ groff-1.22.3/font/devlj4/Makefile.sub
@@ -58,9 +58,9 @@ DESC: DESC.in
echo "unitwidth `expr 7620000 / $(LJ4RES)`" >>DESC
cat $(srcdir)/DESC.in >>DESC
if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>DESC; \
+ echo "papersize locale a4" >>DESC; \
else \
- echo "papersize letter" >>DESC; \
+ echo "papersize locale letter" >>DESC; \
fi
test -z '$(LJ4PRINT)' || echo print '$(LJ4PRINT)' >>DESC
Index: groff-1.22.3/font/devps/Makefile.sub
--- groff-1.22.4.orig/font/devlj4/devlj4.am
+++ groff-1.22.4/font/devlj4/devlj4.am
@@ -92,9 +92,9 @@ font/devlj4/DESC: $(devlj4_srcdir)/DESC.
&& echo "unitwidth `expr 7620000 / $(LJ4RES)`" >>$@ \
&& cat $(devlj4_srcdir)/DESC.in >>$@ \
&& if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$@; \
+ echo "papersize locale a4" >>$@; \
else \
- echo "papersize letter" >>$@; \
+ echo "papersize locale letter" >>$@; \
fi \
&& (test -z '$(LJ4PRINT)' \
|| echo print '$(LJ4PRINT)' >>$@)
Index: groff-1.22.4/font/devpdf/devpdf.am
===================================================================
--- groff-1.22.3.orig/font/devps/Makefile.sub
+++ groff-1.22.3/font/devps/Makefile.sub
@@ -65,9 +65,9 @@ DESC: DESC.in
cat $(srcdir)/DESC.in >DESC
echo broken $(BROKEN_SPOOLER_FLAGS) >>DESC
if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>DESC; \
+ echo "papersize locale a4" >>DESC; \
else \
- echo "papersize letter" >>DESC; \
+ echo "papersize locale letter" >>DESC; \
fi
test -z '$(PSPRINT)' || echo print '$(PSPRINT)' >>DESC
--- groff-1.22.4.orig/font/devpdf/devpdf.am
+++ groff-1.22.4/font/devpdf/devpdf.am
@@ -95,9 +95,9 @@ font/devpdf/DESC: $(devpdf_srcdir)/DESC.
&& $(RM) $(top_builddir)/font/devpdf/DESC \
&& cat $(devpdf_srcdir)/DESC.in >$(top_builddir)/font/devpdf/DESC \
&& if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$(top_builddir)/font/devpdf/DESC; \
+ echo "papersize locale a4" >>$(top_builddir)/font/devpdf/DESC; \
else \
- echo "papersize letter" >>$(top_builddir)/font/devpdf/DESC; \
+ echo "papersize locale letter" >>$(top_builddir)/font/devpdf/DESC; \
fi
font/devpdf/Foundry:
Index: groff-1.22.4/font/devps/devps.am
===================================================================
--- groff-1.22.4.orig/font/devps/devps.am
+++ groff-1.22.4/font/devps/devps.am
@@ -143,9 +143,9 @@ font/devps/DESC: $(devps_srcdir)/DESC.in
&& cat $(devps_srcdir)/DESC.in >$@ \
&& echo broken $(BROKEN_SPOOLER_FLAGS) >>$@ \
&& if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$@; \
+ echo "papersize locale a4" >>$@; \
else \
- echo "papersize letter" >>$@; \
+ echo "papersize locale letter" >>$@; \
fi \
&& (test -z '$(PSPRINT)' \
|| echo print '$(PSPRINT)' >>$@)

View File

@ -1,13 +0,0 @@
Index: Makefile.in
===================================================================
--- Makefile.in.orig
+++ Makefile.in
@@ -903,6 +903,8 @@ $(GNULIBDIRS): FORCE
$(MAKE) ACLOCAL=: AUTOCONF=: AUTOHEADER=: AUTOMAKE=: $(do) ;; \
esac
+$(SHPROGDIRS): $(PROGDEPDIRS)
+
$(OTHERDIRS): $(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS) $(SHPROGDIRS)
$(INCDIRS) $(PROGDEPDIRS) $(SHPROGDIRS) $(OTHERDIRS): FORCE

View File

@ -1,25 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-11-01
Subject: make package build reproducible
sometimes our patches touch .man input files
and mdate picks up their mtime for use in man-page headers
so we clamp the mtime to SOURCE_DATE_EPOCH if set
similar to https://www.fabiankeil.de/sourcecode/electrobsd/ElectroBSD-r312620-6cfa243f1516/0079-contrib-groff-mdate.sh-Use-EPOCH_DATE-when-set.diff
upstream commit 677274dafc5dd5f79f2a6d16270b21d2f5a16c5b
rewrote it to similar perl, too
Index: groff-1.22.3/mdate.sh
===================================================================
--- groff-1.22.3.orig/mdate.sh
+++ groff-1.22.3/mdate.sh
@@ -19,4 +19,7 @@
#
# Print the modification date of $1 `nicely'.
-perl -MPOSIX -le 'print strftime("%d %B %Y", localtime((stat $ARGV[0])[9]))' $1
+perl -MPOSIX -le '
+$t=((stat $ARGV[0])[9]);
+$t=$ENV{SOURCE_DATE_EPOCH} if($ENV{SOURCE_DATE_EPOCH} && $t > $ENV{SOURCE_DATE_EPOCH});
+print strftime("%d %B %Y", gmtime($t))' $1

View File

@ -1,221 +0,0 @@
commit e4290210f2c1db5292d97678197a986d6822d044
Author: Colin Watson <cjwatson@debian.org>
Date: Fri Jul 29 03:25:26 2016 +0100
Implement `SOURCE_DATE_EPOCH' for reproducible builds.
* src/include/curtime.h: New file.
* src/libs/libgroff/curtime.cpp: New file.
* src/libs/libgroff/libgroff.am (libgroff_a_SOURCES): Add
src/libs/libgroff/curtime.cpp.
* src/roff/troff/input.cpp (init_registers): Use `current_time'
instead of `time(0)'.
* src/devices/grohtml/post-html.cpp
(html_printer::do_file_components): Likewise.
(html_printer::~html_printer): Likewise.
* src/devices/grops/ps.cpp (ps_printer::~ps_printer): Likewise.
* src/devices/gropdf/gropdf.pl: Use `$ENV{SOURCE_DATE_EPOCH}` if
available in preference to `time`.
* doc/groff.texi (Environment): Document `SOURCE_DATE_EPOCH'.
* src/devices/grohtml/grohtml.1.man (ENVIRONMENT): Likewise.
* src/devices/gropdf/gropdf.1.man (ENVIRONMENT): Likewise.
* src/devices/grops/grops.1.man (ENVIRONMENT): Likewise.
Index: groff-1.22.3/src/devices/grohtml/post-html.cpp
===================================================================
--- groff-1.22.3.orig/src/devices/grohtml/post-html.cpp
+++ groff-1.22.3/src/devices/grohtml/post-html.cpp
@@ -28,6 +28,7 @@ along with this program. If not, see <ht
#include "html.h"
#include "html-text.h"
#include "html-table.h"
+#include "curtime.h"
#include <time.h>
@@ -5013,7 +5014,7 @@ void html_printer::do_file_components (v
.put_string(Version_string)
.end_comment();
- t = time(0);
+ t = current_time();
html.begin_comment("CreationDate: ")
.put_string(ctime(&t), strlen(ctime(&t))-1)
.end_comment();
@@ -5126,7 +5127,7 @@ html_printer::~html_printer()
.put_string(Version_string)
.end_comment();
- t = time(0);
+ t = current_time();
html.begin_comment("CreationDate: ")
.put_string(ctime(&t), strlen(ctime(&t))-1)
.end_comment();
Index: groff-1.22.3/src/devices/gropdf/gropdf.pl
===================================================================
--- groff-1.22.3.orig/src/devices/gropdf/gropdf.pl
+++ groff-1.22.3/src/devices/gropdf/gropdf.pl
@@ -239,13 +239,14 @@ elsif (exists($ppsz{$papersz}))
@defaultmb=@mediabox=(0,0,$ppsz{$papersz}->[0],$ppsz{$papersz}->[1]);
}
-my (@dt)=localtime(time);
+my (@dt)=localtime($ENV{SOURCE_DATE_EPOCH} || time);
my $dt=PDFDate(\@dt);
my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})",
'Producer' => "(gropdf version $cfg{GROFF_VERSION})",
'ModDate' => "($dt)",
'CreationDate' => "($dt)");
+
while (<>)
{
chomp;
Index: groff-1.22.3/src/devices/grops/ps.cpp
===================================================================
--- groff-1.22.3.orig/src/devices/grops/ps.cpp
+++ groff-1.22.3/src/devices/grops/ps.cpp
@@ -28,6 +28,7 @@ along with this program. If not, see <ht
#include "cset.h"
#include "nonposix.h"
#include "paper.h"
+#include "curtime.h"
#include "ps.h"
#include <time.h>
@@ -1390,7 +1391,7 @@ ps_printer::~ps_printer()
#else
time_t
#endif
- t = time(0);
+ t = current_time();
fputs(ctime(&t), out.get_file());
}
for (font_pointer_list *f = font_list; f; f = f->next) {
Index: groff-1.22.3/src/include/curtime.h
===================================================================
--- /dev/null
+++ groff-1.22.3/src/include/curtime.h
@@ -0,0 +1,23 @@
+/* Copyright (C) 2015 Free Software Foundation, Inc.
+
+This file is part of groff.
+
+groff is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+groff is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+The GNU General Public License version 2 (GPL2) is available in the
+internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
+
+#ifdef LONG_FOR_TIME_T
+long
+#else
+time_t
+#endif
+current_time();
Index: groff-1.22.3/src/libs/libgroff/curtime.cpp
===================================================================
--- /dev/null
+++ groff-1.22.3/src/libs/libgroff/curtime.cpp
@@ -0,0 +1,51 @@
+/* Copyright (C) 2015 Free Software Foundation, Inc.
+
+This file is part of groff.
+
+groff is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+groff is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+The GNU General Public License version 2 (GPL2) is available in the
+internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
+
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+#include "errarg.h"
+#include "error.h"
+
+#ifdef LONG_FOR_TIME_T
+long
+#else
+time_t
+#endif
+current_time()
+{
+ char *source_date_epoch = getenv("SOURCE_DATE_EPOCH");
+
+ if (source_date_epoch) {
+ errno = 0;
+ char *endptr;
+ long epoch = strtol(source_date_epoch, &endptr, 10);
+
+ if ((errno == ERANGE && (epoch == LONG_MAX || epoch == LONG_MIN)) ||
+ (errno != 0 && epoch == 0))
+ fatal("$SOURCE_DATE_EPOCH: strtol: %1", strerror(errno));
+ if (endptr == source_date_epoch)
+ fatal("$SOURCE_DATE_EPOCH: no digits found: %1", endptr);
+ if (*endptr != '\0')
+ fatal("$SOURCE_DATE_EPOCH: trailing garbage: %1", endptr);
+ return epoch;
+ } else
+ return time(0);
+}
Index: groff-1.22.3/src/roff/troff/input.cpp
===================================================================
--- groff-1.22.3.orig/src/roff/troff/input.cpp
+++ groff-1.22.3/src/roff/troff/input.cpp
@@ -36,6 +36,7 @@ along with this program. If not, see <ht
#include "input.h"
#include "defs.h"
#include "unicode.h"
+#include "curtime.h"
// Needed for getpid() and isatty()
#include "posix.h"
@@ -8138,7 +8139,7 @@ static void init_registers()
#else /* not LONG_FOR_TIME_T */
time_t
#endif /* not LONG_FOR_TIME_T */
- t = time(0);
+ t = current_time();
// Use struct here to work around misfeature in old versions of g++.
struct tm *tt = localtime(&t);
set_number_reg("seconds", int(tt->tm_sec));
Index: groff-1.22.3/src/libs/libgroff/Makefile.sub
===================================================================
--- groff-1.22.3.orig/src/libs/libgroff/Makefile.sub
+++ groff-1.22.3/src/libs/libgroff/Makefile.sub
@@ -32,6 +32,7 @@ OBJS=\
cmap.$(OBJEXT) \
color.$(OBJEXT) \
cset.$(OBJEXT) \
+ curtime.$(OBJEXT) \
device.$(OBJEXT) \
errarg.$(OBJEXT) \
error.$(OBJEXT) \
@@ -82,6 +83,7 @@ CCSRCS=\
$(srcdir)/cmap.cpp \
$(srcdir)/color.cpp \
$(srcdir)/cset.cpp \
+ $(srcdir)/curtime.cpp \
$(srcdir)/device.cpp \
$(srcdir)/errarg.cpp \
$(srcdir)/error.cpp \

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Fri Jan 4 12:44:27 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Version update to 1.22.4:
* Many fixes for hyphenation helping
* Various build tweaks
* See the NEWS file for details
- New signature -> update keyring file
- Remove upstream merged patches:
* groff-multi-thread.patch
* groff-reproducible-mdate.patch
* groff-use-SDE.patch
- Remove groff-1.21-groffer-libexecdir.patch as upstream redid
the autotools rules and uses configure option now
- Rebase patch groff-1.20.1-deunicode.patch
- Rebase patch groff-1.21-CVE-2009-5081.patch
- Drop patch groff-1.21-CVE-2009-5080.patch as it seems the shell
script now properly safeguards against this
- Rebase patch 0002-documentation-for-the-locale-keyword.patch
- Recreate groff-force-locale-usage.patch for autotools buildsystem
- Add patch 0004-don-t-use-usr-bin-env-in-shebang.patch
- Remove groff_1.22.3-1.debian.diff and replace it with split
debian patches:
* bash-scripts.patch
* sort-perl-hash-keys.patch
-------------------------------------------------------------------
Thu Jan 3 12:52:35 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
@ -129,6 +155,7 @@ Thu May 9 09:16:49 UTC 2013 - mvyskocil@suse.com
- gxdview.spec is removed as gxdview is built from groff-full.spec
- verify the tarball using gpg-offline - this is done in groff-full only
to retain a limited list of dependencies for base groff
- Remove not really needed patch groff-1.20.1-destbufferoverflow.patch
-------------------------------------------------------------------
Tue May 7 14:40:06 UTC 2013 - schwab@suse.de

View File

@ -1,28 +1,60 @@
pub 1024D/E707FDA5 2003-10-25
uid Werner Lemberg <wl@gnu.org>
sub 1024g/A5638324 2003-10-25
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
mQGiBD+Z+pwRBACnK1FszJzA033xBE6MVbjhP1DLFNBLwhw+2hcTLOWvcsdbQh74
BTSjR61QnFj0JcfmGXa2Qk6wsLL8r3mY2CrAtYf3MnXDU7ZImmVO4VJ4YvVO7FMz
7Xl7TyEfz32aWT/FUMRbFsT8HTIv0gVimpvnOC5z0U53LbgI7TK2gp+UXwCgiNJC
+/0b9pskbjH8V5lyNPTR6pMD/0pjqPrWynPfuG015Bpc4GtfduB7RR7wWJwQq1s7
5E/peGYqPk/yyGWfnSlhyW9+OuPxnCIxtoosqD5/gcaEK64qTzSmvdhP7csU6zk6
Emb2RLfMX17fOWKTF5cfjpvGvhr0P4jukJ3q3q4JL+ZQLNuxW0ZrItujorG44jlc
dSIZA/9VEegNNz5OnvrvWfU/jK/inXoSisdNunkxDpIshxCpph0xdMJqKcIsAfG0
CsuNkDlDQSW1bGIS9zrK41PcYWs/2P/6lgEStiEPVXziqMZsXnDKuMRN32edLM9Z
oGCoUFxWkGl8gtZqJUtOS86IABPG/5unldCfAulL1qDU267QcLQbV2VybmVyIExl
bWJlcmcgPHdsQGdudS5vcmc+iF8EExECABcFAj+Z+pwFCwcKAwQDFQMCAxYCAQIX
gAASCRDBpg6s5wf9pQdlR1BHAAEBTb0An2+FGaqF6B+L98SwovRKTj6RNHRDAKCH
8XAgZBXmnJkuFZdehXUeaELcMLkBDQQ/mfqiEAQA/GIc47GVhBUfmH1QzUhm4Y6W
YY+i2Rc6+ZpY94VUgZfF4Uc6T7bcNI/lsKfp7JlU3NOMnCbSpPDbWnlJk3O/w79y
Eq5uxSGxIkXQSNd6X7K31DpgdhO05GDXGlmy9uQIknqxyT5J2LVp3T8UXFMDdPkh
MfDLwo5Ku9PxTmMajUsAAwUEAKIZgRV4Hn4sbgFz0oYVuwa/RywQ25t5j4fCh2D9
F2dN+RvacgqZS4JJVKJgXT9dVkXMo/3CBPx5gXTyJv/Xfk5GZxX3i1Cf6xn7Bz4z
sy5P1dapDdI+wpnqn/S7Zm6oqJQJkrKl3F0JiReo7xZZuuoEyOxPI/6MLSKpBnjL
Vx6giE4EGBECAAYFAj+Z+qIAEgkQwaYOrOcH/aUHZUdQRwABAVwZAKCBYF9/CYty
NErAzbX8HQVZqExjKwCfctp0iVHu49WYBxGYpTb6kiuRL7c=
=wMZR
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
ZuOpTKvL3rZxpvTCPBzmJIFsK8LdnIbxUQ==
=KVbR
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -23,7 +23,7 @@
%bcond_with full_build
%endif
Name: groff
Version: 1.22.3
Version: 1.22.4
Release: 0
Summary: GNU troff Document Formatting System
License: GPL-3.0-or-later
@ -34,49 +34,36 @@ Source1: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz.sig
Source2: groff.keyring
Source3: zzz-groff.sh
Source4: zzz-groff.csh
# rm -f foo
# for file in `cat series | grep -v '^#' | grep '^[a-z]' `; do
# cat $file >> foo
# done
##remove a part related to src/preproc/html/pre-html.cpp - see bnc#755533
# filterdiff -x 'src/preproc/html/pre-html.cpp' foo > groff_1.22.2-2.debian.diff
##remove Debian package string for openSUSE package string
##delete the papersize /etc settings patch
Patch0: groff_1.22.3-1.debian.diff
Patch1: groff-1.20.1-destbufferoverflow.patch
Patch2: groff-1.20.1-nroff-empty-LANGUAGE.patch
Patch3: groff-1.21-groffer-libexecdir.patch
Patch4: groff-1.20.1-deunicode.patch
Patch5: groff-1.21-CVE-2009-5044.patch
#PATCH-FIX-OPENSUSE: splitted patch6 and patch7 from
#http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/groff/groff-1.20.1-owl-tmp.diff?rev=1.2;content-type=text%2Fplain
Patch6: groff-1.21-CVE-2009-5080.patch
Patch7: groff-1.21-CVE-2009-5081.patch
#PATCH-FIX-OPENSUSE: FATE#312586
#sent upstream http://lists.gnu.org/archive/html/bug-groff/2011-09/msg00002.html
#so they would be available on next release of groff
Patch8: 0001-locale-support-in-papersize-definition.patch
Patch9: 0002-documentation-for-the-locale-keyword.patch
Patch0: groff-1.20.1-nroff-empty-LANGUAGE.patch
Patch1: groff-1.20.1-deunicode.patch
Patch2: groff-1.21-CVE-2009-5044.patch
# http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/groff/groff-1.20.1-owl-tmp.diff?rev=1.2;content-type=text%2Fplain
Patch3: groff-1.21-CVE-2009-5081.patch
# PATCH-FIX-OPENSUSE: FATE#312586
# sent upstream http://lists.gnu.org/archive/html/bug-groff/2011-09/msg00002.html
Patch4: 0001-locale-support-in-papersize-definition.patch
Patch5: 0002-documentation-for-the-locale-keyword.patch
# change the papersize definition to force the locale usage
# it can be supressed by /etc/papersize if needed
Patch10: groff-force-locale-usage.patch
# PATCH-FIX-UPSTREAM fix build with multiple threads ; taken from upstream
Patch11: groff-multi-thread.patch
# PATCH-FIX-UPSTREAM e4290210f2c1db5292d97678197a986d6822d044
Patch12: groff-use-SDE.patch
# PATCH-FIX-UPSTREAM 677274dafc5dd5f79f2a6d16270b21d2f5a16c5b
Patch13: groff-reproducible-mdate.patch
Patch6: groff-force-locale-usage.patch
Patch7: 0004-don-t-use-usr-bin-env-in-shebang.patch
# Patches from debian
Patch100: https://salsa.debian.org/debian/groff/raw/master/debian/patches/bash-scripts.patch
Patch101: https://salsa.debian.org/debian/groff/raw/master/debian/patches/sort-perl-hash-keys.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: makeinfo
%if !%{with full_build}
Recommends: groff-full
%else
BuildRequires: pkgconfig
%if %{with full_build}
BuildRequires: ghostscript-library
BuildRequires: groff
BuildRequires: netpbm
BuildRequires: psutils
BuildRequires: pkgconfig(uchardet)
# for gxditview and X fontx
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xaw7)
@ -95,6 +82,8 @@ Obsoletes: jgroff < %{version}
# X fonts were moved back
Provides: groff-devx = %{version}-%{release}
Obsoletes: groff-devx <= 1.21
%else
Recommends: groff-full
%endif
%description
@ -146,163 +135,54 @@ the -X option.
%prep
%setup -q -n groff-%{version}
%patch0 -p1 -b .debian
%patch1
%patch2 -p1 -b .bnc540600
%patch3 -p1 -b .groffer-libexecdir
%patch4 -p1 -b .deunicode
%patch5 -p1 -b .CVE-2009-5044
%patch6 -p1 -b .CVE-2009-5080
%patch7 -p1
%patch8 -p1 -b .locale
%patch9 -p1 -b .locale2
%patch10 -p1 -b .force-locale
%patch11 -b .multithread
%patch12 -p1
%patch13 -p1
%autopatch -p1
# remove hardcoded docdir
sed -i \
-e '/^docdir=/d' \
Makefile.am
%build
PATH=$PWD/src/roff/troff:$PWD/src/preproc/pic:$PWD/src/preproc/eqn:$PWD/src/preproc/tbl:$PWDsrc/preproc/refer:$PWD/src/preproc/soelim:$PATH
PATH=$PWD/src/roff/grog:$PWD/src/roff/groff:$PWD/src/devices/grops:$PWD/src/devices/grotty:$PWD/src/devices/grodvi:$PWD/src/devices/grohtml:$PATH
GROFF_COMMAND_PREFIX=
GROFF_FONT_PATH=$PWD
GROFF_TMAC_PATH=$PWD/tmac:$PWD/src/roff/troff
export PATH GROFF_COMMAND_PREFIX GROFF_FONT_PATH GROFF_TMAC_PATH
export CFLAGS="%{optflags} -fno-strict-aliasing -fPIE"
export CXXFLAGS="%{optflags} -fno-strict-aliasing -fPIE"
export LDFLAGS="-pie"
# Libdir override as we don't have any arch dependant code just pl scripts
autoreconf -fvi
# libdir redefined as it is just bunch of perl scripts
%configure \
--disable-silent-rules \
--docdir=%{_defaultdocdir}/groff \
--libdir=%{_libexecdir} \
--with-appresdir=%{_datadir}/X11/app-defaults \
--with-grofferdir=%{_libexecdir}/groff/groffer
make %{?_smp_mflags}
%install
%if !%{with full_build}
install -d -m 0755 %{buildroot}%{_bindir}
install -d -m 0755 %{buildroot}%{_mandir}/man1
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/font/
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/tmac/
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/tmac/mdoc/
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/site-tmac/
install -d -m 0755 %{buildroot}%{_libexecdir}/groff/grog/
%make_install
%if %{with full_build}
# remove groff basic files from bellow
exit 1
%else
make DESTDIR=%{buildroot} install %{?_smp_mflags} docdir=%{_defaultdocdir}/groff
%endif
# FIXME: remove all that is not present in current groff in TW
# and personalize the filelist to be exact here
# remove all not really wanted files
rm -rf %{buildroot}%{_mandir}/man5/
rm -rf %{buildroot}%{_mandir}/man7/
rm -rf %{buildroot}%{_infodir}/
### see Debian's groff-base.install.in ###
for BIN in eqn groff grog grops grotty neqn nroff pic preconv soelim tbl troff; do
rm -rf %{buildroot}%{_libexecdir}/groff/groffer/
rm -rf %{buildroot}%{_libexecdir}/groff/gpinyin/
rm -rf %{buildroot}%{_libexecdir}/groff/glilypond/
rm -f %{buildroot}%{_libexecdir}/groff/{groff_opts_no_arg.txt,groff_opts_with_arg.txt}
%if !%{with full_build}
# install binary
install -m 0755 $(find . -type f -name ${BIN}) %{buildroot}/%{_bindir}/
# install man
MAN_SOURCE=$(find src -name "${BIN}.n")
MAN_DEST="${MAN_SOURCE%.n}.1" # replace suffix .n by .1
MAN_DEST="${MAN_DEST##*/}" # remove the path/before/
install -m 0644 "${MAN_SOURCE}" "%{buildroot}%{_mandir}/man1/${MAN_DEST}"
%else
# remove binary already in groff.rpm
rm %{buildroot}/%{_bindir}/${BIN}
# remove manual already in groff.rpm
rm %{buildroot}/%{_mandir}/man1/${BIN}.*
%endif
done
%if !%{with full_build}
# datadir
install -m 0644 src/utils/indxbib/eign %{buildroot}%{_datadir}/%{name}/%{version}/
%else
rm %{buildroot}%{_datadir}/groff/%{version}/eign
%endif
%if !%{with full_build}
install -m 0644 src/roff/grog/subs.pl %{buildroot}%{_libexecdir}/groff/grog/subs.pl
%else
rm %{buildroot}%{_libexecdir}/groff/grog/subs.pl
%endif
for FONT in devascii devlatin1 devps devutf8; do
%if !%{with full_build}
cp -pr "font/${FONT}" %{buildroot}%{_datadir}/%{name}/%{version}/font/
%else
rm -r %{buildroot}%{_datadir}/groff/%{version}/font/${FONT}
%endif
done
for TMAC in a4.tmac an-ext.tmac an-old.tmac an.tmac andoc.tmac composite.tmac \
cp1047.tmac cs.tmac de.tmac den.tmac devtag.tmac doc.tmac \
doc-old.tmac e.tmac eqnrc europs.tmac fallbacks.tmac fr.tmac \
hyphen.cs hyphen.den hyphen.det hyphen.fr hyphen.sv hyphen.us \
hyphenex.cs hyphenex.det hyphenex.us ja.tmac latin1.tmac latin2.tmac \
latin5.tmac latin9.tmac man.tmac mandoc.tmac mdoc.tmac me.tmac \
ms.tmac papersize.tmac pic.tmac ps.tmac psatk.tmac psold.tmac \
pspic.tmac refer-me.tmac refer-ms.tmac refer.tmac s.tmac \
safer.tmac sv.tmac trace.tmac trans.tmac troffrc troffrc-end \
tty-char.tmac tty.tmac unicode.tmac www.tmac
do
%if !%{with full_build}
install -m 0644 tmac/${TMAC} %{buildroot}%{_datadir}/%{name}/%{version}/tmac/
%else
rm %{buildroot}%{_datadir}/groff/%{version}/tmac/${TMAC}
%endif
done
%if !%{with full_build}
install -m 0644 tmac/{man,mdoc}.local %{buildroot}%{_datadir}/%{name}/site-tmac/
%else
rm %{buildroot}%{_datadir}/groff/site-tmac/{man,mdoc}.local
%endif
pushd contrib/mm/
%if !%{with full_build}
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/tmac/mm
install -c -m 0755 mmroff %{buildroot}%{_bindir}/mmroff
install -c -m 0644 mmroff.n %{buildroot}%{_mandir}/man1/mmroff.1
for f in 0.MT 5.MT 4.MT ms.cov se_ms.cov ; do
install -c -m 644 mm/$f %{buildroot}%{_datadir}/%{name}/%{version}/tmac/mm/$f
done
for f in locale se_locale; do
touch %{buildroot}%{_datadir}/%{name}/%{version}/tmac/mm/$f
chmod 0644 %{buildroot}%{_datadir}/%{name}/%{version}/tmac/mm/$f
done
for f in *.tmac; do
install -c -m 644 $f %{buildroot}%{_datadir}/%{name}/%{version}/tmac/$f
done
%else
rm %{buildroot}%{_bindir}/mmroff
rm %{buildroot}%{_mandir}/man1/mmroff.1*
rm -rf %{buildroot}%{_datadir}/groff/%{version}/tmac/mm/
for f in *.tmac; do
rm -f %{buildroot}%{_datadir}/groff/%{version}/tmac/$f
done
%endif
popd
%if !%{with full_build}
install -m 0644 tmac/doc-common tmac/doc-ditroff tmac/doc-nroff tmac/doc-syms \
%{buildroot}%{_datadir}/%{name}/%{version}/tmac/mdoc/
%else
rm -rf %{buildroot}%{_datadir}/groff/%{version}/tmac/mdoc
%endif
%if !%{with full_build}
ln -s -f current %{buildroot}%{_datadir}/%{name}/%{version}
rm -rf %{buildroot}%{_docdir}/groff
# compat symlinks
ln -s -f current %{buildroot}%{_datadir}/%{name}/%{version}
ln -s -f eqn %{buildroot}%{_bindir}/geqn
ln -s -f tbl %{buildroot}%{_bindir}/gtbl
# install profiles to disable the use of ANSI colour sequences by default:
install -d -m 0755 %{buildroot}/%{_sysconfdir}/profile.d
install -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}/%{_sysconfdir}/profile.d/
%endif #groff_base_only
%endif
%fdupes -s %{buildroot}
@ -317,7 +197,7 @@ install -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}/%{_sysconfdir}/profile.d/
%if !%{with full_build}
%files
%license COPYING FDL LICENSES
%doc BUG-REPORT ChangeLog* MANIFEST MORE.STUFF NEWS PROBLEMS PROJECTS README REVISION VERSION
%doc BUG-REPORT ChangeLog* MANIFEST MORE.STUFF NEWS PROBLEMS PROJECTS README
%{_mandir}/man1/*
%{_bindir}/*
%config %{_sysconfdir}/profile.d/zzz-%{name}.*sh
@ -343,7 +223,8 @@ install -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}/%{_sysconfdir}/profile.d/
%exclude %{_docdir}/groff/html
%exclude %{_docdir}/groff/examples
%{_infodir}/groff*
%{_mandir}/man*/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%exclude %{_mandir}/man1/gxditview.1*
%{_bindir}/*
%exclude %{_bindir}/gxditview

View File

@ -1,676 +0,0 @@
From 10fefc49ea1116524fbafacb637de8605e303cdf Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:09 +0000
Subject: The *2graph scripts use $RANDOM, which is bash-specific
Forwarded: no
Last-Update: 2010-03-01
Patch-Name: bash-scripts.patch
---
contrib/eqn2graph/eqn2graph.sh | 2 +-
contrib/grap2graph/grap2graph.sh | 2 +-
contrib/pic2graph/pic2graph.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/contrib/eqn2graph/eqn2graph.sh b/contrib/eqn2graph/eqn2graph.sh
index ee7cc5f..fb6f7f5 100644
--- 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
#
diff --git a/contrib/grap2graph/grap2graph.sh b/contrib/grap2graph/grap2graph.sh
index 58544e1..721c2b0 100644
--- 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
#
diff --git a/contrib/pic2graph/pic2graph.sh b/contrib/pic2graph/pic2graph.sh
index 72c5477..c4a7781 100644
--- 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
#
From fb0bfc4eb5a8eb57554793712fee07de080678f0 Mon Sep 17 00:00:00 2001
From: Florian Lohoff <flo@rfc822.org>
Date: Thu, 2 Jan 2014 13:13:10 +0000
Subject: Avoid relying on awk in mdate.sh
The results were unpredictable on mips/mipsel.
Bug-Debian: http://bugs.debian.org/62554
Forwarded: no
Last-Update: 2010-03-01
Patch-Name: mdate-perl.patch
---
mdate.sh | 39 +--------------------------------------
1 file changed, 1 insertion(+), 38 deletions(-)
diff --git a/mdate.sh b/mdate.sh
index 2c24a00..d5ef413 100644
--- a/mdate.sh
+++ b/mdate.sh
@@ -19,41 +19,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
From c5b8fb2e9c2d998677a92e73b280bbc49b87f13a Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:12 +0000
Subject: 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.
Bug-Debian: http://bugs.debian.org/541621
Forwarded: no
Last-Update: 2010-03-01
Patch-Name: nroff-ifs.patch
---
src/roff/nroff/nroff.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/roff/nroff/nroff.sh b/src/roff/nroff/nroff.sh
index fb227b3..82e85fd 100644
--- a/src/roff/nroff/nroff.sh
+++ b/src/roff/nroff/nroff.sh
@@ -20,6 +20,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.
From 4298a68066f08589ea9d68318f67cf9e63a734c7 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:14 +0000
Subject: Adjust #! line of font/devlj4/generate/special.awk
awk is in /usr/bin/awk on Debian, not /bin/awk.
Forwarded: no
Last-Update: 2010-03-01
Patch-Name: awk-path.patch
---
font/devlj4/generate/special.awk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/font/devlj4/generate/special.awk b/font/devlj4/generate/special.awk
index 26e8b92..318c53f 100644
--- 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).
From 9a2ccf4225d8a8d6eb92861f2e3dfc3502840cd5 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:16 +0000
Subject: Add GFDL references to manual pages licensed under GFDL
Bug-Debian: http://bugs.debian.org/292229
Forwarded: not-needed
Last-Update: 2014-11-05
Patch-Name: doc-gfdl.patch
---
contrib/hdtbl/groff_hdtbl.man | 4 ++++
contrib/pdfmark/pdfroff.man | 4 ++++
man/ditroff.man | 4 ++++
man/groff.man | 4 ++++
man/groff_diff.man | 4 ++++
man/groff_out.man | 4 ++++
man/groff_tmac.man | 4 ++++
man/roff.man | 4 ++++
src/roff/groff/groff.man | 4 ++++
src/roff/troff/troff.man | 4 ++++
tmac/groff_trace.man | 4 ++++
11 files changed, 44 insertions(+)
diff --git a/contrib/hdtbl/groff_hdtbl.man b/contrib/hdtbl/groff_hdtbl.man
index 74012ae..e611b79 100644
--- a/contrib/hdtbl/groff_hdtbl.man
+++ b/contrib/hdtbl/groff_hdtbl.man
@@ -21,6 +21,10 @@ Front-Cover Texts, and with no Back-Cover Texts.
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
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
This document was written by
diff --git a/contrib/pdfmark/pdfroff.man b/contrib/pdfmark/pdfroff.man
index ec412bb..60a75a2 100644
--- a/contrib/pdfmark/pdfroff.man
+++ b/contrib/pdfmark/pdfroff.man
@@ -34,6 +34,10 @@ available in the internet at
the GNU copyleft site
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
It was originally written by
diff --git a/man/ditroff.man b/man/ditroff.man
index 16a6feb..ef01e04 100644
--- a/man/ditroff.man
+++ b/man/ditroff.man
@@ -23,6 +23,10 @@ available on-line at the
GNU copyleft site
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.de au
It was written by
.MT groff-bernd.warken-72@\:web.de
diff --git a/man/groff.man b/man/groff.man
index ca80f02..31b91e1 100644
--- a/man/groff.man
+++ b/man/groff.man
@@ -26,6 +26,10 @@ available in the internet at
.UR http://\:www.gnu.org/\:copyleft/\:fdl.html
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
This documentation was written by
diff --git a/man/groff_diff.man b/man/groff_diff.man
index eacccd3..fb5f142 100644
--- a/man/groff_diff.man
+++ b/man/groff_diff.man
@@ -29,6 +29,10 @@ available in the internet at
GNU FDL license
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
This document was written by
diff --git a/man/groff_out.man b/man/groff_out.man
index f9ef631..ce13615 100644
--- a/man/groff_out.man
+++ b/man/groff_out.man
@@ -32,6 +32,10 @@ available in the internet at
GNU FDL license
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
In 2001, this document was rewritten from scrach by
diff --git a/man/groff_tmac.man b/man/groff_tmac.man
index 5017dcb..b85ab0c 100644
--- a/man/groff_tmac.man
+++ b/man/groff_tmac.man
@@ -28,6 +28,10 @@ available on\-line at the
GNU copyleft site
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
This file was written by
diff --git a/man/roff.man b/man/roff.man
index 6ce18e7..b970f5b 100644
--- a/man/roff.man
+++ b/man/roff.man
@@ -26,6 +26,10 @@ The license text is also available on-line at the
GNU copyleft site
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
This man-page was written by
diff --git a/src/roff/groff/groff.man b/src/roff/groff/groff.man
index e30d1b5..e5a6235 100644
--- a/src/roff/groff/groff.man
+++ b/src/roff/groff/groff.man
@@ -31,6 +31,10 @@ It is also available in the internet at the
GNU copyleft site
.UE .
..
+.ig
+A copy of the GNU Free Documentation License is also available in this
+openSUSE package as /usr/share/doc/groff-base/copyright.
+..
.
.\" Authors
.de au
diff --git a/src/roff/troff/troff.man b/src/roff/troff/troff.man
index 684f441..07fdff1 100644
--- a/src/roff/troff/troff.man
+++ b/src/roff/troff/troff.man
@@ -25,6 +25,10 @@ Front-Cover Texts, and with no Back-Cover Texts.
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
+openSUSE package as /usr/share/doc/groff-base/copyright.
+..
.
.de au
This file was originally written by James Clark, it was modified by
diff --git a/tmac/groff_trace.man b/tmac/groff_trace.man
index 7b04373..67990db 100644
--- a/tmac/groff_trace.man
+++ b/tmac/groff_trace.man
@@ -24,6 +24,10 @@ Front-Cover Texts, and with no Back-Cover Texts.
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
+openSUSE package as /usr/share/doc/groff/copyright.
+..
.
.de au
Written by
From 1e53207d1ee0986e9db4135bea80b5922dfaea00 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:17 +0000
Subject: Adjust documentation references to account for compression
Bug-Debian: http://bugs.debian.org/498356
Forwarded: not-needed
Last-Update: 2010-03-01
Patch-Name: doc-gzipped.patch
---
contrib/pdfmark/pdfroff.man | 2 +-
src/preproc/pic/pic.man | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/contrib/pdfmark/pdfroff.man b/contrib/pdfmark/pdfroff.man
index 60a75a2..ad87159 100644
--- a/contrib/pdfmark/pdfroff.man
+++ b/contrib/pdfmark/pdfroff.man
@@ -839,7 +839,7 @@ Detailed documentation on the use of these packages may be found,
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 .
.
.
.\" --------------------------------------------------------------------
diff --git a/src/preproc/pic/pic.man b/src/preproc/pic/pic.man
index 04ea3e0..6dd8654 100644
--- a/src/preproc/pic/pic.man
+++ b/src/preproc/pic/pic.man
@@ -261,7 +261,7 @@ A complete documentation is available in the file
.
.LP
.RS
-.B @DOCDIR@/pic.ms
+.B @DOCDIR@/pic.ms.gz
.RE
.
.
From 15e68316a5f77c1a3f6554340f21e9a4c5cd1175 Mon Sep 17 00:00:00 2001
From: unknown <unknown>
Date: Thu, 2 Jan 2014 13:13:18 +0000
Subject: Adjust default recursive make targets
This has been in the groff packaging since records began, and the reason
for it is unclear. Needs investigation.
Forwarded: no
Last-Update: 2013-01-07
Patch-Name: make-targets.patch
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index bc156ce..d29e856 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -793,7 +793,7 @@ ENVSETUP=\
fi
do=all
-dodirs=$(ALLDIRS) $(OTHERDIRS) dot
+dodirs=$(DISTDIRS)
# Default target for subdir_Makefile
subdir=src/roff/troff
From 369fdcbedc7f63479c31f69cae2edc025f45b491 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:19 +0000
Subject: 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.
Bug-Debian: http://bugs.debian.org/495713
Forwarded: no
Last-Update: 2013-01-07
Patch-Name: pic-eqn-warnings.patch
---
src/preproc/eqn/main.cpp | 2 ++
src/preproc/pic/main.cpp | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/src/preproc/eqn/main.cpp b/src/preproc/eqn/main.cpp
index 57347f1..52615c4 100644
--- a/src/preproc/eqn/main.cpp
+++ b/src/preproc/eqn/main.cpp
@@ -373,6 +373,8 @@ int main(int argc, char **argv)
}
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
diff --git a/src/preproc/pic/main.cpp b/src/preproc/pic/main.cpp
index 19065a6..236121d 100644
--- a/src/preproc/pic/main.cpp
+++ b/src/preproc/pic/main.cpp
@@ -615,7 +615,11 @@ int main(int argc, char **argv)
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)
From dc0df203931b4509918cf978ea6674808c1f05fd Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:20 +0000
Subject: 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.
Forwarded: no
Last-Update: 2013-01-07
Patch-Name: extratmacdirs.patch
---
Makefile.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index d29e856..9b9d0e0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -199,7 +199,11 @@ referdir=@referdir@
# 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@
From 293492eff0f0597dfe10d98823508ff5072e5baa Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 2 Jan 2014 13:13:22 +0000
Subject: 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.
Forwarded: not-needed
Last-Update: 2013-01-07
Patch-Name: load-desc-failure.patch
---
src/roff/groff/groff.cpp | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/roff/groff/groff.cpp b/src/roff/groff/groff.cpp
index 9c613b1..63f620e 100644
--- a/src/roff/groff/groff.cpp
+++ b/src/roff/groff/groff.cpp
@@ -338,8 +338,16 @@ int main(int argc, char **argv)
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) {
From eef761fe222fef4b32ce8f5b2f2e6bbad0931b80 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Wed, 22 Jan 2014 09:46:26 +0000
Subject: Remove the W3C validation icons from generated HTML
As the Lintian privacy-breach-w3c-valid-html tag puts it:
"These badges may be displayed to tell readers that care has been
taken to make a page compliant with W3C standards. Unfortunately,
downloading the image from www.w3.org might expose the reader's IP
address to potential tracking."
Forwarded: no
Last-Update: 2014-11-05
Patch-Name: no-validation-icons.patch
---
doc/Makefile.in | 4 ++--
doc/Makefile.sub | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 759b4b2..c1da5e4 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -96,7 +96,7 @@ imagedir=img
.ms.html:
$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
- -P-D$(imagedir) -P-V -Thtml -ms >$@
+ -P-D$(imagedir) -Thtml -ms >$@
.ms.txt:
$(GROFF) -Tascii -ms -mwww >$@
.ms.ps:
@@ -135,7 +135,7 @@ gnu.eps: gnu.xpm
pic.html: pic.ms
$(GROFF) -P-p -P-I`basename $< | sed -e 's|.ms$$||'` \
-P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
- -Thtml -P-V -ms >$@
+ -Thtml -ms >$@
webpage.html: webpage.ms gnu.eps groff.css
$(GROFF) -P-j`basename $< | sed -e 's|.ms$$||'` \
diff --git a/doc/Makefile.sub b/doc/Makefile.sub
index b2325f9..3c9c560 100644
--- a/doc/Makefile.sub
+++ b/doc/Makefile.sub
@@ -118,7 +118,7 @@ RM=rm -f
.ms.html:
$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
- -P-D$(imagedir) -P-V -Thtml -ms >$@
+ -P-D$(imagedir) -Thtml -ms >$@
.ms.ps:
$(GROFF) -Tps -ms -mwww >$@
@@ -158,7 +158,7 @@ gnu.eps: gnu.xpm
pic.html: pic.ms
$(GROFF) -P-p -P-I`basename $< | sed -e 's|.ms$$||'` \
-P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
- -Thtml -P-V -ms >$@
+ -Thtml -ms >$@
webpage.html: webpage.ms gnu.eps groff.css
$(GROFF) -P-j`basename $< | sed -e 's|.ms$$||'` \
From ec536f7cfd47346856a9966512ae2893383132e7 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Sun, 26 Jan 2014 19:34:00 +0000
Subject: Note that groff_mmse(7) is only available in Swedish locales
Bug-Debian: http://bugs.debian.org/710431
Forwarded: no
Last-Update: 2014-11-05
Patch-Name: mmse-note.patch
---
contrib/mm/groff_mm.man | 1 +
contrib/mm/mmroff.man | 3 ++-
man/groff_tmac.man | 3 ++-
src/roff/groff/groff.man | 3 ++-
4 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/contrib/mm/groff_mm.man b/contrib/mm/groff_mm.man
index a58ce5d..0321c2b 100644
--- a/contrib/mm/groff_mm.man
+++ b/contrib/mm/groff_mm.man
@@ -3965,6 +3965,7 @@ then assigns the argument to the string variable
.BR @g@eqn (@MAN1EXT@)
.br
.BR groff_mmse (@MAN7EXT@)
+(only in Swedish locales)
.
.
.\" --------------------------------------------------------------------
diff --git a/contrib/mm/mmroff.man b/contrib/mm/mmroff.man
index dbd50b9..1fc5885 100644
--- a/contrib/mm/mmroff.man
+++ b/contrib/mm/mmroff.man
@@ -101,7 +101,8 @@ will only be run once.
.\" --------------------------------------------------------------------
.
.BR groff_mm (@MAN7EXT@),
-.BR groff_mmse (@MAN7EXT@),
+.BR groff_mmse (@MAN7EXT@)
+(only in Swedish locales),
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@),
.BR @g@tbl (@MAN1EXT@),
diff --git a/man/groff_tmac.man b/man/groff_tmac.man
index b85ab0c..882e3b6 100644
--- a/man/groff_tmac.man
+++ b/man/groff_tmac.man
@@ -254,7 +254,8 @@ sets the input encoding to latin-9 to get proper support of the
Swedish localization support, including the me, mom, and ms macro packages.
.
Note that Swedish for the mm macros is handled separately; see
-.BR groff_mmse (@MAN7EXT@).
+.BR groff_mmse (@MAN7EXT@)
+(only in Swedish locales).
.
It should be used as the last macro package on the command line.
.
diff --git a/src/roff/groff/groff.man b/src/roff/groff/groff.man
index e5a6235..1bb8c3a 100644
--- a/src/roff/groff/groff.man
+++ b/src/roff/groff/groff.man
@@ -1993,7 +1993,8 @@ Groff macro packages and macro-specific utilities:
.BR \%groff_mdoc (@MAN7EXT@),
.BR \%groff_me (@MAN7EXT@),
.BR \%groff_mm (@MAN7EXT@),
-.BR \%groff_mmse (@MAN7EXT@),
+.BR \%groff_mmse (@MAN7EXT@)
+(only in Swedish locales),
.BR \%groff_mom (@MAN7EXT@),
.BR \%groff_ms (@MAN7EXT@),
.BR \%groff_www (@MAN7EXT@),

103
sort-perl-hash-keys.patch Normal file
View File

@ -0,0 +1,103 @@
From 3c7075d5a846ff178c8fe83f8479f5f98e98f32d Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Fri, 6 Nov 2015 11:53:02 +0000
Subject: Sort Perl hash keys
Hash iteration order may differ between runs, which makes builds harder
to reproduce. Sort hash keys in gropdf and afmtodit output to avoid
this.
Forwarded: https://lists.gnu.org/archive/html/groff/2018-03/msg00009.html
Last-Update: 2018-03-05
Patch-Name: sort-perl-hash-keys.patch
---
src/devices/gropdf/gropdf.pl | 8 ++++----
src/utils/afmtodit/afmtodit.pl | 12 ++++++------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
index 134b0962..9b624c33 100644
--- a/src/devices/gropdf/gropdf.pl
+++ b/src/devices/gropdf/gropdf.pl
@@ -377,7 +377,7 @@ my $info=BuildObj(++$objct,\%info);
PutObj($objct);
-foreach my $fontno (keys %fontlst)
+foreach my $fontno (sort keys %fontlst)
{
my $o=$fontlst{$fontno}->{FNT};
@@ -846,7 +846,7 @@ sub do_x
my @xwds=split(' ',"<< $1 >>");
my $docinfo=ParsePDFValue(\@xwds);
- foreach my $k (keys %{$docinfo})
+ foreach my $k (sort keys %{$docinfo})
{
$info{$k}=$docinfo->{$k} if $k ne 'Producer';
}
@@ -856,7 +856,7 @@ sub do_x
my @xwds=split(' ',"<< $1 >>");
my $docview=ParsePDFValue(\@xwds);
- foreach my $k (keys %{$docview})
+ foreach my $k (sort keys %{$docview})
{
$cat->{$k}=$docview->{$k} if !exists($cat->{$k});
}
@@ -1707,7 +1707,7 @@ sub MapInsHash
my $val=shift;
- foreach my $k (keys(%{$val}))
+ foreach my $k (sort keys(%{$val}))
{
MapInsValue($pdf,$o,$k,$insmap,$parent,$val->{$k}) if $k ne 'Contents';
}
diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
index 954c58e7..59d871fc 100644
--- a/src/utils/afmtodit/afmtodit.pl
+++ b/src/utils/afmtodit/afmtodit.pl
@@ -164,8 +164,8 @@ while (<AFM>) {
$depth{$n} = -$lly;
$left_side_bearing{$n} = -$llx;
$right_side_bearing{$n} = $urx - $w;
-# while ((my $lig, my $glyph2) = each %ligs) {
-# $ligatures{$lig} = $n . " " . $glyph2;
+# foreach my $lig (sort keys %ligs) {
+# $ligatures{$lig} = $n . " " . $ligs{$lig};
# }
}
}
@@ -267,7 +267,7 @@ $italic_angle = $opt_a if $opt_a;
if (!$opt_x) {
my %mapped;
my $i = ($#encoding > 256) ? ($#encoding + 1) : 256;
- while (my $ch = each %width) {
+ foreach my $ch (sort keys %width) {
# add unencoded characters
if (!$in_encoding{$ch}) {
$encoding[$i] = $ch;
@@ -407,9 +407,9 @@ my %default_ligatures = (
"ffl", "ff l",
);
-while (my ($lig, $components) = each %default_ligatures) {
+foreach my $lig (sort keys %default_ligatures) {
if (defined $width{$lig} && !defined $ligatures{$lig}) {
- $ligatures{$lig} = $components;
+ $ligatures{$lig} = $default_ligatures{$lig};
}
}
@@ -456,7 +456,7 @@ if ($opt_e) {
if (!$opt_n && %ligatures) {
print("ligatures");
- while (my $lig = each %ligatures) {
+ foreach my $lig (sort keys %ligatures) {
print(" $lig");
}
print(" 0\n");