Chapter 11 Info ¥Õ¥¡¥¤¥ë

¿·¤·¤¤ÈǤΠtexinfo (2.2.2-RELEASE ¤ª¤è¤Ó¤½¤ì°Ê¹ß¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹) ¤Ë¤Ï install-info ¤È¤¤¤¦¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢ dir ¥Õ¥¡¥¤¥ë¤Ë¹àÌܤòÄɲä·¤¿¤êºï½ü¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤â¤·¡¢¤¢¤Ê¤¿¤Î port ¤¬ info ʸ½ñ¤ò¥¤¥ó¥¹¥È¡¼ ¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ °Ê²¼¤Î»Ø¼¨¤Ë½¾¤Ã¤Æ¤½¤Î port ¤ª¤è¤Ó package ¤¬Àµ¤·¤¯¥æ¡¼¥¶¤Î PREFIX/info/dir ¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤ (¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¤È¤Æ¤âŤ¯¤Æ¤¹¤¤¤Þ¤»¤ó¡£ ¤·¤«¤· info ¥Õ¥¡¥¤¥ë¤òºî¤ê¤¢¤²¤ë¤¿¤á¤Ë¤Ï¤³¤ì¤é¤ÏÉԲķç¤Ç¤¹¡£ Àµ¤·¤¯¹Ô¤Ê¤¨¤ÐÈþ¤·¤¤¥ê¥¹¥È¤¬¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢ ¿ÉÊú¤·¤Æ¤¯¤À¤µ¤¤! :-)

¤Þ¤º¡¢¤³¤ì¤òÃΤäƤª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

% install-info --help
install-info [OPTION]... [INFO-FILE [DIR-FILE]]
  Install INFO-FILE in the Info directory file DIR-FILE.
  (ÌõÃí: Info ¥Ç¥£¥ì¥¯¥È¥ê¤Î INFO-FILE ¤ò DIR-FILE ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë)
Options:
--delete          Delete existing entries in INFO-FILE;
                    don't insert any new entries.
                  (ÌõÃí: INFO-FILE ¤ÎÃæ¤Î¹àÌܤòºï½ü¡¢
                   ¿·¤·¤¤¹àÌܤϰìÀÚÄɲ䷤ʤ¤¡£)
 :
--entry=TEXT      Insert TEXT as an Info directory entry.
                  (ÌõÃí: TEXT ¤ò Info ¥Ç¥£¥ì¥¯¥È¥ê¤Î¹àÌܤȤ·¤ÆÄɲ乤롣)
 :
--section=SEC     Put this file's entries in section SEC of the directory.
                  (ÌõÃí: ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¹àÌܤò Info ¥Ç¥£¥ì¥¯¥È¥ê¤Î SEC
                   ¤È¤¤¤¦¥»¥¯¥·¥ç¥ó¤ËÃÖ¤¯¡£)
 :

Note: ¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¢¼ÂºÝ¤Ë¤Ï info ¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤»¤ó¡£ ñ¤Ë dir ¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¤òÁÞÆþ¤·¤¿¤êºï½ü¤·¤¿¤ê¤¹¤ë¤À¤±¤Ç¤¹¡£

¤³¤ì¤«¤é¡¢install-info ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¡¢ports ¤òÊÑ´¹¤¹¤ë 7 Ãʳ¬¤Î¹©Äø¤ò¼¨¤·¤Þ¤¹¡£ Îã¤È¤·¤Æ editors/emacs ¤ò»ÈÍѤ·¤Þ¤¹¡£

  1. ¤Þ¤º¡¢texinfo ¤Î¥½¡¼¥¹¤ò¸«¤Æ¡¢ @dircategory ¤È @direntry ʸ¤¬¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¡¢ ¤½¤ì¤é¤òÄɲ乤ë¥Ñ¥Ã¥Á¤òºîÀ®¤·¤Þ¤¹¡£°Ê²¼¤Ï¡¢ ¤³¤³¤Ç¤ÎÎã¤Ç¤Î patch¤Î°ìÉô¤Ç¤¹:

    --- ./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
     :
    

    ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï¸«¤ì¤Ð¤ï¤«¤ë¤È»×¤¤¤Þ¤¹¡£ dir ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ËɬÍפʹàÌܤò½ñ¤¤¤Æ¤ª¤¤¤Æ¤¯¤ì¤ëºî¼Ô¤â¿¤¤¤Î¤Ç¡¢ ¤Þ¤º¼«Ê¬¤Ç½ñ¤¯Á°¤Ë¤µ¤¬¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢´Ø·¸¤¹¤ë ports ¤âÄ´¤Ù¤Æ¡¢ ¥»¥¯¥·¥ç¥ó¤Î̾Á°¤ä¥¤¥ó¥Ç¥ó¥È¤Ê¤É¤¬¤­¤Á¤ó¤È¹ç¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤ (¹àÌܤΥƥ­¥¹¥È ¤Ï¡¢¤¹¤Ù¤Æ 4 ¤Ä¤á¤Î¥¿¥Ö¡¦¥¹¥È¥Ã¥× (tab stop) ¤«¤é»Ï¤á¤ë¤³¤È¤ò¿ä¾©¤·¤Þ¤¹)¡£

    Note: °ì¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ°ì¤Ä¤Î info ¤Î¹àÌܤ·¤«½ñ¤±¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï install-info --delete ¤Î¥Ð¥°¤Ë¤è¤ê ¥»¥¯¥·¥ç¥ó¤ËÊ£¿ô¤Î¹àÌܤò½ñ¤¤¤Æ¤â½é¤á¤Î°ì¤Ä¤Î¹àÌܤ·¤«ºï½ü¤·¤Æ¤¯¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£

    texinfo ¤Î¥½¡¼¥¹¤Ë¥Ñ¥Ã¥Á¤òŬÍѤ¹¤ëÂå¤ï¤ê¤Ë dir ¤Î¹àÌܤò install-info ¤Î°ú¿ô (--section, --entry) ¤È¤·¤ÆÍ¿¤¨¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤¢¤Þ¤êÎɤ¤ÊýË¡¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£ ¤Ê¤¼¤Ê¤éƱ¤¸¾ðÊó¤ò»°¤Ä¤Î¾ì½ê (Makefile, pkg-plist ¤Î @exec/@unexec: °Ê²¼»²¾È) ¤Ë½ÅÊ£¤·¤Æ½ñ¤¯É¬Íפ¬¤¢¤ë¤«¤é¤Ç¤¹¡£ ¤·¤«¤·¡¢ÆüËܸì (¤¢¤ë¤¤¤Ï¡¢Â¾¤Î¥Þ¥ë¥Á¥Ð¥¤¥È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°) ¤Î info ¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï install-info ¤ÎÆÃÊ̤ʰú¿ô¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤Ê¤¼¤Ê¤é makeinfo ¤¬¤³¤Î¤è¤¦¤Ê texinfo ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò°·¤¨¤Ê¤¤¤«¤é¤Ç¤¹¡£ (¤³¤Î¤è¤¦¤Ê¤â¤Î¤ò¤É¤¦°·¤¦¤«¤ÎÎã¤È¤·¤Æ¤Ï japanese/skk ¤Î Makefile ¤È pkg-plist ¤ò¸«¤Æ¤¯¤À¤µ¤¤)¡£

  2. port¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤Æ make clean; make ¤ò¼Â¹Ô¤·¡¢info ¥Õ¥¡¥¤¥ë¤¬ texinfo ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤éºÆ¤ÓÀ¸À®¤µ¤ì¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£ texinfo ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¤Û¤¦¤¬ info ¥Õ¥¡¥¤¥ë¤è¤ê¤â¿·¤·¤¤¤Î¤Ç make ¤ÈÆþÎϤ¹¤ì¤Ð info ¥Õ¥¡¥¤¥ë¤ÏºÆ¹½ÃÛ¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢Â¿¤¯¤Î Makefile ¤Ë¤Ï info ¥Õ¥¡¥¤¥ë¤ÎÀµ¤·¤¤°Í¸´Ø·¸¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤»¤ó¡£ Emacs ¤Î¾ì¹ç¡¢ info ¥Õ¥¡¥¤¥ë¤ÎºÆ¹½ÃÛ¤ÎºÝ¤Ë¤Ï man ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¹ß¤ê¤ë¤è¤¦¤Ë ¥á¥¤¥ó¤Î Makefile.in ¤Ë¥Ñ¥Ã¥Á¤òŬÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤·¤¿¡£

    --- ./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)
    

    ¥á¥¤¥ó¤Î Makefile ¤«¤é¤Ï¡¢ all ¤È¤·¤Æ¸Æ¤Ó¤¿¤¤¤Î¤Ç¤¹¤¬¡¢ man ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Î¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È¤Ï info ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¤¿¤á¡¢Æó¤ÄÌܤΥѥåÁ¤¬É¬Íפˤʤê¤Þ¤¹¡£ ¤Þ¤¿¡¢info info ¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¤âºï½ü¤·¤Þ¤·¤¿¡£ ¤Ê¤¼¤Ê¤é¡¢¤½¤ì¤ÏƱ¤¸Ì¾Á°¤Ç¤¹¤Ç¤Ë /usr/share/info ¤Ë¤¢¤ë¤«¤é¤Ç¤¹ (¤½¤Î¥Ñ¥Ã¥Á¤Ï¤³¤³¤Ç¤Ï¼¨¤·¤Þ¤»¤ó)¡£

  3. ¤â¤·¡¢Makefile ¤Ë dir ¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¸Ä½ê¤¬¤¢¤ì¤Ðºï½ü¤·¤Þ¤¹¡£ ¤¢¤Ê¤¿¤Î port ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢dir ¥Õ¥¡¥¤¥ë¤ò²õ¤·¤Æ¤·¤Þ¤¦¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ÎÎà¤âºï½ü¤·¤Þ¤¹¡£

    --- ./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); \
    
  4. (¤³¤ì¤Ï¡¢´û¸¤Îport¤ò½¤Àµ¤¹¤ë¤È¤­¤Î¤ßɬÍפǤ¹¡£) pkg-plist ¤ò¸«¤Æ¡¢ info/dir ¤Ë¥Ñ¥Ã¥Á¤ò¤¢¤Æ¤è¤¦¤È¤¹¤ë¤â¤Î¤¹¤Ù¤Æ¤òºï½ü¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï pkg-install ¤ä¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤Ë¤â¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡¢ ¤¤¤í¤¤¤í¤µ¤¬¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

    Index: pkg-plist
    ===================================================================
    RCS file: /usr/cvs/ports/editors/emacs/pkg/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
    
  5. post-install ¥¿¡¼¥²¥Ã¥È¤ò Makefile ¤Ë²Ã¤¨¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ info ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢ install-info ¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤·¤Þ¤¹ (dir ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤½¤ì¤òºîÀ®¤¹¤ë¤è¤¦¤Ë¤¹¤ëɬÍפϤʤ¯¤Ê¤ê¤Þ¤·¤¿¡£ 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,11 @@
     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>
    
  6. pkg-plist ¤òÊÔ½¸¤·¤Æ¡¢Æ±¤¸Æ¯¤­¤ò¤¹¤ë @exec ʸ¡¢ ¤½¤ì¤Ë pkg_delete ¤Î¤¿¤á¤Ë @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
    

    Note: @unexec install-info --delete ¥³¥Þ¥ó¥É¤Ï info ¥Õ¥¡¥¤¥ë¼«¿È¤è¤êÀè¤ËÃÖ¤­¡¢ ¥³¥Þ¥ó¥É¤¬¥Õ¥¡¥¤¥ë¤òÆÉ¤á¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿ @exec install-info ¥³¥Þ¥ó¥É¤Ï¡¢ info ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó dir ¥Õ¥¡¥¤¥ë¤òºî¤ë @exec ¥³¥Þ¥ó¥É¤è¤ê¸å¤Ë¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

  7. ¥Æ¥¹¥È ¤ò¤·¤Æ½ÐÍè±É¤¨¤Ë´¶Éþ¤·¤Þ¤·¤ç¤¦ :) ³ÆÃʳ¬¤ÎÁ°¸å¤Ë dir ¥Õ¥¡¥¤¥ë¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤·¤ç¤¦¡£

FreeBSD ports ¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¼ÁÌä¤Ï¡¢(±Ñ¸ì¤Ç) <ports@FreeBSD.org> ¤Ø¡¢
¤³¤Îʸ½ñ¤Î¸¶Ê¸¤Ë´Ø¤¹¤ë¤ªÌ䤤¹ç¤ï¤»¤Ï¡¢(±Ñ¸ì¤Ç) <doc@FreeBSD.org> ¤Þ¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£