分享
 
 
 

info文件是什么?有什么用?请详细.

王朝知道·作者佚名  2009-08-12
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 操作系統/系統故障
 
參考答案:

新版本的texinfo包含了一个叫install-info的工具.如果你的port安装了任何info文件,请阅读这一章,虽然很长,但内容很重要,如果你能按照来做,工作会是相当漂亮的.

首先要知道:

% install-info --help

install-info [OPTION]... [INFO-FILE [DIR-FILE]]

Install INFO-FILE in the Info directory file DIR-FILE.

Options:

--delete Delete existing entries in INFO-FILE;

don't insert any new entries.

:

--entry=TEXT Insert TEXT as an Info directory entry.

:

--section=SEC Put this file's entries in section SEC of the directory. :

注意: 这个程序并不实际安装info文件.只是插入或删除目录文件的实体.

这里有7个步骤使你的port使用install-info.使用editors/emacs 为例.

察看texinfo的源文件,在没有@dircategory和@direntry的文件添加,补丁如下.

--- ./man/vip.texi.org Fri Jun 16 15:31:11 1995

+++ ./man/vip.texi Tue May 20 01:28:33 1997

@@ -2,6 +2,10 @@

@setfilename ../info/vip

@settitle VIP

+@dircategory The Emacs editor and associated tools

+@direntry

+* VIP: (vip). A VI-emulation for Emacs.

+@end direntry

@iftex

@finalout

:

注意: 每个文件只能包含一个info实体,因为install-info --delete有个bug.如果你在@direntry定义了多个实体,只能删除第一个.

会到port目录,make clean;make.确定所有的info文件从原码中重新编译.因为texinfo源文件比info文件新,所以当你输入make时,会重新编译.但很多makefile文件没有包含一个正确的info依赖,所以你需要修改主Makefile.in文件,使他可以进入man子目录重新编译info文件.

--- ./Makefile.in.org Mon Aug 19 21:12:19 1996

+++ ./Makefile.in Tue Apr 15 00:15:28 1997

@@ -184,7 +184,7 @@

# Subdirectories to make recursively. `lisp' is not included

# because the compiled lisp files are part of the distribution

# and you cannot remake them without installing Emacs first.

-SUBDIR = lib-src src

+SUBDIR = lib-src src man

# The makefiles of the directories in $SUBDIR.

SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile

lwlib/Makefile

--- ./man/Makefile.in.org Thu Jun 27 15:27:19 1996

+++ ./man/Makefile.in Tue Apr 15 00:29:52 1997

@@ -66,6 +66,7 @@

${srcdir}/gnu1.texi \

${srcdir}/glossary.texi

+all: info

info: $(INFO_TARGETS)

dvi: $(DVI_TARGETS)

因为man子目录中的目标是info.而主Makefile调用的是all,所以第二段是必要的.

如果在Makefile.in中存在一个安装dir文件的地方,请删除他.你的port不需要这么做.同样删除于此有关的信息.

--- ./Makefile.in.org Mon Aug 19 21:12:19 1996

+++ ./Makefile.in Mon Apr 14 23:38:07 1997

@@ -368,14 +368,8 @@

if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \

then \

(cd ${infodir}; \

- if [ -f dir ]; then \

- if [ ! -f dir.old ]; then mv -f dir dir.old; \

- else mv -f dir dir.bak; fi; \

- fi; \

cd ${srcdir}/info ; \

- (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir);

\

- (cd $${thisdir}; chmod a+r ${infodir}/dir); \

for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* sc* vip*; do \

(cd $${thisdir}; \

${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \

chmod a+r ${infodir}/$$f); \

(这一步仅仅在你修改一个存在的port时需要)察看以下pkg-plist文件,删除任何要patch up info/dir的信息.可能在pkg-install文件和其他文件中也存在,你需要搜索以下.

Index: pkg-plist

===================================================================

RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v

retrieving revision 1.15

diff -u -r1.15 pkg-plist

--- pkg-plist 1997/03/04 08:04:00 1.15

+++ pkg-plist 1997/04/15 06:32:12

@@ -15,9 +15,6 @@

man/man1/emacs.1.gz

man/man1/etags.1.gz

man/man1/ctags.1.gz

-@unexec cp %D/info/dir %D/info/dir.bak

-info/dir

-@unexec cp %D/info/dir.bak %D/info/dir

info/cl

info/cl-1

info/cl-2

在Makefile中添加一个post-install行为调用install-info和要安装的info文件.你没有不要创建目录文件.install-info会自动创建.

Index: Makefile

===================================================================

RCS file: /usr/cvs/ports/editors/emacs/Makefile,v

retrieving revision 1.26

diff -u -r1.26 Makefile

--- Makefile 1996/11/19 13:14:40 1.26

+++ Makefile 1997/05/20 10:25:09 1.28

@@ -20,5 +20,8 @@

post-install:

.for file in emacs-19.34 emacsclient etags ctags b2m

strip ${PREFIX}/bin/${file}

.endfor

+.for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode

+ install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir

+.endfor

.include <bsd.port.mk>

修改pkg-plist文件,适当的加入@exec和@unexec.

Index: pkg-plist

===================================================================

RCS file: /usr/cvs/ports/editors/emacs/pkg-plist,v

retrieving revision 1.15

diff -u -r1.15 pkg-plist

--- pkg-plist 1997/03/04 08:04:00 1.15

+++ pkg-plist 1997/05/20 10:25:12 1.17

@@ -16,7 +14,14 @@

man/man1/etags.1.gz

man/man1/ctags.1.gz

+@unexec install-info --delete %D/info/emacs %D/info/dir

:

+@unexec install-info --delete %D/info/ccmode %D/info/dir

info/cl

info/cl-1

@@ -87,6 +94,18 @@

info/viper-3

info/viper-4

+@exec install-info %D/info/emacs %D/info/dir

:

+@exec install-info %D/info/ccmode %D/info/dir

libexec/emacs/19.34/i386--freebsd/cvtmail

libexec/emacs/19.34/i386--freebsd/digest-doc

注意: @unexec install-info --delete应该在info文件之前出现.@exec install-info命令应该在info文件之后,这个@exec会创建需要的目录.

测试 注意每一步是否达到目的.

参考资料:

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有