misc/145212: Feature Request: Be able to build FreeBSD with man utilities but not with man pages

Alexander Sack asack at niksun.com
Tue Mar 30 16:10:09 UTC 2010


>Number:         145212
>Category:       misc
>Synopsis:       Feature Request: Be able to build FreeBSD with man utilities but not with man pages
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 30 16:10:08 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Sack
>Release:        7.2-amd64, CURRENT
>Organization:
Niksun
>Environment:
>Description:
Currently the WITHOUT_MAN option to the FreeBSD world build will stub out BOTH man binaries (gnu/usr.bin/man ad manpath, usr.bin/catman, etc.) as well as creation of the man pages.

I would like to build able to build FreeBSD with the man utilities but not the man pages since we want to conserve space BUT be able to read third-party or custom application generated man pages.

I propose a MK_MAN_UTILS option that allows the following:

WITHOUT_MAN=1 WITH_MAN_UTILS=1 make buildworld

Will build the entire world sans man pages but with binaries

WITHOUT_MAN=1 make buildworld

Will build the entire world without man pages OR man binaries (existing behavior)

WITHOUT_MAN_UTILS=1 make buildworld

Will build the entire world without man pages or man binaries (if you have no  binaries how are you going to read man pages!) - in other words:

WITH_MAN=1 && WITHOUT_MAN_UTILS=1 is illegal

Patches attached against CURRENT.

New file should also be included as well (I forgot it):

$ cat tools/build/options/WITHOUT_MAN_UTILS 
.\" $FreeBSD$
Set to not build any man related utilities such as man, manpath, and catman.

>How-To-Repeat:
Build FreeBSD using src.conf option WITHOUT_MAN=1 and no man utilities will be included in your runtime.
>Fix:


Patch attached with submission follows:

Index: etc/Makefile
===================================================================
RCS file: /home/ncvs/src/etc/Makefile,v
retrieving revision 1.381
diff -u -r1.381 Makefile
--- etc/Makefile	19 Mar 2010 15:53:02 -0000	1.381
+++ etc/Makefile	30 Mar 2010 14:38:03 -0000
@@ -64,7 +64,7 @@
 BIN1+=	${.CURDIR}/../usr.bin/mail/misc/mail.rc
 .endif
 
-.if ${MK_MAN} != "no"
+.if ${MK_MAN_UTILS} != "no"
 BIN1+=	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config
 .endif
 
Index: gnu/usr.bin/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/Makefile,v
retrieving revision 1.102
diff -u -r1.102 Makefile
--- gnu/usr.bin/Makefile	26 Mar 2010 17:02:32 -0000	1.102
+++ gnu/usr.bin/Makefile	30 Mar 2010 14:38:04 -0000
@@ -39,7 +39,7 @@
 _texinfo=	texinfo
 .endif
 
-.if ${MK_MAN} != "no"
+.if ${MK_MAN_UTILS} != "no"
 _man=		man
 .endif
 
Index: share/mk/bsd.own.mk
===================================================================
RCS file: /home/ncvs/src/share/mk/bsd.own.mk,v
retrieving revision 1.83
diff -u -r1.83 bsd.own.mk
--- share/mk/bsd.own.mk	26 Mar 2010 17:02:32 -0000	1.83
+++ share/mk/bsd.own.mk	30 Mar 2010 14:38:15 -0000
@@ -524,7 +524,8 @@
 # MK_* options whose default value depends on another option.
 #
 .for vv in \
-    GSSAPI/KERBEROS
+    GSSAPI/KERBEROS \
+    MAN_UTILS/MAN 
 .if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H})
 .error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set.
 .endif
Index: usr.bin/Makefile
===================================================================
RCS file: /home/ncvs/src/usr.bin/Makefile,v
retrieving revision 1.332
diff -u -r1.332 Makefile
--- usr.bin/Makefile	19 Feb 2010 23:54:12 -0000	1.332
+++ usr.bin/Makefile	30 Mar 2010 14:38:29 -0000
@@ -253,7 +253,7 @@
 _atm=		atm
 .endif
 
-.if ${MK_MAN} != "no"
+.if ${MK_MAN_UTILS} != "no"
 _catman=	catman
 .endif
 


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list