PSARC/2014/407 Replace roff family of commands with GNU versions
authorosayama <osamu.sayama@oracle.com>
Tue, 14 Apr 2015 21:26:46 -0700
changeset 4121 3e66a10136ab
parent 4120 d43b2b1dc558
child 4124 84726155ce06
PSARC/2014/407 Replace roff family of commands with GNU versions 20502714 Replace roff family of commands with GNU versions - userland
components/groff/groff-core.p5m
components/groff/groff.p5m
components/groff/patches/configure_disable_troff_chk.patch
components/groff/patches/fix-groffer.patch
components/groff/patches/nroff_disable_warn.patch
--- a/components/groff/groff-core.p5m	Tue Apr 14 19:15:16 2015 -0700
+++ b/components/groff/groff-core.p5m	Tue Apr 14 21:26:46 2015 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
@@ -35,24 +35,34 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=LSARC/2008/425 value=PSARC/2013/394
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-link path=usr/bin/gdiffmk target=../gnu/bin/diffmk facet.compat.gnulinks=true
-link path=usr/bin/geqn target=../gnu/bin/eqn facet.compat.gnulinks=true
+link path=usr/bin/diffmk target=./gdiffmk
+file path=usr/bin/eqn
+file path=usr/bin/gdiffmk
+link path=usr/bin/geqn target=./eqn facet.compat.gnulinks=true
 link path=usr/bin/gneqn target=../gnu/bin/neqn facet.compat.gnulinks=true
 link path=usr/bin/gnroff target=../gnu/bin/nroff facet.compat.gnulinks=true
-link path=usr/bin/gpic target=../gnu/bin/pic facet.compat.gnulinks=true
+link path=usr/bin/gpic target=./pic facet.compat.gnulinks=true
+link path=usr/bin/grefer target=./refer facet.compat.gnulinks=true
 file path=usr/bin/groff
 file path=usr/bin/grops
 file path=usr/bin/grotty
-link path=usr/bin/gsoelim target=../gnu/bin/soelim facet.compat.gnulinks=true
-file path=usr/bin/gtbl
-file path=usr/bin/gtroff
+link path=usr/bin/gsoelim target=./soelim facet.compat.gnulinks=true
+link path=usr/bin/gtbl target=../gnu/bin/tbl facet.compat.gnulinks=true
+link path=usr/bin/gtroff target=./troff facet.compat.gnulinks=true
+file path=usr/bin/pic
 file path=usr/bin/preconv
-file usr/bin/gdiffmk path=usr/gnu/bin/diffmk
-file usr/bin/geqn path=usr/gnu/bin/eqn
-file usr/bin/gneqn path=usr/gnu/bin/neqn
-file usr/bin/gnroff path=usr/gnu/bin/nroff
-file usr/bin/gpic path=usr/gnu/bin/pic
-file usr/bin/gsoelim path=usr/gnu/bin/soelim
+file path=usr/bin/refer
+file path=usr/bin/soelim
+file path=usr/bin/troff
+link path=usr/gnu/bin/diffmk target=../../bin/gdiffmk
+link path=usr/gnu/bin/eqn target=../../bin/eqn
+file usr/bin/neqn path=usr/gnu/bin/neqn
+file usr/bin/nroff path=usr/gnu/bin/nroff
+link path=usr/gnu/bin/pic target=../../bin/pic
+link path=usr/gnu/bin/refer target=../../bin/refer
+link path=usr/gnu/bin/soelim target=../../bin/soelim
+file usr/bin/tbl path=usr/gnu/bin/tbl
+link path=usr/gnu/bin/troff target=../../bin/troff
 file path=usr/share/groff/$(COMPONENT_VERSION)/eign
 file path=usr/share/groff/$(COMPONENT_VERSION)/font/devascii/B
 file path=usr/share/groff/$(COMPONENT_VERSION)/font/devascii/BI
@@ -199,18 +209,28 @@
 link path=usr/share/groff/current target=$(COMPONENT_VERSION)
 file path=usr/share/groff/site-tmac/man.local
 file path=usr/share/groff/site-tmac/mdoc.local
+link path=usr/share/man/man1/diffmk.1 target=./gdiffmk.1
+file path=usr/share/man/man1/eqn.1
 file path=usr/share/man/man1/gdiffmk.1
-file path=usr/share/man/man1/geqn.1
-file path=usr/share/man/man1/gneqn.1
-file path=usr/share/man/man1/gnroff.1
-file path=usr/share/man/man1/gpic.1
+link path=usr/share/man/man1/geqn.1 target=./eqn.1 facet.compat.gnulinks=true
+file usr/share/man/man1/neqn.1 path=usr/share/man/man1/gneqn.1
+file usr/share/man/man1/nroff.1 path=usr/share/man/man1/gnroff.1
+link path=usr/share/man/man1/gpic.1 target=./pic.1 facet.compat.gnulinks=true
+link path=usr/share/man/man1/grefer.1 target=./refer.1 \
+    facet.compat.gnulinks=true
 file path=usr/share/man/man1/groff.1
 file path=usr/share/man/man1/grops.1
 file path=usr/share/man/man1/grotty.1
-file path=usr/share/man/man1/gsoelim.1
-file path=usr/share/man/man1/gtbl.1
-file path=usr/share/man/man1/gtroff.1
+link path=usr/share/man/man1/gsoelim.1 target=./soelim.1 \
+    facet.compat.gnulinks=true
+file usr/share/man/man1/tbl.1 path=usr/share/man/man1/gtbl.1
+link path=usr/share/man/man1/gtroff.1 target=./troff.1 \
+    facet.compat.gnulinks=true
+file path=usr/share/man/man1/pic.1
 file path=usr/share/man/man1/preconv.1
+file path=usr/share/man/man1/refer.1
+file path=usr/share/man/man1/soelim.1
+file path=usr/share/man/man1/troff.1
 license FDL license=FDLv1.3
 license COPYING license=GPLv3
 
@@ -219,3 +239,6 @@
 # to the 'userland' consolidation.
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
+# Roff related files were moved into groff packages.
+# This optional dependency is to facilitate the safe transfer of the package.
+depend type=optional fmri=text/[email protected],5.12-5.12.0.0.0.73
--- a/components/groff/groff.p5m	Tue Apr 14 19:15:16 2015 -0700
+++ b/components/groff/groff.p5m	Tue Apr 14 21:26:46 2015 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 # Put the documentation in the correct location.
@@ -47,13 +47,14 @@
 file path=usr/X11/lib/X11/app-defaults/GXditview-color
 file path=usr/bin/addftinfo
 file path=usr/bin/afmtodit
+file path=usr/bin/chem
 file path=usr/bin/eqn2graph
-file path=usr/bin/gchem
-link path=usr/bin/ggrn target=../gnu/bin/grn facet.compat.gnulinks=true
-link path=usr/bin/gindxbib target=../gnu/bin/indxbib facet.compat.gnulinks=true
-file path=usr/bin/glookbib
+link path=usr/bin/gchem target=./chem facet.compat.gnulinks=true
+link path=usr/bin/ggrn target=./grn facet.compat.gnulinks=true
+link path=usr/bin/gindxbib target=./indxbib facet.compat.gnulinks=true
+link path=usr/bin/glookbib target=./lookbib facet.compat.gnulinks=true
 file path=usr/bin/grap2graph
-link path=usr/bin/grefer target=../gnu/bin/refer facet.compat.gnulinks=true
+file path=usr/bin/grn
 file path=usr/bin/grodvi
 file path=usr/bin/groffer
 file path=usr/bin/grog
@@ -62,7 +63,9 @@
 file path=usr/bin/gropdf
 file path=usr/bin/gxditview
 file path=usr/bin/hpftodit
+file path=usr/bin/indxbib
 file path=usr/bin/lkbib
+file path=usr/bin/lookbib
 file path=usr/bin/mmroff
 file path=usr/bin/pdfmom
 file path=usr/bin/pdfroff
@@ -78,9 +81,10 @@
 file path=usr/bin/roff2x
 file path=usr/bin/tfmtodit
 file path=usr/bin/xtotroff
-file usr/bin/ggrn path=usr/gnu/bin/grn
-file usr/bin/gindxbib path=usr/gnu/bin/indxbib
-file usr/bin/grefer path=usr/gnu/bin/refer
+link path=usr/gnu/bin/chem target=../../bin/chem
+link path=usr/gnu/bin/grn target=../../bin/grn
+link path=usr/gnu/bin/indxbib target=../../bin/indxbib
+link path=usr/gnu/bin/lookbib target=../../bin/lookbib
 file path=usr/lib/groff/groffer/func.pl
 file contrib/groffer/shell/groffer2.sh path=usr/lib/groff/groffer/groffer2.sh
 file path=usr/lib/groff/groffer/man.pl
@@ -491,11 +495,13 @@
 file path=usr/share/man/man1/afmtodit.1
 file path=usr/share/man/man1/chem.1
 file path=usr/share/man/man1/eqn2graph.1
-file path=usr/share/man/man1/ggrn.1
-file path=usr/share/man/man1/gindxbib.1
-file path=usr/share/man/man1/glookbib.1
+link path=usr/share/man/man1/ggrn.1 target=./grn.1 facet.compat.gnulinks=true
+link path=usr/share/man/man1/gindxbib.1 target=./indxbib.1 \
+    facet.compat.gnulinks=true
+link path=usr/share/man/man1/glookbib.1 target=./lookbib.1 \
+    facet.compat.gnulinks=true
 file path=usr/share/man/man1/grap2graph.1
-file path=usr/share/man/man1/grefer.1
+file path=usr/share/man/man1/grn.1
 file path=usr/share/man/man1/grodvi.1
 file path=usr/share/man/man1/groffer.1
 file path=usr/share/man/man1/grog.1
@@ -505,7 +511,9 @@
 file path=usr/share/man/man1/gropdf.1
 file path=usr/share/man/man1/gxditview.1
 file path=usr/share/man/man1/hpftodit.1
+file path=usr/share/man/man1/indxbib.1
 file path=usr/share/man/man1/lkbib.1
+file path=usr/share/man/man1/lookbib.1
 file path=usr/share/man/man1/mmroff.1
 file path=usr/share/man/man1/pdfmom.1
 file path=usr/share/man/man1/pdfroff.1
@@ -537,6 +545,10 @@
 file path=usr/share/man/man5/groff_ms.5
 file path=usr/share/man/man5/groff_trace.5
 file path=usr/share/man/man5/groff_www.5
+link path=usr/share/man/man5/man.5 target=./groff_man.5
+link path=usr/share/man/man5/me.5 target=./groff_me.5
+link path=usr/share/man/man5/mm.5 target=./groff_mm.5
+link path=usr/share/man/man5/ms.5 target=./groff_ms.5
 file path=usr/share/man/man5/roff.5
 license FDL license=FDLv1.3
 license COPYING license=GPLv3
@@ -546,6 +558,9 @@
 # to the 'userland' consolidation.
 depend type=optional \
     fmri=consolidation/desktop/[email protected]
+# Roff related files were moved into groff packages.
+# This optional dependency is to facilitate the safe transfer of the package.
+depend type=optional fmri=text/[email protected],5.12-5.12.0.0.0.73
 depend type=require fmri=system/library/fontconfig
 depend type=require fmri=system/library/freetype-2
 depend type=require fmri=text/groff/groff-core
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/groff/patches/configure_disable_troff_chk.patch	Tue Apr 14 21:26:46 2015 -0700
@@ -0,0 +1,195 @@
+This patch comes from in-house and this is Solaris specific patch to disable
+checking for existing troff in order to install the binaries without g prefix.
+
+diff -ruN groff-1.22.2.org/configure groff-1.22.2/configure
+--- groff-1.22.2.org/configure	2013-02-07 04:06:26.000000000 -0800
++++ groff-1.22.2/configure	2015-02-13 01:39:16.941107643 -0800
+@@ -9804,18 +9804,6 @@
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAGE" >&5
+ $as_echo "$PAGE" >&6; }
+ 
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for existing troff installation" >&5
+-$as_echo_n "checking for existing troff installation... " >&6; }
+-   if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" = x0; then
+-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-$as_echo "yes" >&6; }
+-     g=g
+-   else
+-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-$as_echo "no" >&6; }
+-     g=
+-   fi
+-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for prefix of system macro packages" >&5
+ $as_echo_n "checking for prefix of system macro packages... " >&6; }
+    sys_tmac_prefix=
+
+diff -ruN groff-1.22.2.org/src/preproc/eqn/neqn.man groff-1.22.2/src/preproc/eqn/neqn.man
+--- groff-1.22.2.org/src/preproc/eqn/neqn.man	2013-02-07 04:06:06.000000000 -0800
++++ groff-1.22.2/src/preproc/eqn/neqn.man	2015-02-13 01:49:54.038507904 -0800
+@@ -16,15 +16,15 @@
+ translations approved by the Free Software Foundation instead of in
+ the original English.
+ ..
+-.TH @G@NEQN @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
++.TH GNEQN @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+ .SH NAME
+-@g@neqn \- format equations for ascii output
++gneqn \- format equations for ascii output
+ .SH SYNOPSIS
+-.B @g@neqn
++.B gneqn
+ [@g@eqn options]
+ .SH DESCRIPTION
+ The
+-.B @g@neqn
++.B gneqn
+ program is actually just a shell script which invokes the
+ .BR @g@eqn (@MAN1EXT@)
+ command with the
+diff -ruN groff-1.22.2.org/src/preproc/tbl/tbl.man groff-1.22.2/src/preproc/tbl/tbl.man
+--- groff-1.22.2.org/src/preproc/tbl/tbl.man	2013-02-07 04:06:06.000000000 -0800
++++ groff-1.22.2/src/preproc/tbl/tbl.man	2015-02-13 01:49:39.523069230 -0800
+@@ -20,15 +20,15 @@
+ ..
+ .
+ .
+-.TH @G@TBL @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
++.TH GTBL @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+ .
+ .
+ .SH NAME
+-@g@tbl \- format tables for troff
++gtbl \- format tables for troff
+ .
+ .
+ .SH SYNOPSIS
+-.SY @g@tbl
++.SY gtbl
+ .OP \-Cv
+ .RI [ files\~ .\|.\|.]
+ .YS
+@@ -605,7 +605,7 @@
+ .
+ .LP
+ Note that
+-.B @g@tbl
++.B gtbl
+ computes the column widths line by line, applying \[rs]w on each entry
+ which isn't a text block.
+ As a consequence, constructions like
+@@ -736,7 +736,7 @@
+ .
+ .
+ .SH "INTERACTION WITH @G@EQN"
+-.BR @g@tbl (@MAN1EXT@)
++.BR gtbl (@MAN1EXT@)
+ should always be called before
+ .BR @g@eqn (@MAN1EXT@)
+ .RB ( groff (@MAN1EXT@)
+@@ -759,18 +759,18 @@
+ Numeric and alphabetic items may span horizontally.
+ .
+ .LP
+-.B @g@tbl
++.B gtbl
+ uses register, string, macro and diversion names beginning with the digit\~\c
+ .BR 3 .
+ When using
+-.B @g@tbl
++.B gtbl
+ you should avoid using any names beginning with a\~\c
+ .BR 3 .
+ .
+ .
+ .SH "GNU TBL WITHIN MACROS"
+ Since
+-.B @g@tbl
++.B gtbl
+ defines its own macros (right before each table) it is necessary to use
+ an `end-of-macro' macro.  Additionally, the escape character has to be switched
+ off.  Here an example.
+@@ -792,15 +792,15 @@
+ .
+ .LP
+ Note, however, that not all features of
+-.B @g@tbl
++.B gtbl
+ can be wrapped into a macro because
+-.B @g@tbl
++.B gtbl
+ sees the input earlier than 
+ .BR @g@troff .
+ For example, number formatting with vertically aligned decimal points
+ fails if those numbers are passed on as macro parameters because
+ decimal point alignment is handled by
+-.B @g@tbl
++.B gtbl
+ itself: It only sees `\[rs]$1', `\[rs]$2', etc., and therefore can't
+ recognize the decimal point.
+ .
+diff -ruN groff-1.22.2.org/src/roff/nroff/nroff.man groff-1.22.2/src/roff/nroff/nroff.man
+--- groff-1.22.2.org/src/roff/nroff/nroff.man	2013-02-07 04:06:08.000000000 -0800
++++ groff-1.22.2/src/roff/nroff/nroff.man	2015-02-13 01:49:25.225825439 -0800
+@@ -18,10 +18,10 @@
+ the original English.
+ ..
+ .
+-.TH @G@NROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
++.TH GNROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
+ .
+ .SH NAME
+-@g@nroff \- emulate nroff command with groff
++gnroff \- emulate nroff command with groff
+ .
+ .SH SYNOPSIS
+ .
+@@ -33,7 +33,7 @@
+ .    RB "[" "\\$1" "]"
+ ..
+ 
+-.SY @g@nroff
++.SY gnroff
+ .OP \-CchipStUvwW
+ .OP \-d cs
+ .OP \-M dir
+@@ -44,10 +44,10 @@
+ .OP \-T name
+ .RI [ file\~ .\|.\|.]
+ .
+-.SY @g@nroff
++.SY gnroff
+ .B \-\-help
+ .
+-.SY @g@nroff
++.SY gnroff
+ .B \-v
+ |
+ .B \-\-version
+@@ -55,7 +55,7 @@
+ .
+ .SH DESCRIPTION
+ The
+-.B @g@nroff
++.B gnroff
+ script emulates the
+ .B nroff
+ command using groff.
+@@ -76,7 +76,7 @@
+ .B \-T
+ command line option (which overrides the environment variable)
+ specifies a (valid) device,
+-.B @g@nroff
++.B gnroff
+ checks the current locale to select a default output device.
+ It first tries the
+ .B locale
+@@ -116,7 +116,7 @@
+ options have the effect described in
+ .BR @g@troff (@MAN1EXT@).
+ In addition,
+-.B @g@nroff
++.B gnroff
+ silently ignores the options
+ .BR \-e ,
+ .BR \-q ,
--- a/components/groff/patches/fix-groffer.patch	Tue Apr 14 19:15:16 2015 -0700
+++ b/components/groff/patches/fix-groffer.patch	Tue Apr 14 21:26:46 2015 -0700
@@ -1,4 +1,5 @@
-Make sure that this groffer sub-script uses the GNU version of soelim.
+This patch comes from in-house and this is Solaris specific patch to use
+the GNU version of soelim.
 
 --- groff-1.22.2/contrib/groffer/perl/func.pl.orig	2013-11-20 13:51:20.387873317 -0800
 +++ groff-1.22.2/contrib/groffer/perl/func.pl	2013-11-20 13:52:29.569174110 -0800
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/groff/patches/nroff_disable_warn.patch	Tue Apr 14 21:26:46 2015 -0700
@@ -0,0 +1,40 @@
+This patch comes from in-house and has been submitted upstream:
+https://savannah.gnu.org/bugs/?44289
+
+--- groff-1.22.2/src/roff/nroff/nroff.sh.org	2015-02-07 19:56:25.275467577 +0900
++++ groff-1.22.2/src/roff/nroff/nroff.sh	2015-02-07 20:11:22.308246071 +0900
+@@ -39,7 +39,7 @@
+   IBM-1047)
+     Tloc=cp1047 ;;
+   *)
+-    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 | \
+@@ -65,6 +65,7 @@
+ 
+ Topt=
+ opts=
++disable_error=
+ for i
+   do
+   case $1 in
+@@ -72,6 +73,9 @@
+       opts="$opts -P-c" ;;
+     -h)
+       opts="$opts -P-h" ;;
++    -E)
++      opts="$opts -E"
++      disable_error="2> /dev/null" ;;
+     -[eq] | -s*)
+       # ignore these options
+       ;;
+@@ -133,6 +137,6 @@
+ 
+ # Load nroff-style character definitions too.
+ 
+-PATH="$GROFF_RUNTIME$PATH" groff -mtty-char $T $opts ${1+"$@"}
++PATH="$GROFF_RUNTIME$PATH" eval groff -mtty-char $T $opts ${1+"$@"} $disable_error
+ 
+ # eof