Sync from SUSE:SLFO:Main groff revision cf304a93883ef40e7d054cc0f068abd4

This commit is contained in:
Adrian Schröter 2024-05-03 13:18:03 +02:00
commit 5eb04ece65
19 changed files with 2050 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,96 @@
From 15c71e2588058f20169440c0add955a527144c7a Mon Sep 17 00:00:00 2001
From: Michal Vyskocil <mvyskocil@suse.cz>
Date: Mon, 26 Sep 2011 13:23:56 +0200
Subject: [PATCH] locale support in papersize definition
The papersize definition in groff_font(5) has been extended by new
keyword "locale". In this mode groff determine the paper size from
LC_PAPER variable.
The algorithm is simple - there is a small static list of countries
using letter based on territory language information page [1] (CLDR
2.0). If the LC_PAPER contains the country code (for instance _CL -
Chile), letter dimmensions are used. Otherwise a4.
[1] http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/territory_language_information.html
[2] http://wiki.services.openoffice.org/wiki/DefaultPaperSize
---
src/include/paper.h | 4 ++--
src/libs/libgroff/paper.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/src/include/paper.h b/src/include/paper.h
index 73e070c..f5a8039 100644
--- a/src/include/paper.h
+++ b/src/include/paper.h
@@ -30,7 +30,7 @@ public:
papersize_init();
} _papersize_init;
-// A0-A7, B0-B7, C0-C7, D0-D7, 8 American paper sizes, 1 special size */
-#define NUM_PAPERSIZES 4*8 + 8 + 1
+// A0-A7, B0-B7, C0-C7, D0-D7, 8 American paper sizes, 1 special size and the locale */
+#define NUM_PAPERSIZES 4*8 + 8 + 1 + 1
extern paper papersizes[];
diff --git a/src/libs/libgroff/paper.cpp b/src/libs/libgroff/paper.cpp
index 27a7c8c..42dea69 100644
--- a/src/libs/libgroff/paper.cpp
+++ b/src/libs/libgroff/paper.cpp
@@ -58,6 +58,46 @@ static void add_american_paper(const char *name, int idx,
papersizes[idx].width = width;
}
+static int is_letter(const char* variable) {
+
+ // CLDR 1.8.1 http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/territory_la
+ // http://wiki.services.openoffice.org/wiki/DefaultPaperSize
+ #define COUNTRIES 13
+ static const char* countries[COUNTRIES] = {
+ "_BZ", "_CA", "CL", "CO", "CR", "GT", "MX", "NI", "PA", "PH", "PR", "SV", "US",
+ };
+
+ if (! variable) {
+ return 0;
+ }
+
+ for (int i = 0; i != COUNTRIES; i++) {
+ if (strstr(variable, countries[i])) {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+static void add_locale_paper(int idx) {
+ char * lc_paper;
+ double l = 297/25.4;
+ double w = 210/25.4;
+
+ //XXX: setlocale(LC_PAPER, NULL) does not work
+ // at least on glibc 2.14
+ lc_paper = setlocale(LC_PAPER, "");
+
+ if (is_letter(lc_paper)) {
+ l = 11;
+ w = 8.5;
+ }
+
+ add_american_paper("locale", idx, l, w);
+
+}
+
int papersize_init::initialised = 0;
papersize_init::papersize_init()
@@ -80,4 +120,6 @@ papersize_init::papersize_init()
add_american_paper("monarch", 39, 7.5, 3.875);
// this is an ISO format, but it easier to use add_american_paper
add_american_paper("dl", 40, 220/25.4, 110/25.4);
+ // the format from locale
+ add_locale_paper(41);
}
--
1.7.6.3

View File

@ -0,0 +1,79 @@
From d4f65688290a2362af9a66ecb3ae93beb591fbf9 Mon Sep 17 00:00:00 2001
From: Michal Vyskocil <mvyskocil@suse.cz>
Date: Thu, 29 Sep 2011 09:19:01 +0200
Subject: [PATCH] documentation for the locale keyword
---
doc/groff.texi | 28 +++++++++++++++++++++++++++-
man/groff_font.5.man | 8 +++++++-
2 files changed, 34 insertions(+), 2 deletions(-)
Index: b/doc/groff.texi
===================================================================
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -18404,10 +18404,36 @@ for points, and @samp{P} for picas. Exa
argument that starts with a digit is always treated as a custom paper
format.
-Finally, the argument can be a file name (e.g., @file{/etc/papersize});
+Or, the argument can be a file name (e.g., @file{/etc/papersize});
if the file can be opened, the first line is read and a match attempted
against each of the other forms. No comment syntax is supported.
+Finally, @var{string} can be a keyword @code{locale}. In this case groff will
+determine the default paper size from the country code of @code{LC_PAPER}. For
+most of combinations (including @code{LC_PAPER=C} or @code{POSIX}) a4 is used.
+In case of countries listed in Common Language Data Repository 2.0 of Unicode
+Consorcium - US (@code{US}), Canada (@code{CA}), Belize (@code{BZ}), Chile
+(@code{CL}), Colombia (@code{CO}), Costa Rica (@code{CR}), El Salvador
+(@code{SV}), Guatemala (@code{GT}), Panama (@code{PA}), Philippines
+(@code{PH}), Puerto Rico (@code{PR}), Mexico (@code{MX}), Nicaragua (@code{NI})
+and the Venezula (@code{VE}) size letter is used. The value of @code{LC_PAPER}
+is usually derived from @code{LANG} or @code{LC_ALL} and needs to be changed
+only if your main locale does not match the expected default paper size. Then
+you need to put the correct LC_PAPER variable into your environment.
+
+@example
+@group
+# the locale keyword is in devpts
+shell> grep papersize /usr/share/groff/current/font/devps/DESC
+papersize locale
+# default locale is US producing a letter papersize
+shell> locale | grep LC_PAPER
+LC_PAPER="en_US.UTF-8"
+# let's use a4 (German default) in this case
+shell> LC_PAPER=de_DE.UTF-8 groff -Tps ...
+@end group
+@end example
+
More than one argument can be specified;
each is scanned in turn and the first valid paper specification used.
Index: b/man/groff_font.5.man
===================================================================
--- a/man/groff_font.5.man
+++ b/man/groff_font.5.man
@@ -286,7 +286,7 @@ format.
.
.
.IP
-Finally,
+Or,
the argument can be a file name
(e.g.,
.IR /etc/papersize );
@@ -296,7 +296,13 @@ the first line is read and a match attem
No comment syntax is supported.
.
.
+Finally
+.I string
+can be a keyword locale, so
+.B groff
+will determine the papersize from system locale (LC_PAPER).
.IP
+.
More than one argument can be specified;
each is scanned in turn and the first valid paper specification used.
.

View File

@ -0,0 +1,76 @@
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: b/contrib/chem/chem.pl
===================================================================
--- a/contrib/chem/chem.pl
+++ b/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: b/contrib/glilypond/glilypond.pl
===================================================================
--- a/contrib/glilypond/glilypond.pl
+++ b/contrib/glilypond/glilypond.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
package main;
Index: b/contrib/gperl/gperl.pl
===================================================================
--- a/contrib/gperl/gperl.pl
+++ b/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: b/contrib/gpinyin/gpinyin.pl
===================================================================
--- a/contrib/gpinyin/gpinyin.pl
+++ b/contrib/gpinyin/gpinyin.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
# gpinyin - European-like Chinese writing 'pinyin' into 'groff'
Index: b/mdate.pl
===================================================================
--- a/mdate.pl
+++ b/mdate.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
#
# Copyright (C) 1991-2020 Free Software Foundation, Inc.
#
Index: b/tmac/hyphenex.pl
===================================================================
--- a/tmac/hyphenex.pl
+++ b/tmac/hyphenex.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/env perl
+#! /usr/bin/perl
#
#
# hyphenex.pl

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>full</package>
</multibuild>

45
bash-scripts.patch Normal file
View File

@ -0,0 +1,45 @@
From e3d8901a5e24e11e1fa8a80329309295a20eb47f 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 3e9c37486..454754b52 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 29df25bb1..062f2eecd 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 b22991483..cc92ce075 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

@ -0,0 +1,16 @@
Index: b/tmac/tty.tmac
===================================================================
--- a/tmac/tty.tmac
+++ b/tmac/tty.tmac
@@ -70,6 +70,11 @@
.fchar \[radicalex] \[rn]
.fchar \[sqrtex] \[rn]
.
+.if '\*[.T]'utf8' \{\
+.\" use ascii hyphenation characters - bnc#68385
+. shc -
+.\}
+.
.\" color definitions
.defcolor black rgb #000000
.defcolor red rgb #ff0000

View File

@ -0,0 +1,13 @@
Index: b/src/roff/nroff/nroff.sh
===================================================================
--- a/src/roff/nroff/nroff.sh
+++ b/src/roff/nroff/nroff.sh
@@ -131,7 +131,7 @@ then
*)
# Some old shells don't support ${FOO:-bar} expansion syntax. We
# should switch to it when it is safe to abandon support for them.
- case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
+ case "${LC_ALL:-${LC_CTYPE:-${LANG}}}" in
*.UTF-8)
Tloc=utf8 ;;
iso_8859_1 | *.ISO-8859-1 | *.ISO8859-1 | \

View File

@ -0,0 +1,68 @@
---
contrib/pdfmark/pdfroff.sh | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
Index: groff-1.21/contrib/pdfmark/pdfroff.sh
===================================================================
--- groff-1.21.orig/contrib/pdfmark/pdfroff.sh 2010-12-31 08:33:09.000000000 +0100
+++ groff-1.21/contrib/pdfmark/pdfroff.sh 2011-06-27 13:13:32.807924590 +0200
@@ -157,7 +157,7 @@
# as default), and schedule removal of only the temporary files.
#
GROFF_TMPDIR=${TMPDIR}
- trap "rm -f ${GROFF_TMPDIR}/pdf$$.*" 0
+ trap "rm -f ${GROFF_TMPDIR}/*" 0
fi
#
# In the case of abnormal termination events, we force an exit
@@ -168,14 +168,16 @@
#
trap "exit 1" 1 2 3 13 15
#
- WRKFILE=${GROFF_TMPDIR}/pdf$$.tmp
+ WRKFILE=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.tmp`
#
- REFCOPY=${GROFF_TMPDIR}/pdf$$.cmp
- REFFILE=${GROFF_TMPDIR}/pdf$$.ref
+ REFCOPY=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.cmp`
+ REFFILE=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.ref`
#
CS_DATA=""
- TC_DATA=${GROFF_TMPDIR}/pdf$$.tc
- BD_DATA=${GROFF_TMPDIR}/pdf$$.ps
+ TC_DATA=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.tc`
+ BD_DATA=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.ps`
+
+ STREAMFILE=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.in`
#
# Initialise 'groff' format control settings,
# to discriminate table of contents and document body formatting passes.
@@ -328,7 +330,7 @@
;;
--stylesheet)
- STYLESHEET="$OPTARG" CS_DATA=${GROFF_TMPDIR}/pdf$$.cs
+ STYLESHEET="$OPTARG" CS_DATA=`mktemp --tmpdir="${GROFF_TMPDIR}" pdfXXXXXXXXXX.cs`
;;
--no-toc-relocation)
@@ -361,7 +363,7 @@
# so set up a mechanism to achieve this, for ALL 'groff' passes.
#
- | -i*)
- STREAM="$CAT ${GROFF_TMPDIR}/pdf$$.in |"
+ STREAM="$CAT ${STREAMFILE} |"
test "$1" = "-" && INPUT_FILES="$INPUT_FILES $1" \
|| GROFF_STYLE="$GROFF_STYLE $1"
;;
@@ -433,8 +435,8 @@
# or if no input files are specified, then we need to capture STDIN,
# so we can replay it into each 'groff' processing pass.
#
- test -z "$INPUT_FILES" && STREAM="$CAT ${GROFF_TMPDIR}/pdf$$.in |"
- test -n "$STREAM" && $CAT > ${GROFF_TMPDIR}/pdf$$.in
+ test -z "$INPUT_FILES" && STREAM="$CAT ${STREAMFILE} |"
+ test -n "$STREAM" && $CAT > ${STREAMFILE}
#
# Unless reference resolution is explicitly suppressed,
# we initiate it by touching the cross reference dictionary file,

View File

@ -0,0 +1,70 @@
Index: b/contrib/pdfmark/pdfroff.1.man
===================================================================
--- a/contrib/pdfmark/pdfroff.1.man
+++ b/contrib/pdfmark/pdfroff.1.man
@@ -619,7 +619,7 @@ gs \-dBATCH \-dQUIET \-dNOPAUSE \-dSAFER
.I GROFF_TMPDIR
Identifies the directory in which
.I pdfroff
-should create temporary files.
+should create a subdirectory for its temporary files.
.
If
.I \%GROFF_TMPDIR
Index: b/doc/groff.texi
===================================================================
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -16005,9 +16005,9 @@ The following code fragment introduces t
@pindex perl
@Example
.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
@endExample
Index: b/gendef.sh
===================================================================
--- a/gendef.sh
+++ b/gendef.sh
@@ -33,11 +33,9 @@ do
#define $def"
done
-# Use $TMPDIR if defined. Default to cwd, for non-Unix systems
-# which don't have /tmp on each drive (we are going to remove
-# the file before we exit anyway). Put the PID in the basename,
-# since the extension can only hold 3 characters on MS-DOS.
-t=${TMPDIR-.}/gro$$.tmp
+t="`mktemp -t groff-gendef.XXXXXXXXXX`" || exit
+trap 'rm -f -- "$t"' EXIT
+trap 'trap - EXIT; rm -f -- "$t"; exit 1' HUP INT QUIT TERM
sed -e 's/=/ /' >$t <<EOF
$defs
@@ -45,8 +43,6 @@ EOF
test -r $file && cmp -s $t $file || cp $t $file
-rm -f $t
-
exit 0
# eof
Index: b/src/roff/groff/pipeline.c
===================================================================
--- a/src/roff/groff/pipeline.c
+++ b/src/roff/groff/pipeline.c
@@ -378,6 +378,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);

BIN
groff-1.23.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEELQwI0rCtDT2GJmcCctI/usmdTnUFAmSl3ZoACgkQctI/usmd
TnXSyg//RuCRFxuFEdgZG1Rx+6/MM4e1nqpEq2Q8mMN3w3Uz76fKnsxKbazJ3JjV
wcwim+s6IYQYGmjgaptSX7aE4Q+y+NDzy3MLrATakJ6BPriL7AywVA8tjjmwXCbD
OFNA4Z3zZj0+DuCDEG6RZ9fz+JVIlTuknWwUgeYx+w3uukPAYaHjnDzwecCLZhKK
XecTqBEiGnuNRHeAMTTBSG87iWboFfSeD/Tk9EiJwt678YTkQ/We58kD/JHZ7H1f
zceH7kECrLuvS+dfqGYvDHxzVBK8NofGzOEmjrpvlYbeVhieZ7uyPwuSfzao2kBb
QSJESlkRVA3ZijcGS6zP4fCDAmqnZtURBpCKqw1Y3oj8ZyTiD5JpzozxAvG6FrIU
DQi1ybUHXv3aCdpX/DAxe2bsKrh3C4BHq7v+YPsT/SxOD9Vg4T6JBzMhz3k+11zR
lQ9mfwIzIbYgV/RzLra8jfxIjCE7bvmIM2lxSoocIhUWs+BZvQ7NQIJiAUBILVS0
C7Q5FQ+C8P5UrOyzIcuSmwnRW1oyEHe76BBy2rWNH4CJ7hRJmBlOy+SE15mujz9n
7nj6Vlhdke16NbYvjGN2y+K75jojWRMRnfkgz3Qj4hBDDzVLp373DeEdg9u0zLUO
iZxwWs2l0y3L+7G2hNgFJUmI3pQ19RqWbzzxaXtDy1mi6tbz/Fg=
=S9AY
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,80 @@
Index: b/font/devdvi/devdvi.am
===================================================================
--- a/font/devdvi/devdvi.am
+++ b/font/devdvi/devdvi.am
@@ -81,9 +81,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: b/font/devlbp/devlbp.am
===================================================================
--- a/font/devlbp/devlbp.am
+++ b/font/devlbp/devlbp.am
@@ -45,9 +45,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: b/font/devlj4/devlj4.am
===================================================================
--- a/font/devlj4/devlj4.am
+++ b/font/devlj4/devlj4.am
@@ -90,9 +90,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: b/font/devpdf/devpdf.am
===================================================================
--- a/font/devpdf/devpdf.am
+++ b/font/devpdf/devpdf.am
@@ -92,9 +92,9 @@ font/devpdf/DESC: $(devpdf_srcdir)/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" \
+ echo "papersize locale letter" \
>>$(top_builddir)/font/devpdf/DESC; \
fi
Index: b/font/devps/devps.am
===================================================================
--- a/font/devps/devps.am
+++ b/font/devps/devps.am
@@ -144,9 +144,9 @@ font/devps/DESC: $(devps_srcdir)/DESC.in
&& cat $(devps_srcdir)/DESC.in >$@.tmp \
&& echo broken $(BROKEN_SPOOLER_FLAGS) >>$@.tmp \
&& if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$@.tmp; \
+ echo "papersize locale a4" >>$@.tmp; \
else \
- echo "papersize letter" >>$@.tmp; \
+ echo "papersize locale letter" >>$@.tmp; \
fi \
&& (test -z '$(PSPRINT)' \
|| echo print '$(PSPRINT)' >>$@.tmp)

978
groff.changes Normal file
View File

@ -0,0 +1,978 @@
-------------------------------------------------------------------
Wed Oct 4 23:01:54 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Define ext_man="%{?ext_man}%{!?ext_man:.gz}" shell variable in
the install directive, and replace "%{?ext_man}" with
"${ext_man:-}" to fix groff-gf.7.gz file ending up uncompressed
(despite the name) due to the use of %{?ext_man} in the mv/ln
TARGET parameter used for the preparation of Alternatives. Also
define a simple shell contruct which identifies whether the
manpage file is compressed. If not, it unsets the $ext_man
variable, then ajdusting the mv/ln calls. That's all necessary
because even though ext_man macro is defined, it doesn't mean the
file has the extension (which dependes whether the build script
compresses it).
-------------------------------------------------------------------
Fri Sep 8 19:42:28 UTC 2023 - Antonio Teixeira <antonio.teixeira@suse.com>
- Refresh bash-scripts.patch
- Add nroff-map-CW-to-R.patch
* Fixes man-db build errors
-------------------------------------------------------------------
Tue Aug 29 14:21:17 UTC 2023 - Antonio Teixeira <antonio.teixeira@suse.com>
- Update to 1.23.0:
* Too many changes, see NEWS file for details.
- Refreshed patches:
* 0002-documentation-for-the-locale-keyword.patch
* 0004-don-t-use-usr-bin-env-in-shebang.patch
* groff-1.20.1-deunicode.patch
* groff-1.20.1-nroff-empty-LANGUAGE.patch
* groff-1.21-CVE-2009-5081.patch
* groff-force-locale-usage.patch
- Drop sort-perl-hash-keys.patch (upstreamed)
- Drop doc-volume-operating-system and doc-default-operating-system
changes (doesn't default to BSD anymore)
- Configure flag --with-appresdir has been renamed to --with-appdefdir
- Update file list with files that were removed from the package
-------------------------------------------------------------------
Thu Mar 16 10:04:16 UTC 2023 - pgajdos@suse.com
- ship %{_docdir}/groff/pdf also in groff-doc [bsc#1208498]
-------------------------------------------------------------------
Wed Jan 4 12:16:28 UTC 2023 - pgajdos@suse.com
- set doc-default-operating-system and doc-volume-operating-system
to SUSE [bsc#1185613c#5], $PRETTY_NAME cannot be used build time
-------------------------------------------------------------------
Thu Dec 15 12:45:32 UTC 2022 - pgajdos@suse.com
- set doc-default-operating-system and doc-volume-operating-system
to $PRETTY_NAME [bsc#1185613]
-------------------------------------------------------------------
Mon Feb 7 20:17:31 UTC 2022 - Stanislav Brabec <sbrabec@suse.com>
- Do not fail with rpm --excludedocs (bsc#1192195).
-------------------------------------------------------------------
Tue Nov 30 22:32:55 UTC 2021 - Stanislav Brabec <sbrabec@suse.com>
- Remove /usr/share/groff/current from groff-full. It creates file
conflicts during version upgrade (bsc#1192195#c8).
-------------------------------------------------------------------
Sat Oct 10 11:43:01 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Don't create recursive link 'current' inside
/usr/share/groff/%{version}.
-------------------------------------------------------------------
Thu Jan 9 09:34:19 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- don't recommend groff-full as that would pull in X etc by default.
Instead use packageand on groff and ghostscript-library to only install
groff-full when other deps are already there.
-------------------------------------------------------------------
Mon Dec 16 15:53:33 CET 2019 - Matej Cepl <mcepl@suse.com>
- Add man page roff(7) to alternatives to avoid conflict with
mandoc.
-------------------------------------------------------------------
Mon Feb 18 04:03:32 UTC 2019 - Marguerite Su <i@marguerite.su>
- install essential build files needed by ghostscript-fonts-grops
-------------------------------------------------------------------
Sat Jan 12 12:53:14 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Trim tm signs
-------------------------------------------------------------------
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>
- Switch to multibuild in order to avoid having to manage 2
differentiating spec files
-------------------------------------------------------------------
Wed Oct 30 23:50:14 UTC 2018 - Bernhard Wiedemann <bwiedemann@suse.com>
- add groff-reproducible-mdate.patch and groff-use-SDE.patch to allow
to override build time to make package build reproducible (boo#1047218)
-------------------------------------------------------------------
Mon Mar 19 11:47:37 CET 2018 - kukuk@suse.de
- Use %license instead of %doc [bsc#1082318]
-------------------------------------------------------------------
Mon Dec 18 10:38:07 UTC 2017 - tchvatal@suse.com
- Set the license to GPL-3.0+ as per COPYING
-------------------------------------------------------------------
Thu Dec 14 18:47:28 UTC 2017 - crrodriguez@opensuse.org
- Replace xorg-x11-devel buildrequires by the needed individual
libraries
-------------------------------------------------------------------
Thu Jul 21 11:12:50 UTC 2016 - tchvatal@suse.com
- Add patch for bnc#989903 and move all scripts from libdir to
libexecdir
-------------------------------------------------------------------
Wed Feb 4 10:30:49 UTC 2015 - tchvatal@suse.com
- Version bump to latest release 1.22.3:
* X11 resources for `gxditview', which were previously installed in
/usr/X11/lib/X11/app-defaults no matter which `prefix' was set, are
now installed in appresdir=$prefix/lib/X11/app-defaults. If
`appresdir' is not a standard X11 resource directory, the environment
variable XFILESEARCHPATH should be set to this path. The standard
default directories depends on the system `libXt'.
* This new preprocessor (contributed by Bernd Warken) allows embedding of
code for GNU LilyPond (http://www.lilypond.org), a music typesetter. The
data gets automatically processed and embedded as EPS images.
* Bernd Warken contributed a new preprocessor to handle Perl code that can
be evaluated and then processed by groff.
* Another preprocessor from Bernd Warken to pretty-print Pinyin syllables
like `guo2wang2' as `guówáng'.
* The pdfroff utility script now activates its `--no-toc-relocation' option
by default, unless a request similar to:
.if !\n[PHASE] .tm pdfroff-option:set toc_relocation=enabled
is invoked during input file processing; (`.if !\n[PHASE] ...' ensures
that the effect of the `.tm' request is restricted to the document setup
phase of processing, as pdfroff sets it to 1 or 2 in the output phase,
but leaves it unset in the setup phase).
The bundled `spdf.tmac' macro package, which implicitly activates
`-mpdfmark' for `ms' macro users, ensures that TOC relocation is
appropriately enabled, when the `.TC' macro is invoked.
* The -mom macro package now has full support for eqn, pic, and tbl, as well
as captioning and labelling of pdf images and preprocessor output. Lists
of Figures, Equations, and Tables can now be autogenerated. PDF_IMAGE has
a new FRAME option.
* A French introduction to the -me macro package has been added (file
`meintro_fr.me').
* In -mdoc, command %C is now available, providing a city or place
reference.
- Refreshed patches:
* groff-1.21-CVE-2009-5081.patch
* groff-1.21-groffer-libexecdir.patch
* groff-force-locale-usage.patch
- Replaced patches:
* deleted groff_1.22.2-2.debian.diff
* added groff_1.22.3-1.debian.diff
- New patches:
* groff-multi-thread.patch
-------------------------------------------------------------------
Sat Dec 20 14:34:44 UTC 2014 - meissner@suse.com
- build with PIE
-------------------------------------------------------------------
Tue Jun 25 06:38:16 UTC 2013 - mvyskocil@suse.com
- move man.local and mdoc.local from groff-full to groff
* fixes libssh2.org testsuite
-------------------------------------------------------------------
Mon Jun 17 11:18:11 UTC 2013 - werner@suse.de
- Take care of mmroff.1.gz as well as of mmroff perl script
-------------------------------------------------------------------
Mon Jun 17 10:18:59 UTC 2013 - werner@suse.de
- Move important non-graphical macros from groff-full back to groff
as otherwise many packages do not build anymore
-------------------------------------------------------------------
Wed Jun 5 09:00:09 UTC 2013 - mvyskocil@suse.com
- modify groff_1.22.2-2.debian.diff - remove the part related to
src/preproc/html/pre-html.cpp, fixes bnc#755533
-------------------------------------------------------------------
Thu May 9 09:16:49 UTC 2013 - mvyskocil@suse.com
- update to groff 1.22.2
* gropdf: A new driver for generating PDF output directly,
contributed by Deri James and written in Perl
* The -mom macro package has reached version 2.0, focusing on
PDF output with gropdf (using the new `pdfmom' wrapper script).
See the file`version-2.html' of the -mom documentation for a list
of the many changes.
* pdfmom: A new wrapper around groff that facilitates the production of PDF
documents from files formatted with the -mom macros.
* and a lot more, see NEWS for details
- obsoletes:
config-guess-sub-update.patch, dtto
groff_1.21-6.debian.diff, replaced by
- added groff_1.22.2-2.debian.diff
- create a stripped-down version of groff usable for viewing of manual pages
- new groff-full package contains the rest of groff tools capable to work with
images, html or pdf. It contains the devx fonts, thus obsoletes groff-devx
it aims to fix bnc#755533 - grohtml built without pnm* tools in PATH
- 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
- config-guess-sub-update.patch: Update config.guess/sub for aarch64
-------------------------------------------------------------------
Mon Feb 4 14:33:41 UTC 2013 - coolo@suse.com
- update license to new format
-------------------------------------------------------------------
Fri Sep 7 13:02:36 UTC 2012 - coolo@suse.com
- add explicit buildrequire makeinfo
-------------------------------------------------------------------
Sun Mar 18 00:14:49 UTC 2012 - jengelh@medozas.de
- Remove redundant tags/sections from specfile
- Enable parallel build with %_smp_mflags
-------------------------------------------------------------------
Thu Sep 29 12:49:28 UTC 2011 - adrian@suse.de
- use RPM_OPT_FLAGS for compile
-------------------------------------------------------------------
Thu Sep 29 08:09:33 UTC 2011 - mvyskocil@suse.cz
- implemented FATE#312586 - Add locales support for groff papersize
* the default papersize is now determined from system locale (LC_PAPER)
* /etc/papersize is no longer owned by the groff package
-------------------------------------------------------------------
Thu Sep 22 12:50:27 UTC 2011 - mvyskocil@suse.cz
- fix bnc#703665 - VUL-1: groff: missing checks for mktemp failures
(CVE-2009-5080)
- fix bnc#703666 - VUL-1: groff: insufficient number of X for mktemp
(CVE-2009-5081)
-------------------------------------------------------------------
Mon Jun 27 11:14:25 UTC 2011 - mvyskocil@suse.cz
- update to 1.21 a bugfix release
* use new groff_1.21-6.debian.diff
* refresh libexecdir and pdfroff patch
- fix FATE#311297: Get rid of SuSEconfig.groff
* removed
-------------------------------------------------------------------
Wed Jun 8 09:06:44 UTC 2011 - mvyskocil@suse.cz
- fix bnc#698290: insecure temporary file handling in pdfroff
* groff-1.20.1-CVE-2009-5044.patch
- fix bnc#683857: Unicode characters in use properly
* change the soft hyphenation char to - in tty.tmac
-------------------------------------------------------------------
Mon Jun 6 10:10:08 UTC 2011 - mvyskocil@suse.cz
-
- fix bnc#682913: device X100 is missing
* create new groff-devx package containing all devX devices, as they
need X for build
- fix bnc#683857: Unicode characters in use
* groff-1.20.1-deunicode.patch adds deunicode.tmac to tty.tmac removes
all unecessary unicode characters in tty output
-------------------------------------------------------------------
Tue Mar 15 08:34:56 UTC 2011 - mvyskocil@suse.cz
- fix bnc#679585 - groff.info is not installed
* install info files as %{name}.info.gz
-------------------------------------------------------------------
Thu Oct 7 09:33:18 UTC 2010 - mvyskocil@suse.cz
- fix bnc#644467: SuSEconfig.groff overwrites /etc/papersize
use the check_md5_and_move to prevent it
- deprecation warning for GROFF* variables in /etc/sysconfig/suseconfig
-------------------------------------------------------------------
Tue Oct 5 12:25:28 UTC 2010 - mvyskocil@suse.cz
- fix bnc#633128: Update groff to 1.20.1
this update obsoletes a big number of SUSE patches
* groff_1.18.1.1-1-debian.diff.bz2 - adds Japanese support, which is now
upstreamed. However new groff_1.20.1-10.debian.diff has been added
* suse.patch - not needed
* pic-html.patch - probably not needed
* gcc4.patch - already fixed by upstream
* groff-1.17.2-gcc3.patch - seems not needed
* utf8.patch - http://www.mail-archive.com/groff@gnu.org/msg05273.html says
iconv hack is no longer needed, new version uses preconv
* debian-fix.patch - already fixed by upstream
* double-free.patch - already fixed by upstream
* groffer-security.patch - in debian diff
* groff-1.18.1.1-gcc41.patch - already fixed by upstream
* bugzilla-217106-too-few-arguments-in-function-call.patch - makes sense
only with ENABLE_MULTIBYTE, which was added by old debian diff
* bugzilla-292412-special-encoding-handling-also-for-chinese.patch - seems not necessary
* gcc43.patch - already fixed by upstream
* fgets-overflow.patch - already fixed by upstream
* bnc446710.patch - seems not needed anymore
* groff-1.18.1.1-debian-538330.patch - part of debian diff
- fix bnc#643083 - groff: default /etc/papersize should be "a4"
no "papersize a4" without SuSEconfig anymore
- move docs and examples to groff-docs subpackage
-------------------------------------------------------------------
Wed Oct 14 13:48:20 UTC 2009 - mvyskocil@suse.cz
- fixed bnc#529557 - groff: insecure file handling
-------------------------------------------------------------------
Mon Sep 21 11:11:05 CEST 2009 - tiwai@suse.de
- fix broken output of man page when $LANGUAGE is set empty
(bnc#540600)
-------------------------------------------------------------------
Mon Feb 02 18:47:32 CET 2009 - mfabian@suse.de
- bnc#470921: add more workarounds for Korean to fix the truncation
of some non-Korean man-pages in ko_KR.UTF-8 locale.
-------------------------------------------------------------------
Mon Dec 22 15:18:31 CET 2008 - mls@suse.de
- keep zzz-groff.csh from aborting if LANG is unset
-------------------------------------------------------------------
Tue Nov 25 15:15:44 CET 2008 - mfabian@suse.de
- bnc#448185: improve workaround for bnc#446710. After the
tmandocdb workaround was removed from "man", the new
workaround in groff failed in some locales.
-------------------------------------------------------------------
Fri Nov 21 15:54:34 CET 2008 - mfabian@suse.de
- bnc#401952: Add a workaround to /usr/bin/nroff to make Korean
man-pages display correctly again.
- /etc/profile.d/groff.{sh,csh} moved to
/etc/profile.d/zzz-groff.{sh,csh} to be able to check for LANG.
Changes in these scripts:
• Dont set GROFF_NO_SGR by default anymore, it causes problems
with Korean man pages.
• For CJK languages, set MAN_KEEP_FORMATTING by default.
Without MAN_KEEP_FORMATTING man will use GROFF_NO_SGR when
writing to a pipe or file and will also pipe the result
through "col -b -p -x". This doesnt work well for CJK, at
least not with the current version of groff.
-------------------------------------------------------------------
Thu Nov 20 17:48:24 CET 2008 - mfabian@suse.de
- bnc#446710: add the workarounds from
/usr/share/groff/site-tmac/tmac.andocdb (man package) directly
to groff. These workarounds are to avoid rendering - as
U+2010 (HYPHEN), \- as U+2212 (MINUS SIGN), ` as U+2018
(LEFT SINGLE QUOTATION MARK), and ' as U+2019 (RIGHT SINGLE
QUOTATION MARK). Using these non-ASCII characters for rendering
man-pages with programm examples and command line options is
confusing and prevents cut and paste of code examples
impossible.
-------------------------------------------------------------------
Wed Oct 8 02:10:33 CEST 2008 - crrodriguez@suse.de
- fix buffer overflow in ps.cc
-------------------------------------------------------------------
Mon Oct 6 22:15:13 CEST 2008 - meissner@suse.de
- fixed fgets overflow
- fixed some rpmlint issues
-------------------------------------------------------------------
Mon Apr 21 17:25:52 CEST 2008 - mfabian@suse.de
- bnc#381905: remove the hack in /usr/bin/nroff to convert
UTF-8 encoded man-pages back to the appropriate legacy encoding
because newer versions of “man” also do this conversion now
and doing the same conversion twice breaks it.
-------------------------------------------------------------------
Tue Mar 25 13:11:08 CET 2008 - mfabian@suse.de
- bnc#373284: fix wrong spelling of UTF-8 in iconv call used in
nroff.sh (Thanks to Bruno Haible <bruno@clisp.org> for the fix).
-------------------------------------------------------------------
Wed Nov 7 09:37:39 CET 2007 - meissner@suse.de
- fixed gcc4.3 build
-------------------------------------------------------------------
Tue Jul 24 11:51:08 CEST 2007 - mfabian@suse.de
- Bugzilla #292412: make the hacks for Chinese less weird by
applying the patch from comment #31 by Peng Wu <pwu@novell.com>
and adapting the patch to /usr/bin/nroff.
- remove shebang from SuSEconfig.groff (is sourced, not executed).
-------------------------------------------------------------------
Mon Jul 23 19:41:27 CEST 2007 - mfabian@suse.de
- Bugzilla #292412: add some more hacks to /usr/bin/nroff to
support Chinese man pages as well.
-------------------------------------------------------------------
Mon Mar 26 15:50:16 CEST 2007 - rguenther@suse.de
- add bison BuildRequires.
-------------------------------------------------------------------
Wed Jan 17 14:33:50 CET 2007 - mfabian@suse.de
- Bugzilla #217106: too few arguments in function call.
-------------------------------------------------------------------
Tue Jan 09 22:01:52 CET 2007 - mfabian@suse.de
- do not build as root.
- make it build in the openSUSE build service.
-------------------------------------------------------------------
Tue Jan 02 18:58:35 CET 2007 - mfabian@suse.de
- Bugzilla #230030: make Russian and Czech man-pages display
correctly again in UTF-8 locales (has been broken by the
update to man-2.4.3).
-------------------------------------------------------------------
Tue Sep 5 11:59:42 CEST 2006 - rguenther@suse.de
- Split gxdview to a separate spec file.
-------------------------------------------------------------------
Mon Sep 4 14:41:08 CEST 2006 - rguenther@suse.de
- Remove unneeded build dependency on ghostscript-mini.
-------------------------------------------------------------------
Sun Aug 6 15:19:35 CEST 2006 - cthiel@suse.de
- fix build with X.org 7.1
-------------------------------------------------------------------
Tue Feb 28 18:12:58 CET 2006 - mfabian@suse.de
- Bugzilla #148472: use -Tlatin1 instead of -Tascii8 for
languages which used ISO-8859-1 as legacy encoding.
With -Tascii8, "\(:u" for ü won't work.
-------------------------------------------------------------------
Thu Feb 09 15:34:48 CET 2006 - mfabian@suse.de
- Bugzilla #148922: nroff hangs when input comes from a file
and not from a pipe: Improfe UTF-8 workaround to handle this
case as well by parsing the options with getopt to find out
whether a file was given as an argument.
-------------------------------------------------------------------
Fri Jan 27 01:40:24 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Thu Jan 26 15:51:26 CET 2006 - sbrabec@suse.cz
- Added %install_info_prereq.
-------------------------------------------------------------------
Mon Jan 23 18:31:45 CET 2006 - mfabian@suse.de
- Bugzilla #144726: add workaround to allow UTF-8 encoded sources
of man-pages. Some packages already contain man-pages with
UTF-8 encoded man-page sources, for example "mc". Hopefully
one day groff will really support this. Until then a workaround
is better than nothing.
-------------------------------------------------------------------
Fri Dec 9 15:04:53 CET 2005 - meissner@suse.de
- -fno-strict-aliasing.
-------------------------------------------------------------------
Thu Oct 13 10:11:33 CEST 2005 - meissner@suse.de
- fixed build.
-------------------------------------------------------------------
Sat Sep 17 21:14:11 CEST 2005 - meissner@suse.de
- fixed implicits.
-------------------------------------------------------------------
Mon Aug 22 12:37:18 CEST 2005 - mfabian@suse.de
- Bugzilla #105807: /etc/papersize can be changed by SuSEconfig,
don't verify md5, size, mtime.
/usr/share/groff/1.18.1/tmac/mm/locale and
/usr/share/groff/1.18.1/tmac/mm/se_locale are empty by default,
don't verify md5.
-------------------------------------------------------------------
Wed Jun 22 11:39:33 CEST 2005 - mfabian@suse.de
- improve papersize detection in SuSEconfig.groff.
-------------------------------------------------------------------
Thu Jun 02 15:01:11 CEST 2005 - mfabian@suse.de
- add symbolic link for tetex (and others):
/usr/share/groff/%{version} -> /usr/share/groff/current
-------------------------------------------------------------------
Mon Dec 06 22:13:15 CET 2004 - mfabian@suse.de
- Bugzilla #47862: fix insecure creation of temporary directory
in groffer.sh, see also CAN-2004-0969.
-------------------------------------------------------------------
Fri Sep 17 11:41:38 CEST 2004 - mfabian@suse.de
- add gcc4 patch received from Andreas Jaeger.
-------------------------------------------------------------------
Thu Sep 16 17:06:37 CEST 2004 - schwab@suse.de
- Fix double free.
-------------------------------------------------------------------
Tue Sep 7 12:37:19 CEST 2004 - mfabian@suse.de
- Bugzilla #44115: add groff.{sh,csh} and set GROFF_NO_SGR to
disable the use of ANSI colour sequences by default. They don't
work well with many pagers (e.g. lv, (X)Emacs) and they cause
problems when searching in man-pages when using less as the
pager.
-------------------------------------------------------------------
Tue Jun 29 19:23:18 CEST 2004 - mfabian@suse.de
- update to 1.18.1.1
- remove bison patch, voiddecl patch and patch to node.cc
(fixed upstream).
-------------------------------------------------------------------
Mon Apr 19 14:57:21 CEST 2004 - mmj@suse.de
- Declare void functions as such, and make int functions return such
-------------------------------------------------------------------
Tue Aug 26 01:11:37 CEST 2003 - mfabian@suse.de
- Bugzilla #28394: add workaround to display the euro symbol in
'man iso-8859-15' correctly in UTF-8 locales.
-------------------------------------------------------------------
Thu Aug 14 17:12:41 CEST 2003 - mfabian@suse.de
- Bugzilla #28945: add missing activation metadata to
sysconfig template
-------------------------------------------------------------------
Wed May 21 13:44:11 CEST 2003 - coolo@suse.de
- making /etc/papersize noreplace (the chances are very small the
package knows the papersize better than the user)
- installing the info pages
-------------------------------------------------------------------
Thu Mar 6 17:19:49 CET 2003 - ro@suse.de
- readd ghostscript-mini to neededforbuild (fix docu)
-------------------------------------------------------------------
Thu Mar 6 13:26:37 CET 2003 - mfabian@suse.de
- Bug #24758: fix segfault on copying an empty bracket_node
was reproducible with echo ' \b"" ' | troff
-------------------------------------------------------------------
Mon Jan 27 16:51:04 CET 2003 - mfabian@suse.de
- Bug #22693: add missing metadata to sysconfig.suseconfig-groff
-------------------------------------------------------------------
Mon Jan 20 19:50:43 CET 2003 - mfabian@suse.de
- fix file list to include /usr/share/man{5,7}/*
- extend workaround for non-latin1 man-page sources in UTF-8
locales to Hungarian, Croatian, Polish, and Russian
-------------------------------------------------------------------
Fri Dec 6 23:11:19 CET 2002 - olh@suse.de
- remove ghostscript-mini-packages to build groff anyway
-------------------------------------------------------------------
Wed Nov 20 17:11:35 CET 2002 - ro@suse.de
- use ghostscript-mini-packages
-------------------------------------------------------------------
Wed Nov 13 08:40:10 CET 2002 - ro@suse.de
- fix build with current bison (end all rules with ";")
-------------------------------------------------------------------
Sun Oct 13 19:30:45 CEST 2002 - mfabian@suse.de
- remove bogus "Requires: bc".
-------------------------------------------------------------------
Wed Aug 28 14:48:04 CEST 2002 - mfabian@suse.de
- fix display of Czech man pages in cs_CZ.UTF-8 locale
-------------------------------------------------------------------
Thu Aug 1 14:09:54 CEST 2002 - mfabian@suse.de
- add %fillup_prereq to Prereq:
-------------------------------------------------------------------
Tue Jun 4 20:06:46 CEST 2002 - mfabian@suse.de
- fix typo
-------------------------------------------------------------------
Tue Jun 4 18:22:29 CEST 2002 - mfabian@suse.de
- fix display of Japanese man pages in ja_JP.UTF-8 locale
-------------------------------------------------------------------
Thu May 2 14:02:51 CEST 2002 - meissner@suse.de
- Fixed g++ 3 issue (do not link C++ libraries with gcc)
-------------------------------------------------------------------
Sun Apr 7 17:42:44 CEST 2002 - schwab@suse.de
- Fix for new autoconf.
-------------------------------------------------------------------
Tue Mar 19 00:11:05 CET 2002 - mfabian@suse.de
- fix bug #15052: add 'libgimpprint glib glib-devel' to
'# neededforbuild' because 'gs' needs this to run. When 'gs'
doesn't run, some .png pictures in the 'doc' directory
can't be created and remain empty.
- add groff-1.17.2-pic-html.diff to avoid using the process ID
in the names of the created .png files.
-------------------------------------------------------------------
Sun Mar 10 15:56:25 CET 2002 - mfabian@suse.de
- write just 'a4' or 'letter' into /etc/papersize, not
'papersize a4' or 'papersize letter'. All this papersize
stuff doesn't seem to matter much anyway as groff calls
grops with the '-g' option (guess page length).
-------------------------------------------------------------------
Sat Mar 9 14:25:36 CET 2002 - ro@suse.de
- replaced plp by lprng in neededforbuild
-------------------------------------------------------------------
Fri Mar 1 13:43:08 CET 2002 - mfabian@suse.de
- fix /sbin/conf.d/SuSEconfig.groff:
prefer paper size information from the locale, use GROFF_PAGESIZE
as an override.
-------------------------------------------------------------------
Fri Feb 1 00:26:07 CET 2002 - ro@suse.de
- changed neededforbuild <libpng> to <libpng-devel-packages>
-------------------------------------------------------------------
Wed Jan 16 16:01:50 CET 2002 - ro@suse.de
- moved variables to sysconfig/suseconfig
-------------------------------------------------------------------
Thu Jan 10 14:59:01 CET 2002 - mfabian@suse.de
- move *GROFF* variables from /etc/rc.config to
/etc/sysconfig/groff (fix Bug #12739)
-------------------------------------------------------------------
Mon Oct 15 16:20:23 CEST 2001 - mfabian@suse.de
- add /etc/papersize (fix Bug #11810)
-------------------------------------------------------------------
Mon Sep 3 13:37:56 CEST 2001 - mfabian@suse.de
- add obsoletes jgroff
-------------------------------------------------------------------
Thu Aug 30 11:41:16 CEST 2001 - mfabian@suse.de
- upgrade debian patch to groff_1.17.2-7.diff
(fixes the problem with bold utf-8 characters, i.e. obsoletes
groff_1.17.2-6.1-debian-fix-minus.diff and includes a fix
for the troff man-page)
-------------------------------------------------------------------
Tue Aug 21 18:48:29 CEST 2001 - mfabian@suse.de
- upgrade debian patch to groff_1.17.2-6.1.diff
(fix hyphen character problem in EUC-JP encoding,
Fumitoshi UKAI <ukai@debian.or.jp> Fri, 17 Aug 2001)
- fix problem with bold minus characters in utf-8 caused by
debian patch (thanks to <mls@suse.de>)
-------------------------------------------------------------------
Fri Aug 17 12:11:48 CEST 2001 - mfabian@suse.de
- include patch for Japanese support from Debian
- security fix from Sebastian Krahmer <krahmer@suse.de> seems
to be included upstream, removed.
-------------------------------------------------------------------
Fri Jul 20 12:06:42 CEST 2001 - kukuk@suse.de
- changed neededforbuild <gs_fonts> to <ghostscript-fonts-std>
- changed neededforbuild <gs_lib> to <ghostscript-library>
- changed neededforbuild <gs_serv> to <ghostscript-serv>
-------------------------------------------------------------------
Thu Jul 12 12:33:45 CEST 2001 - fehr@suse.de
- update to version 1.17.2
-------------------------------------------------------------------
Fri Jul 6 11:22:27 CEST 2001 - fehr@suse.de
- add security fix from Sebastian Krahmer <krahmer@suse.de>
-------------------------------------------------------------------
Mon Jun 25 12:48:25 CEST 2001 - fehr@suse.de
- update to version 1.17.1
-------------------------------------------------------------------
Tue Jun 12 12:01:43 CEST 2001 - fehr@suse.de
- make it build with newer compilers (ia64, axp)
-------------------------------------------------------------------
Tue May 22 18:40:53 CEST 2001 - fehr@suse.de
- update to version 1.17
-------------------------------------------------------------------
Mon May 7 12:39:47 CEST 2001 - mfabian@suse.de
- bzip2 source
-------------------------------------------------------------------
Sat Apr 21 21:25:32 CEST 2001 - schwab@suse.de
- Fix C++ constraint violation.
-------------------------------------------------------------------
Wed Mar 7 16:23:29 CET 2001 - uli@suse.de
- added xf86 to neededforbuild
-------------------------------------------------------------------
Wed Dec 13 10:16:37 CET 2000 - mfabian@suse.de
- added "Provides: normal-groff". This enables the japanized
groff to use "Provides: groff" and "Conflicts: normal-groff".
-------------------------------------------------------------------
Fri Dec 8 11:03:15 MET 2000 - fehr@suse.de
- add conflicts to jgroff
-------------------------------------------------------------------
Tue Sep 5 16:24:15 MEST 2000 - fehr@suse.de
- check for writable fontdir in SuSEconfig.groff (#2787)
-------------------------------------------------------------------
Tue Aug 15 10:26:06 CEST 2000 - mfabian@suse.de
- update to version 1.16.1
- added 'BuildRoot'
-------------------------------------------------------------------
Fri Aug 4 10:11:08 MEST 2000 - fehr@suse.de
- changes to new version 1.16.1 of groff
-------------------------------------------------------------------
Fri Jul 21 16:47:13 MEST 2000 - fehr@suse.de
- add patch to display japanese man pages again
-------------------------------------------------------------------
Fri Jul 7 16:23:40 MEST 2000 - fehr@suse.de
- change comment in rc.config part of package (bugzilla #3256)
-------------------------------------------------------------------
Mon May 29 13:21:03 MEST 2000 - fehr@suse.de
- changes to new version 1.16 of groff
-------------------------------------------------------------------
Fri May 19 14:13:18 MEST 2000 - fehr@suse.de
- move documentation to /usr/share/doc/packages
-------------------------------------------------------------------
Thu Mar 16 21:32:54 MET 2000 - werner@suse.de
- nroff script
* Allow other ISO latin character sets because they use the same
8 bit table: use -Tlatin1
* Allow wide ANSI character maps (e.g. Japanese) because they use
multiple 8 bit characters: use -Tlatin1
* Map -Tnippon to -Tlatin1
-------------------------------------------------------------------
Mon Mar 6 15:50:30 CET 2000 - schwab@suse.de
- Update tmac.m from CVS.
- Fix tmac.mse reference to tmac.m.
-------------------------------------------------------------------
Fri Feb 25 16:37:03 CET 2000 - schwab@suse.de
- /usr/man -> /usr/share/man
-------------------------------------------------------------------
Mon Jan 3 10:39:24 CET 2000 - schwab@suse.de
- Update to 1.15 (Y2K fix).
- Get rid of Makefile.Linux.
-------------------------------------------------------------------
Mon Sep 27 16:31:01 CEST 1999 - bs@suse.de
- fixed requirements for sub packages
-------------------------------------------------------------------
Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
-------------------------------------------------------------------
Fri Jul 2 19:14:18 CEST 1999 - werner@suse.de
- Fix Makefle.Linux to make (g)xditview with the values
set in Imakefile
- Split up a new package gxdview to avoid dependencies
of groff on the X11 system.
- Correct version number of groff in pac
-------------------------------------------------------------------
Tue Feb 23 08:15:50 MET 1999 - ro@suse.de
- don't redclare strchr for glibc
-------------------------------------------------------------------
Tue Dec 15 00:38:04 MET 1998 - bs@suse.de
- fixed SuSEconfig
-------------------------------------------------------------------
Sun Dec 13 22:48:48 MET 1998 - bs@suse.de
- made SuSEconfig.groff a little bit more silent.
-------------------------------------------------------------------
Wed Nov 18 14:34:32 MET 1998 - ro@suse.de
- commented out "find" in specfile
-------------------------------------------------------------------
Tue Nov 17 14:54:13 MET 1998 - werner@suse.de
- Remove hint during SuSEconfig.groff
-------------------------------------------------------------------
Thu Sep 3 17:50:05 MET DST 1998 - werner@suse.de
- Add three missed files
-------------------------------------------------------------------
Tue Aug 25 16:36:47 MEST 1998 - werner@suse.de
- Skipt warn message if printer isn't configured
-------------------------------------------------------------------
Thu Aug 6 16:24:02 MEST 1998 - werner@suse.de
- New version 1.11a
- Make docs and install them
- Add a auto configure script for SuSEconfig
- Make tmac/tmac.safer more safer: do not open files via .so
-------------------------------------------------------------------
Sun Jul 26 19:50:30 MEST 1998 - bs@suse.de
- fixed name of GXDITVIEW
----------------------------------------------------------------------------
Tue Oct 7 11:00:38 CEST 1997 - florian@suse.de
- prepared spec file
- "bash 2.0" Fix in Makefile

60
groff.keyring Normal file
View File

@ -0,0 +1,60 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
ZuOpTKvL3rZxpvTCPBzmJIFsK8LdnIbxUQ==
=KVbR
-----END PGP PUBLIC KEY BLOCK-----

351
groff.spec Normal file
View File

@ -0,0 +1,351 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "full"
%define name_ext -full
%bcond_without full_build
%else
%define name_ext %nil
%bcond_with full_build
%endif
Name: groff%{name_ext}
Version: 1.23.0
Release: 0
Summary: GNU troff Document Formatting System
License: GPL-3.0-or-later
Group: Productivity/Publishing/Troff
URL: http://www.gnu.org/software/groff/groff.html
Source0: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz
Source1: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz.sig
Source2: groff.keyring
Source3: zzz-groff.sh
Source4: zzz-groff.csh
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
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/nroff-map-CW-to-R.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: makeinfo
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)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xt)
Requires: ghostscript-library
# ghostscript-library pulls in X and stuff anyways, so let's
# piggyback on that one
Supplements: packageand(groff:ghostscript-library)
# requires the -base package
Requires: groff = %{version}
Requires: netpbm
Requires: psutils
Requires(post): %{install_info_prereq}
Provides: jgroff = %{version}-%{release}
Provides: normal-groff = %{version}-%{release}
Obsoletes: jgroff < %{version}
# X fonts were moved back
Provides: groff-devx = %{version}-%{release}
Obsoletes: groff-devx <= 1.21
# alternatives
BuildRequires: update-alternatives
Requires(post): update-alternatives
Requires(postun):update-alternatives
%endif
%description
The groff package is a stripped-down package containing the necessary
components to read manual pages in ASCII, Latin-1, and UTF-8, plus the
PostScript device (groff's default).
%package -n groff-doc
Summary: HTML documentation and examples for groff
Group: Productivity/Publishing/Troff
BuildArch: noarch
%description -n groff-doc
The groff package provides compatible versions of troff, nroff, eqn,
tbl, and other Unix text formatting utilities.
Groff is used to "compile" man pages stored in groff or nroff format
for different output devices, for example, displaying to a screen or in
PostScript format for printing on a PostScript printer.
%package -n gxditview
Summary: Ditroff Output Displayer for Groff
Group: Productivity/Publishing/Troff
Requires: groff-full = %{version}
# bnc#668254
Supplements: packageand(groff:xorg-x11-libX11)
Conflicts: jgxdview
Provides: gxdview = %{version}-%{release}
Obsoletes: gxdview < %{version}
%description -n gxditview
This version of xditview is called gxditview and has some extensions
used by the groff command. gxditview is used by groff if called with
the -X option.
%prep
%setup -q -n groff-%{version}
%autopatch -p1
# remove hardcoded docdir
sed -i \
-e '/^docdir=/d' \
Makefile.am
%build
autoreconf -fvi
# libdir redefined as it is just bunch of perl scripts
%configure \
--disable-silent-rules \
--docdir=%{_defaultdocdir}/groff \
--libdir=%{_libexecdir} \
--with-appdefdir=%{_datadir}/X11/app-defaults \
--with-grofferdir=%{_libexecdir}/groff/groffer
make %{?_smp_mflags}
%install
%make_install
%if %{with full_build}
# remove groff basic files from bellow
rm -f %{buildroot}%{_sysconfdir}/profile.d/zzz-groff.csh
rm -f %{buildroot}%{_sysconfdir}/profile.d/zzz-groff.sh
rm -f %{buildroot}%{_bindir}/eqn
rm -f %{buildroot}%{_bindir}/groff
rm -f %{buildroot}%{_bindir}/grog
rm -f %{buildroot}%{_bindir}/grops
rm -f %{buildroot}%{_bindir}/grotty
rm -f %{buildroot}%{_bindir}/mmroff
rm -f %{buildroot}%{_bindir}/neqn
rm -f %{buildroot}%{_bindir}/nroff
rm -f %{buildroot}%{_bindir}/pic
rm -f %{buildroot}%{_bindir}/preconv
rm -f %{buildroot}%{_bindir}/soelim
rm -f %{buildroot}%{_bindir}/tbl
rm -f %{buildroot}%{_bindir}/troff
rm -f %{buildroot}%{_libexecdir}/groff/grog/subs.pl
rm -f %{buildroot}%{_datadir}/groff/current
rm -f %{buildroot}%{_datadir}/groff/1.23.0/eign
rm -rf %{buildroot}%{_datadir}/groff/1.23.0/font/devascii
rm -rf %{buildroot}%{_datadir}/groff/1.23.0/font/devlatin1
rm -rf %{buildroot}%{_datadir}/groff/1.23.0/font/devps
rm -rf %{buildroot}%{_datadir}/groff/1.23.0/font/devutf8
rm -rf %{buildroot}%{_datadir}/groff/1.23.0/pic
rm -rf %{buildroot}%{_datadir}/groff/1.23.0/tmac
rm -rf %{buildroot}%{_datadir}/groff/site-tmac
rm -rf %{buildroot}%{_datadir}/groff/site-font
rm -f %{buildroot}%{_mandir}/man1/eqn.1*
rm -f %{buildroot}%{_mandir}/man1/groff.1*
rm -f %{buildroot}%{_mandir}/man1/grog.1*
rm -f %{buildroot}%{_mandir}/man1/grops.1*
rm -f %{buildroot}%{_mandir}/man1/grotty.1*
rm -f %{buildroot}%{_mandir}/man1/mmroff.1*
rm -f %{buildroot}%{_mandir}/man1/neqn.1*
rm -f %{buildroot}%{_mandir}/man1/nroff.1*
rm -f %{buildroot}%{_mandir}/man1/pic.1*
rm -f %{buildroot}%{_mandir}/man1/preconv.1*
rm -f %{buildroot}%{_mandir}/man1/soelim.1*
rm -f %{buildroot}%{_mandir}/man1/tbl.1*
rm -f %{buildroot}%{_mandir}/man1/troff.1*
# Prepare alternatives
find %{buildroot}%{_mandir}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
## This construct should help identify whether the manpage is compressed,
## and the mv/ln TARGET parameter should be adjusted accordingly.
ext_man="%{?ext_man}%{!?ext_man:.gz}"
manfile="$(find %{buildroot}%{_mandir}/man7/ -type f -name "roff.7${ext_man}")"
test -z "${manfile}" && unset ext_man
mv -v "%{buildroot}%{_mandir}/man7/roff.7${ext_man:-}" \
"%{buildroot}%{_mandir}/man7/roff-gf.7${ext_man:-}"
ln -s -f "%{_sysconfdir}/alternatives/roff.7${ext_man:-}" \
"%{buildroot}%{_mandir}/man7/roff.7${ext_man:-}"
# full_build
%else
# fix permission for devps/generate/afmname
# used by ghostscript-fonts-grops
chmod +x %{buildroot}%{_datadir}/groff/%{version}/font/devps/generate/afmname
# install files needed by ghostscript-fonts-grops
install -m 0644 font/devps/generate/symbolsl.awk %{buildroot}%{_datadir}/groff/%{version}/font/devps/generate
install -m 0644 font/devps/generate/zapfdr.sed %{buildroot}%{_datadir}/groff/%{version}/font/devps/generate
install -m 0644 font/devps/generate/freeeuro.sfd %{buildroot}%{_datadir}/groff/%{version}/font/devps/generate
install -m 0644 font/devps/generate/sfdtopfa.pe %{buildroot}%{_datadir}/groff/%{version}/font/devps/generate
install -m 0644 font/devps/symbolsl.ps %{buildroot}%{_datadir}/groff/%{version}/font/devps/
# remove all not really wanted files (they are present in -full variant)
rm -rf %{buildroot}%{_mandir}/man5/
rm -rf %{buildroot}%{_mandir}/man7/
rm -rf %{buildroot}%{_infodir}/
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}
rm -rf %{buildroot}%{_docdir}/groff
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/font/devcp1047
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/font/devdvi
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/font/devhtml
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/font/devlbp
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/font/devlj4
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/font/devpdf
rm -rf %{buildroot}%{_datadir}/%{name}/%{version}/oldfont/
for i in addftinfo afmtodit chem eqn2graph gdiffmk glilypond gperl gpinyin grap2graph grn grodvi groffer grolbp grolj4 gropdf hpftodit indxbib lkbib lookbib pdfmom pdfroff pfbtops pic2graph post-grohtml pre-grohtml refer roff2dvi roff2html roff2pdf roff2ps roff2text roff2x tfmtodit; do
rm -f %{buildroot}%{_bindir}/$i
rm -f %{buildroot}%{_mandir}/man1/$i.1*
done
# this man does werdly not have reflecting binary
rm -f %{buildroot}%{_mandir}/man1/grohtml.1*
# compat symlinks
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/
# full_build
%endif
%fdupes -s %{buildroot}
%if %{with full_build}
%post -n groff-full
%install_info --info-dir=%{_infodir} %{_infodir}/groff.info.gz
if test -f %{_mandir}/man7/roff-gf.7%{?ext_man} ; then
update-alternatives --install \
%{_mandir}/man7/roff.7%{?ext_man} roff.7%{?ext_man} \
%{_mandir}/man7/roff-gf.7%{?ext_man} 500
fi
%preun -n groff-full
%install_info_delete --info-dir=%{_infodir} %{_infodir}/groff.info.gz
if [ $1 -eq 0 ] ; then
update-alternatives --remove man.7%{?ext_man} %{_mandir}/man7/man-gf.7%{?ext_man}
fi
%endif
%if !%{with full_build}
%files
%license COPYING FDL LICENSES
%doc BUG-REPORT ChangeLog* MANIFEST MORE.STUFF NEWS PROBLEMS PROJECTS README
%{_bindir}/eqn
%{_bindir}/geqn
%{_bindir}/groff
%{_bindir}/grog
%{_bindir}/grops
%{_bindir}/grotty
%{_bindir}/gtbl
%{_bindir}/mmroff
%{_bindir}/neqn
%{_bindir}/nroff
%{_bindir}/pic
%{_bindir}/preconv
%{_bindir}/soelim
%{_bindir}/tbl
%{_bindir}/troff
%{_mandir}/man1/eqn.1%{?ext_man}
%{_mandir}/man1/groff.1%{?ext_man}
%{_mandir}/man1/grog.1%{?ext_man}
%{_mandir}/man1/grops.1%{?ext_man}
%{_mandir}/man1/grotty.1%{?ext_man}
%{_mandir}/man1/mmroff.1%{?ext_man}
%{_mandir}/man1/neqn.1%{?ext_man}
%{_mandir}/man1/nroff.1%{?ext_man}
%{_mandir}/man1/pic.1%{?ext_man}
%{_mandir}/man1/preconv.1%{?ext_man}
%{_mandir}/man1/soelim.1%{?ext_man}
%{_mandir}/man1/tbl.1%{?ext_man}
%{_mandir}/man1/troff.1%{?ext_man}
%config %{_sysconfdir}/profile.d/zzz-%{name}.*sh
%{_datadir}/%{name}
%dir %{_libexecdir}/groff
%{_datadir}/groff/current
%else #groff_base_only
%files -n groff-full
%dir %{_datadir}/groff/%{version}
%dir %{_libexecdir}/groff
%doc %{_docdir}/groff
%dir %{_libexecdir}/groff
%exclude %{_docdir}/groff/html
%exclude %{_docdir}/groff/examples
%exclude %{_docdir}/groff/pdf
%{_infodir}/groff*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%exclude %{_mandir}/man1/gxditview.1*
%ghost %{_sysconfdir}/alternatives/roff.7%{?ext_man}
%{_bindir}/*
%exclude %{_bindir}/gxditview
%dir %{_datadir}/groff
%{_datadir}/groff/%{version}/font
%{_datadir}/groff/%{version}/oldfont
%files -n groff-doc
%dir %{_docdir}/groff
%doc %{_docdir}/groff/html
%doc %{_docdir}/groff/examples
%doc %{_docdir}/groff/pdf
%files -n gxditview
%dir %{_datadir}/X11/app-defaults
%doc src/devices/xditview/ChangeLog
%doc src/devices/xditview/README
%doc src/devices/xditview/TODO
%{_bindir}/gxditview
%{_mandir}/man1/gxditview.1%{?ext_man}
%{_datadir}/X11/app-defaults/GXditview
%{_datadir}/X11/app-defaults/GXditview-color
%endif #groff_base_only
%changelog

40
nroff-map-CW-to-R.patch Normal file
View File

@ -0,0 +1,40 @@
From 742dfac36f1fd23e17d27dbf83e3793d3f3a063d Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Fri, 14 Jul 2023 12:42:26 +0100
Subject: Map CW to R for nroff
Bug-Debian: https://bugs.debian.org/1040975
Last-Update: 2023-07-14
Patch-Name: nroff-map-CW-to-R.patch
---
tmac/man.local | 2 +-
tmac/mdoc.local | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tmac/man.local b/tmac/man.local
index 0bb667bd4..1aaaadd6a 100644
--- a/tmac/man.local
+++ b/tmac/man.local
@@ -12,7 +12,7 @@
.\" Uncomment this to suppress warnings produced by such pages. This
.\" test remaps the font to roman ("R") on nroff (terminal) devices. You
.\" might prefer to remap it to bold ("B") instead.
-.\" .if n .ftr CW R
+.if n .ftr CW R
.\"
.\" A de facto standard URL format for man pages is recognized
.\" everywhere except Apple, where different macOS applications expect
diff --git a/tmac/mdoc.local b/tmac/mdoc.local
index 94688aba0..66dcc423d 100644
--- a/tmac/mdoc.local
+++ b/tmac/mdoc.local
@@ -6,7 +6,7 @@
.\" Uncomment this to suppress warnings produced by such pages. This
.\" test remaps the font to roman ("R") on nroff (terminal) devices. You
.\" might prefer to remap it to bold ("B") instead.
-.\" .if n .ftr CW R
+.if n .ftr CW R
.\"
.\" Local Variables:
.\" mode: nroff

20
zzz-groff.csh Normal file
View File

@ -0,0 +1,20 @@
#
# /etc/profile.d/zzz-groff.csh
#
# This script must be executed after setting the LANG variable.
if ( $?LANG ) then
switch ( $LANG )
case ja*:
setenv MAN_KEEP_FORMATTING yes
unsetenv GROFF_NO_SGR
case zh*:
setenv MAN_KEEP_FORMATTING yes
unsetenv GROFF_NO_SGR
case ko*:
setenv MAN_KEEP_FORMATTING yes
unsetenv GROFF_NO_SGR
endsw
endif

12
zzz-groff.sh Normal file
View File

@ -0,0 +1,12 @@
#
# /etc/profile.d/zzz-groff.sh
#
# This script must be executed after setting the LANG variable.
case "${LANGUAGE-${LC_ALL-${LC_MESSAGES-${LANG}}}}" in
ja*|zh*|ko*)
unset GROFF_NO_SGR
export MAN_KEEP_FORMATTING=yes
;;
esac