预计所需编译时间: 0.1 SBU 预计所需硬盘空间: 1.9MB |
Man 依赖于: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Sed.
我们要对man的源码做三个调整。
第一个补丁注释了man.conf文件中的一行(MANPATH /usr/man),因为在运行像whatis这样的程序时它会产生多余的结果:
patch -Np1 -i ../man-1.5m2-manpath.patch |
第二个补丁在PAGER变量中加了-R参数,以正确的处理escape序列:
patch -Np1 -i ../man-1.5m2-pager.patch |
最后一个补丁预防了当与groff的最近发布相结合使用时,man手册页不大于80列会发生的问题:
patch -Np1 -i ../man-1.5m2-80cols.patch |
为编译 Man 做准备:
./configure -default -confdir=/etc |
configure参数的意思是:
-default: 这个参数告诉configure脚本采用一些缺省设置,比如:只有英文的man手册页,没有消息列表,man不是suid程序,处理压缩的man文档,压缩cat页,当合适的目录存在时,就创建cat页,把cat页放到/var/cache/man以遵守FHS规范。
-confdir=/etc: 这个参数告诉 man 在/etc目录里找配置文件 man.conf。
编译软件包:
make |
安装软件包:
make install |
注: 如果你要禁止 SGR escape序列,你应该编辑man.conf 文件,并给 nroff 加上-c 参数。
你可能想看看BLFS中的 http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/compressdoc.html,它讲了压缩和格式化 man 手册页的内容。