Hi!

I have recently upgraded groff(1) to the latest released version.

Groff(1) provides two kind of data files: device files (ones that
installed into /usr/share/groff_font), and macro package files
(ones that installed into /usr/share/tmac).  New groff(1) versions
are likely to supply new files of both types.

The typical world build uses groff(1) to build documentation
(which is later installed into /usr/share/doc).

The attached patches (p4 and p5) try to solve this bootstrapping
problem with groff(1).  I have lightly tested this on my -stable
box, and would appreciate a feedback on them.

The p5 patch is for -current, and p4 is for -stable.

<PS>
There is still at least one issue not resolved with this patch.
One can specify MANBUILDCAT=YES (does anyone have this?) to ask
the system to build preformatted manual pages (see bsd.man.mk
for details).  This will use mdoc(7) and man(7) macro packages
from /usr/share/tmac while they should be taken from
${WORLDTMP}/usr/share/tmac.
</PS>


Cheers,
-- 
Ruslan Ermilov          Oracle Developer/DBA,
[EMAIL PROTECTED]           Sunbay Software AG,
[EMAIL PROTECTED]          FreeBSD committer,
+380.652.512.251        Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age
Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.179
diff -u -r1.179 Makefile.inc1
--- Makefile.inc1       2000/12/03 20:29:31     1.179
+++ Makefile.inc1       2000/12/08 16:02:05
@@ -168,6 +168,7 @@
                COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \
                LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib \
                OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
+               TRFLAGS="-F${WORLDTMP}/usr/share/groff_font 
+-M${WORLDTMP}/usr/share/tmac" \
                PERL5LIB=${WORLDTMP}/usr/libdata/perl/5.6.0
 
 # bootstrap-tool stage
@@ -200,16 +201,6 @@
                PATH=${STRICTTMPPATH}:${INSTALLTMP}
 IMAKE=         ${IMAKEENV} ${MAKE} -f Makefile.inc1
 
-USRDIRS=       usr/bin usr/lib/compat/aout usr/games usr/libdata/ldscripts \
-               usr/libexec/${OBJFORMAT} usr/sbin usr/share/misc
-
-.if ${MACHINE_ARCH} == "i386" && ${MACHINE} == "pc98"
-USRDIRS+=      usr/libexec/aout
-.endif
-
-INCDIRS=       arpa g++/std objc protocols readline rpc rpcsvc openssl \
-               security ss
-
 #
 # buildworld
 #
@@ -224,7 +215,7 @@
 .if !defined(NOCLEAN)
        rm -rf ${WORLDTMP}
 .else
-       for dir in bin games include lib sbin; do \
+       for dir in bin games include lib sbin share; do \
                rm -rf ${WORLDTMP}/usr/$$dir; \
        done
        rm -f ${WORLDTMP}/sys
@@ -232,12 +223,7 @@
        # This is beyond dirty...
        rm -f ${OBJTREE}${.CURDIR}/gnu/usr.bin/cc/cc_tools/.depend
 .endif
-.for _dir in ${USRDIRS}
-       mkdir -p ${WORLDTMP}/${_dir}
-.endfor
-.for _dir in ${INCDIRS}
-       mkdir -p ${WORLDTMP}/usr/include/${_dir}
-.endfor
+       cd ${.CURDIR}; ${BMAKE} hierarchy
        ln -sf ${.CURDIR}/sys ${WORLDTMP}/sys
        @echo
        @echo "--------------------------------------------------------------"
@@ -528,7 +514,7 @@
 
 bootstrap-tools:
 .for _tool in ${_strfile} usr.bin/yacc usr.bin/colldef usr.sbin/config \
-    gnu/usr.bin/gperf gnu/usr.bin/texinfo
+    gnu/usr.bin/gperf gnu/usr.bin/groff gnu/usr.bin/texinfo
        cd ${.CURDIR}/${_tool}; \
                ${MAKE} obj; \
                ${MAKE} depend; \
Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.141.2.18
diff -u -r1.141.2.18 Makefile.inc1
--- Makefile.inc1       2000/12/01 21:58:09     1.141.2.18
+++ Makefile.inc1       2000/12/08 16:02:16
@@ -168,6 +168,7 @@
                COMPILER_PATH=${WORLDTMP}/usr/libexec:${WORLDTMP}/usr/bin \
                LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib \
                OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
+               TRFLAGS="-F${WORLDTMP}/usr/share/groff_font 
+-M${WORLDTMP}/usr/share/tmac" \
                PERL5LIB=${WORLDTMP}/usr/libdata/perl/5.00503
 
 # bootstrap-tool stage
@@ -198,16 +199,6 @@
                PATH=${STRICTTMPPATH}:${INSTALLTMP}
 IMAKE=         ${IMAKEENV} ${MAKE} -f Makefile.inc1
 
-USRDIRS=       usr/bin usr/lib/compat/aout usr/games usr/libdata/ldscripts \
-               usr/libexec/${OBJFORMAT} usr/sbin usr/share/misc
-
-.if ${MACHINE_ARCH} == "i386" && ${MACHINE} == "pc98"
-USRDIRS+=      usr/libexec/aout
-.endif
-
-INCDIRS=       arpa g++/std objc protocols readline rpc rpcsvc openssl \
-               security ss
-
 #
 # buildworld
 #
@@ -222,7 +213,7 @@
 .if !defined(NOCLEAN)
        rm -rf ${WORLDTMP}
 .else
-       for dir in bin games include lib sbin; do \
+       for dir in bin games include lib sbin share; do \
                rm -rf ${WORLDTMP}/usr/$$dir; \
        done
        rm -f ${WORLDTMP}/sys
@@ -230,12 +221,7 @@
        # This is beyond dirty...
        rm -f ${OBJTREE}${.CURDIR}/gnu/usr.bin/cc/cc_tools/.depend
 .endif
-.for _dir in ${USRDIRS}
-       mkdir -p ${WORLDTMP}/${_dir}
-.endfor
-.for _dir in ${INCDIRS}
-       mkdir -p ${WORLDTMP}/usr/include/${_dir}
-.endfor
+       cd ${.CURDIR}; ${BMAKE} hierarchy
        ln -sf ${.CURDIR}/sys ${WORLDTMP}/sys
        @echo
        @echo "--------------------------------------------------------------"
@@ -509,7 +495,7 @@
 
 bootstrap-tools:
 .for _tool in ${_strfile} usr.bin/yacc usr.bin/colldef usr.sbin/config \
-    gnu/usr.bin/gperf gnu/usr.bin/texinfo
+    gnu/usr.bin/gperf gnu/usr.bin/groff gnu/usr.bin/texinfo
        cd ${.CURDIR}/${_tool}; \
                ${MAKE} obj; \
                ${MAKE} depend; \

Reply via email to