Hello community,

here is the log from the commit of package groff for openSUSE:Factory checked 
in at 2019-02-04 21:16:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/groff (Old)
 and      /work/SRC/openSUSE:Factory/.groff.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "groff"

Mon Feb  4 21:16:59 2019 rev:57 rq:665274 version:1.22.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/groff/groff.changes      2018-11-09 
07:50:24.987987448 +0100
+++ /work/SRC/openSUSE:Factory/.groff.new.28833/groff.changes   2019-02-04 
21:17:02.587744832 +0100
@@ -1,0 +2,37 @@
+Sat Jan 12 12:53:14 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Trim tm signs
+
+-------------------------------------------------------------------
+Fri Jan  4 12:44:27 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- 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 <[email protected]>
+
+- Switch to multibuild in order to avoid having to manage 2
+  differentiating spec files
+
+-------------------------------------------------------------------
@@ -125,0 +163 @@
+- Remove not really needed patch groff-1.20.1-destbufferoverflow.patch

Old:
----
  groff-1.20.1-destbufferoverflow.patch
  groff-1.21-CVE-2009-5080.patch
  groff-1.21-groffer-libexecdir.patch
  groff-1.22.3.tar.gz
  groff-1.22.3.tar.gz.sig
  groff-full.changes
  groff-full.keyring
  groff-full.spec
  groff-multi-thread.patch
  groff-reproducible-mdate.patch
  groff-use-SDE.patch
  groff_1.22.3-1.debian.diff
  pre_checkin.sh

New:
----
  0004-don-t-use-usr-bin-env-in-shebang.patch
  _multibuild
  bash-scripts.patch
  groff-1.22.4.tar.gz
  groff-1.22.4.tar.gz.sig
  groff.keyring
  sort-perl-hash-keys.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ groff.spec ++++++
--- /var/tmp/diff_new_pack.45HnXm/_old  2019-02-04 21:17:03.739744400 +0100
+++ /var/tmp/diff_new_pack.45HnXm/_new  2019-02-04 21:17:03.751744395 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package groff
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,75 +12,65 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
-%global groff_base_only 1
-Name:           groff
-Version:        1.22.3
+%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.22.4
 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
+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-full.keyring
+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++
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} > 1220
+BuildRequires:  libtool
 BuildRequires:  makeinfo
-%endif
-%if %{groff_base_only}
-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)
 BuildRequires:  pkgconfig(xmu)
 BuildRequires:  pkgconfig(xt)
-# for pre-grohtml and pdfroff
 Requires:       ghostscript-library
 # requires the -base package
 Requires:       groff = %{version}
@@ -93,25 +83,14 @@
 # X fonts were moved back
 Provides:       groff-devx = %{version}-%{release}
 Obsoletes:      groff-devx <= 1.21
+%else
+Recommends:     groff-full
 %endif
-%if %{groff_base_only}
+
 %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). Users who want a full groff installation,
-with the standard set of devices, fonts, macros, and documentation, should
-install the groff-full package.
-
-%else   #groff_base_only
-%description
-The groff-full package provides aditional tools excluded from base groff
-package, like grohtml, X fonts et. all.
-
-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(tm) format for printing on a PostScript(tm) printer. Most
-programs store their man pages in either %{_mandir}/ or
-%{_prefix}/X11R6/man/.
+PostScript device (groff's default).
 
 %package -n groff-doc
 Summary:        HTML documentation and examples for groff
@@ -124,9 +103,7 @@
 
 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(tm) format for printing on a PostScript(tm) printer. Most
-programs store their man pages in either %{_mandir}/ or
-%{_prefix}/X11R6/man/.
+PostScript format for printing on a PostScript printer.
 
 %package -n gxditview
 Summary:        Ditroff Output Displayer for Groff
@@ -143,185 +120,149 @@
 used by the groff command.  gxditview is used by groff if called with
 the -X option.
 
-%endif #groff_base_only
-
 %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 %{groff_base_only}
-    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/
-%else
-    make DESTDIR=%{buildroot} install %{?_smp_mflags} 
docdir=%{_defaultdocdir}/groff
-%endif
-
-### see Debian's groff-base.install.in ###
-for BIN in eqn groff grog grops grotty neqn nroff pic preconv soelim tbl 
troff; do
-
-%if %{groff_base_only}
-    # 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 %{groff_base_only}
-    # datadir
-    install -m 0644 src/utils/indxbib/eign 
%{buildroot}%{_datadir}/%{name}/%{version}/
-%else
-    rm %{buildroot}%{_datadir}/groff/%{version}/eign
-%endif
+%make_install
 
-%if %{groff_base_only}
-    install -m 0644 src/roff/grog/subs.pl 
%{buildroot}%{_libexecdir}/groff/grog/subs.pl
+%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/1.22.4/eign
+rm -rf %{buildroot}%{_datadir}/groff/1.22.4/font/devascii
+rm -rf %{buildroot}%{_datadir}/groff/1.22.4/font/devlatin1
+rm -rf %{buildroot}%{_datadir}/groff/1.22.4/font/devps
+rm -rf %{buildroot}%{_datadir}/groff/1.22.4/font/devutf8
+rm -rf %{buildroot}%{_datadir}/groff/1.22.4/pic
+rm -rf %{buildroot}%{_datadir}/groff/1.22.4/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*
 %else
-    rm %{buildroot}%{_libexecdir}/groff/grog/subs.pl
-%endif
-
-for FONT in devascii devlatin1 devps devutf8; do
-%if %{groff_base_only}
-    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 %{groff_base_only}
-    install -m 0644 tmac/${TMAC} 
%{buildroot}%{_datadir}/%{name}/%{version}/tmac/
-%else
-    rm %{buildroot}%{_datadir}/groff/%{version}/tmac/${TMAC}
-%endif
+# 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
-
-%if %{groff_base_only}
-    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 %{groff_base_only}
-    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 %{groff_base_only}
-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 %{groff_base_only}
-
-ln -s -f current %{buildroot}%{_datadir}/%{name}/%{version}
+# this man does werdly not have reflecting binary
+rm -f %{buildroot}%{_mandir}/man1/grohtml.1*
 
 # 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}
 
-%if ! %{groff_base_only}
-%post
+%if %{with full_build}
+%post -n groff-full
 %install_info --info-dir=%{_infodir} %{_infodir}/groff.info.gz
 
-%preun
+%preun -n groff-full
 %install_info_delete --info-dir=%{_infodir} %{_infodir}/groff.info.gz
 %endif
 
-%if %{groff_base_only}
+%if !%{with full_build}
 %files
-%defattr(-,root,root)
 %license COPYING FDL LICENSES
-%doc BUG-REPORT ChangeLog* MANIFEST MORE.STUFF NEWS PROBLEMS PROJECTS README 
REVISION VERSION
-%{_mandir}/man1/*
-%{_bindir}/*
+%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
@@ -329,8 +270,7 @@
 %{_libexecdir}/groff/grog/subs.pl
 
 %else #groff_base_only
-%files
-%defattr(-,root,root)
+%files -n groff-full
 %dir %{_datadir}/groff/%{version}
 %dir %{_libexecdir}/groff
 %doc %{_docdir}/groff
@@ -346,33 +286,30 @@
 %exclude %{_docdir}/groff/html
 %exclude %{_docdir}/groff/examples
 %{_infodir}/groff*
-%{_mandir}/man*/*
+%{_mandir}/man1/*
+%{_mandir}/man5/*
+%{_mandir}/man7/*
 %exclude %{_mandir}/man1/gxditview.1*
 %{_bindir}/*
 %exclude %{_bindir}/gxditview
 %dir %{_datadir}/groff
 %{_datadir}/groff/%{version}/font
 %{_datadir}/groff/%{version}/oldfont
-%{_datadir}/groff/%{version}/pic
-%{_datadir}/groff/%{version}/tmac
 %{_datadir}/groff/current
-%{_datadir}/groff/site-tmac
 %{_libexecdir}/groff/groffer
 
 %files -n groff-doc
-%defattr(-, root, root)
 %dir %{_docdir}/groff
 %doc %{_docdir}/groff/html
 %doc %{_docdir}/groff/examples
 
 %files -n gxditview
-%defattr(-,root,root)
 %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*
+%{_mandir}/man1/gxditview.1%{?ext_man}
 %{_datadir}/X11/app-defaults/GXditview
 %{_datadir}/X11/app-defaults/GXditview-color
 

++++++ 0002-documentation-for-the-locale-keyword.patch ++++++
--- /var/tmp/diff_new_pack.45HnXm/_old  2019-02-04 21:17:03.771744388 +0100
+++ /var/tmp/diff_new_pack.45HnXm/_new  2019-02-04 21:17:03.775744386 +0100
@@ -4,14 +4,14 @@
 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 @@
  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.

++++++ 0004-don-t-use-usr-bin-env-in-shebang.patch ++++++
>From e263e19aa1c63dbcbe710e8aae79c8e298606e4c Mon Sep 17 00:00:00 2001
From: Peter Schiffer <[email protected]>
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
++++++ _multibuild ++++++
<multibuild>
  <package>full</package>
</multibuild>

++++++ bash-scripts.patch ++++++
>From b5636fe1b680fff8dbf8c2d002806f37b32a10df Mon Sep 17 00:00:00 2001
From: Colin Watson <[email protected]>
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
 #
++++++ groff-1.20.1-deunicode.patch ++++++
--- /var/tmp/diff_new_pack.45HnXm/_old  2019-02-04 21:17:03.847744359 +0100
+++ /var/tmp/diff_new_pack.45HnXm/_new  2019-02-04 21:17:03.847744359 +0100
@@ -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' \

++++++ groff-1.21-CVE-2009-5081.patch ++++++
--- /var/tmp/diff_new_pack.45HnXm/_old  2019-02-04 21:17:03.867744352 +0100
+++ /var/tmp/diff_new_pack.45HnXm/_new  2019-02-04 21:17:03.867744352 +0100
@@ -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 @@
 +.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 @@
  
  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 @@
  \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 @@
  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 @@
    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 @@
                                       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;
        }

++++++ groff-1.22.3.tar.gz -> groff-1.22.4.tar.gz ++++++
++++ 471957 lines of diff (skipped)

++++++ groff-force-locale-usage.patch ++++++
--- /var/tmp/diff_new_pack.45HnXm/_old  2019-02-04 21:17:05.155743869 +0100
+++ /var/tmp/diff_new_pack.45HnXm/_new  2019-02-04 21:17:05.155743869 +0100
@@ -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)' >>$@)

++++++ sort-perl-hash-keys.patch ++++++
>From 3c7075d5a846ff178c8fe83f8479f5f98e98f32d Mon Sep 17 00:00:00 2001
From: Colin Watson <[email protected]>
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");

Reply via email to