FreeBSD port ºîÀ®¼Ô¤Î¤¿¤á¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯

FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È

¤³¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ï FreeBSD ¤Î port ºîÀ®¼Ô (porter) ¸þ¤±¤Ë, ¶ñÂÎŪ¤Ê port ¤ÎºîÀ®ÊýË¡¤äÃí°ÕÅÀ¤Ê¤É¤ò¤Þ¤È¤á¤¿¤â¤Î¤Ç¤¹.

ÆüËܸìÈǤκîÀ®¤Ï FreeBSD ÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ¥×¥í¥¸¥§¥¯¥È (FreeBSD doc-jp) ¤¬¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹. ÆüËܸìÌõ¤ª¤è¤Ó, ÆüËܸìÈǤΤߤ˴ؤ¹¤ë¤³¤È¤Ï FreeBSD ÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È ¤Ë ¤ª¤¤¤ÆÆüËܸì¤ÇµÄÏÀ¤µ¤ì¤Æ¤¤¤Þ¤¹.

ʸ½ñ¤ÎÆüËܸìÌõ¤Ë´Ø¤¹¤ë¤ªÌ䤤¹ç¤ï¤»¤ä, ʸ½ñ¤Î¸¶Ê¸¤Ë´Ø¤¹¤ëÌ䤤¹ç¤ï¤»¤ò¤·¤¿¤¤¤¬±Ñ¸ì¤¬ÆÀ°Õ¤Ç¤Ê¤¤¤È¤¤¤¦Êý¤Ï, FreeBSD ÆüËܸì¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È ¤Þ¤ÇÆüËܸì¤Ç¥³¥á¥ó¥È¤ò¤ª´ó¤»¤¯¤À¤µ¤¤.

Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.

  2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Important: THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Table of Contents
1. ¼«Ê¬¤Ç port ¤òºîÀ®¤¹¤ë¤Ë¤Ï
2. 3 ʬ´Ö porting
2.1. Makefile ¤ÎºîÀ®
2.2. package µ­½Ò¥Õ¥¡¥¤¥ë¤ÎºîÀ®
2.2.1. pkg-comment
2.2.2. pkg-descr
2.2.3. pkg-plist
2.3. ¥Á¥§¥Ã¥¯¥µ¥à¥Õ¥¡¥¤¥ë¤ÎºîÀ®
2.4. port ¤Î¥Æ¥¹¥È
2.5. portlint ¤Ë¤è¤ë¥Á¥§¥Ã¥¯
2.6. port ¤ÎÄó½Ð
3. ËܳÊŪ¤Ê port
3.1. port ¹½ÃۤξܺÙ
3.2. ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¤ÎÆþ¼ê
3.3. port ¤Î½¤Àµ
3.4. ¥Ñ¥Ã¥Á¤ÎŬÍÑ
3.5. ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó
3.6. ¥æ¡¼¥¶¤«¤é¤ÎÆþÎϤΰ·¤¤
4. Makefile ¤ÎºîÀ®
4.1. ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹
4.2. PORTNAME ¤ª¤è¤Ó PORTVERSION
4.3. PORTREVISION ¤ª¤è¤Ó PORTEPOCH
4.3.1. PORTREVISION
4.3.2. PORTEPOCH
4.3.3. PORTREVISION ¤È PORTEPOCH ¤Î»È¤¤Êý¤ÎÎã
4.4. PKGNAMEPREFIX ¤ª¤è¤Ó PKGNAMESUFFIX
4.5. DISTNAME
4.6. CATEGORIES
4.7. MASTER_SITES
4.8. PATCHFILES
4.9. MAINTAINER
4.10. °Í¸´Ø·¸
4.10.1. LIB_DEPENDS
4.10.2. RUN_DEPENDS
4.10.3. BUILD_DEPENDS
4.10.4. FETCH_DEPENDS
4.10.5. DEPENDS
4.10.6. ¤è¤¯¤¢¤ë°Í¸´Ø·¸¤òɽ¤¹ÊÑ¿ô
4.10.7. °Í¸´Ø·¸¤Ë´Ø¤¹¤ëÃí°Õ
4.11. ¥ª¥×¥·¥ç¥óÁªÂò²Äǽ¤Ê°Í¸¥é¥¤¥Ö¥é¥ê
4.12. ¥Ó¥ë¥É¤Î¥á¥«¥Ë¥º¥à
5. ÆÃÊ̤ÊÇÛθ
5.1. ¶¦Í­¥é¥¤¥Ö¥é¥ê
6. MASTERDIR
7. ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó
8. ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
9. Motif ¤òɬÍפȤ¹¤ë port
9.1. REQUIRES_MOTIF
9.2. MOTIFLIB
10. X11 ¤Î¥Õ¥©¥ó¥È
11. Info ¥Õ¥¡¥¤¥ë
12. pkg-* ¥Õ¥¡¥¤¥ë
12.1. pkg-message
12.2. pkg-install
12.3. pkg-req
12.4. make ¤ÎÊÑ¿ô¤Ë¤¢¤ï¤»¤¿ pkg-plist ¤ÎÊѹ¹
12.5. pkg-*¥Õ¥¡¥¤¥ë¤Î̾Á°Êѹ¹
13. ¥é¥¤¥»¥ó¥¹¾å¤ÎÌäÂê
14. ¥¢¥Ã¥×¥°¥ì¡¼¥É
15. ¤ä¤Ã¤Æ¤¤¤¤¤³¤È¤È¤¤¤±¤Ê¤¤¤³¤È
15.1. ¥Ð¥¤¥Ê¥ê¤Î strip
15.2. INSTALL_* ¥Þ¥¯¥í
15.3. WRKDIR
15.4. WRKDIRPREFIX
15.5. OS ¤Î¼ïÎà¤ä¥Ð¡¼¥¸¥ç¥ó¤Î¼±ÊÌ
15.6. bsd.port.mk ¤Î¸å¤Ë½ñ¤¯¤³¤È
15.7. ÉÕ²ÃŪ¤Êʸ½ñ¤Î¥¤¥ó¥¹¥È¡¼¥ë
15.8. DIST_SUBDIR
15.9. package ¾ðÊó
15.10. RCS ʸ»úÎó
15.11. ºÆµ¢Åª diff
15.12. PREFIX
15.13. ¥Ç¥£¥ì¥¯¥È¥ê¹½À®
15.14. ¶õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Îºï½ü
15.15. UID
15.16. ¹çÍýŪ¤Ê port
15.17. CFLAGS ¤Îº½Å
15.18. ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó (ÀßÄê) ¥Õ¥¡¥¤¥ë
15.19. portlint
15.20. ¥Õ¥£¡¼¥É¥Ð¥Ã¥¯
15.21. README.html
15.22. ¤½¤Î¾½ô¡¹
15.23. º¤¤Ã¤¿¤é....
16. Makefile ¤Î¥µ¥ó¥×¥ë
17. ¥Ñ¥Ã¥­¥ó¥°¥ê¥¹¥È¤Î¼«Æ°À¸À®
18. package ¤Î̾Á°
19. ¥«¥Æ¥´¥ê
19.1. ¸½ºß¤Î¥«¥Æ¥´¥ê¤Î¥ê¥¹¥È
19.2. ŬÀڤʥ«¥Æ¥´¥ê¤ÎÁªÂò
20. ¤³¤Îʸ½ñ¤È ports ¥·¥¹¥Æ¥à¤ÎÊѹ¹
21. ¤ä¤Ã¤È¤ª¤·¤Þ¤¤!

Chapter 1. ¼«Ê¬¤Ç port ¤òºîÀ®¤¹¤ë¤Ë¤Ï

¼«Ê¬¤Ç port ¤òºî¤ë¤³¤È¤ä, ´û¸¤Î port ¤Î ¹¹¿·ºî¶È¤Ë¶½Ì£¤¬¤¢¤ë¤Î¤Ç¤¹¤«. ¤½¤ì¤Ï¤¹¤Ð¤é¤·¤¤!

¤³¤³¤Ç¤Ï FreeBSD ÍѤΠport ¤òºî¤ëºÝ¤Î ¥¬¥¤¥É¥é¥¤¥ó¤ò¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹. ´û¸¤Î port ¤ò¹¹¿·¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â, ¤Þ¤º¤³¤Î¾Ï¤òÆÉ¤ó¤Ç¤«¤é, ¼¡¤Ë Chapter 14 ¤òÆÉ¤à¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

¤³¤Îʸ½ñ¤Ç¤Ï½¼Ê¬¤Ë¾ÜºÙ¤¬¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï, /usr/ports/Mk/bsd.port.mk ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï, port ¤Î Makefile ¤¬Îã³°¤Ê¤¯¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë¤â¤Î¤Ç¤¹. ¤³¤ì¤Ë¤ÏºÙ¤«¤¯¥³¥á¥ó¥È¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç, Makefile ¤òÆÉ¤à¤Î¤Ë ¤¢¤Þ¤ê´·¤ì¤Æ¤¤¤Ê¤¤¿Í¤Ç¤â, ¤¿¤¯¤µ¤ó¤Î¾ðÊó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦. ¤½¤ì¤Ç¤â²ò·è¤Ç¤­¤Ê¤¤¤è¤¦¤Ê¼ÁÌä¤Ï, FreeBSD ports ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤Ë¥Ý¥¹¥È¤·¤Æ¤ß¤ë¤Î¤â Îɤ¤¤Ç¤·¤ç¤¦.

Note: ¤³¤Îʸ½ñ¤Ç¤Ï, ¾å½ñ¤­²Äǽ¤Ê ÊÑ¿ô (VAR) ¤Î¤¦¤Á °ìÉô¤Î¤â¤Î¤Ë¤Ä¤¤¤Æ¤À¤±½Ò¤Ù¤Æ¤¤¤Þ¤¹. (¤¹¤Ù¤Æ¤Ç¤Ï̵¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬,) ¤Û¤È¤ó¤É¤ÎÊÑ¿ô¤Ï bsd.port.mk ¤ÎÀèÆ¬Éôʬ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤Ê¤ª, ¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÈóɸ½à¤Î¥¿¥ÖÀßÄê¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹. Emacs ¤ä Vim ¤Ï, ¤³¤ÎÀßÄê¤ò¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß»þ¤Ëǧ¼±¤¹¤ë¤Ï¤º¤Ç¤¹. vi ¤È ex ¤Ç¤Ï, °ìö¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤Ç¤«¤é :set tabstop=4 ¤È ¥¿¥¤¥×¤¹¤ë¤³¤È¤Ç, Àµ¤·¤¤ÃͤËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


Chapter 2. 3 ʬ´Ö porting

¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï, ´Êñ¤Ê port ¤Îºî¤êÊý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹. ¿¤¯¤Î¾ì¹ç, ¤³¤ì¤À¤±¤Ç¤ÏÉÔ½¼Ê¬¤Ç¤¹¤¬, ¤Þ¤¢ ¤¦¤Þ¤¯¤¤¤¯¤«¤É¤¦¤«»î¤·¤Æ¤ß¤ÆÂ»¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦.

¤Þ¤º, ¸µ¤Î tar ¥Õ¥¡¥¤¥ë¤ò DISTDIR ¤ËÃÖ¤­¤Þ¤¹. ¤³¤ÎÊÑ¿ô¤Î ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï /usr/ports/distfiles ¤Ç¤¹.

Note: °Ê²¼¤ÎÎã¤Ç¤Ï, ¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤¬ ¤½¤Î¤Þ¤Þ¥³¥ó¥Ñ¥¤¥ë²Äǽ¤Ê¤â¤Î¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹. ¤Ä¤Þ¤ê, FreeBSD ¥Þ¥·¥ó¤Çư¤«¤¹¤¿¤á¤Ë, Êѹ¹¤¬¤Þ¤Ã¤¿¤¯É¬Íפʤ¤¤È¤¤¤¦°ÕÌ£¤Ç¤¹. ¤â¤·²¿¤«Êѹ¹¤¬É¬Íפʾì¹ç¤Ë¤Ï, ¼¡¤Î¥»¥¯¥·¥ç¥ó¤â »²¾È¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦.


2.1. Makefile ¤ÎºîÀ®

ºÇ¾®¸Â¤Î Makefile ¤Ï ¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹.

# New ports collection makefile for:   oneko
# Date created:     5 December 1994
# Whom:             asami
#
# $FreeBSD$
#

PORTNAME=       oneko
PORTVERSION=    1.1b
CATEGORIES=     games
MASTER_SITES=   ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/

MAINTAINER=     asami@FreeBSD.org

MAN1=           oneko.1
MANCOMPRESSED=  yes
USE_IMAKE=      yes

.include <bsd.port.mk>

¤ª¤ï¤«¤ê¤Ç¤·¤ç¤¦¤«. $FreeBSD$ ¤ò ´Þ¤à¹Ô¤ÎÆâÍÆ¤Ë¤Ä¤¤¤Æ¤Ï, µ¤¤Ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó. ¤³¤Î¹Ô¤Ï, ¤³¤Î¥Õ¥¡¥¤¥ë¤¬ FreeBSD ¤Î ports ¥Ä¥ê¡¼¤Ë ¼è¤ê¹þ¤Þ¤ì¤ëºÝ¤Ë, CVS ¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë½ñ¤­¹þ¤Þ¤ì¤Þ¤¹. ¤â¤Ã¤È¾Ü¤·¤¤Î㤬¸«¤¿¤¤¾ì¹ç¤Ë¤Ï, Makefile ¤Î¥µ¥ó¥×¥ë¤Î ¥»¥¯¥·¥ç¥ó¤ò¤´Í÷¤¯¤À¤µ¤¤.


2.2. package µ­½Ò¥Õ¥¡¥¤¥ë¤ÎºîÀ®

package ¤Ë¤¹¤ë¤·¤Ê¤¤¤Ë´Ø¤ï¤é¤º, ¤É¤Î¤è¤¦¤Ê port ¤Ç¤â »°¤Ä¤Îµ­½Ò¥Õ¥¡¥¤¥ë¤¬É¬ÍפǤ¹. ¤½¤ì¤Ï pkg-comment, pkg-descr, ¤È pkg-plist ¤Î£³¤Ä¤Ç, ¥Õ¥¡¥¤¥ë̾¤¬ pkg- ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë¤³¤È¤Ç ¾¤Î¥Õ¥¡¥¤¥ë¤È¶èÊ̤Ǥ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹.


2.2.1. pkg-comment

¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï, ¤½¤Î port ¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤ò°ì¹Ô¤Ç½ñ¤­¤Þ¤¹. package ¤Î̾Á°¤À¤È¤«, ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ê¤É¤ò ´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó. ÀâÌÀ¤ÏÂçʸ»ú¤Ç»Ï¤á, ºÇ¸å¤Ë¥Ô¥ê¥ª¥É¤ÏÉÕ¤±¤Ê¤¤¤Ç¤¯¤À¤µ¤¤. ¤¿¤È¤¨¤Ð, ¤³¤ó¤Ê¶ñ¹ç¤Ç¤¹.

A cat chasing a mouse all over the screen

2.2.2. pkg-descr

¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï, ¤½¤Î port ¤Ë¤Ä¤¤¤Æ¤Î¾¯¤·Ä¹¤¤ÀâÌÀ¤ò½ñ¤­¤Þ¤¹. ¤½¤Î port ¤¬²¿¤ò¤¹¤ë¤Î¤«¤Ë¤Ä¤¤¤Æ¤Î, ¿ôÃÊÍîÄøÅ٤δʷé¤Ê²òÀ⤬¤¢¤ì¤Ð½¼Ê¬¤Ç¤¹.

Note: ¤³¤ì¤Ï¥Þ¥Ë¥å¥¢¥ë¤Ç¤â¤Ê¤±¤ì¤Ð, »ÈÍÑÊýË¡¤ä¥³¥ó¥Ñ¥¤¥ëÊýË¡¤Ë ¤Ä¤¤¤Æ¤ÎºÙ¤«¤¤ÀâÌÀ½ñ¤Ç¤â¤¢¤ê¤Þ¤»¤ó. README ¥Õ¥¡¥¤¥ë¤ä ¥Þ¥Ë¥å¥¢¥ë¤ò°úÍѤ¹¤ë¤Ä¤â¤ê¤Ê¤éÃí°Õ¤¬É¬ÍפǤ¹. ¤³¤ì¤é¤Ï¿¤¯¤Î¾ì¹ç, ¤½¤Î port ¤Î´Ê·é¤ÊÀâÌÀ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤ê, °·¤¤¤Ë¤¯¤¤·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤ê¤·¤Þ¤¹. (¥Þ¥Ë¥å¥¢¥ë¤Î¾ì¹ç, ¹Ô¤ò·¤¨¤ë¤¿¤á¤Ë¶õÇò¤¬Ä´À°¤µ¤ì¤Æ¤¤¤¿¤ê¤·¤Þ¤¹.) ¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ë¸ø¼°¤Î¥¦¥§¥Ö¥µ¥¤¥È¤¬¤¢¤ë¤Î¤Ê¤é, ¤³¤³¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤. ¤½¤ÎºÝ¼«Æ°²½¥Ä¡¼¥ë¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¤è¤¦¤Ë, ¥¦¥§¥Ö¥µ¥¤¥È¤Î¤¦¤Á¤Î°ì¤Ä¤Ë¤Ï, ÀèÆ¬¤Ë WWW: ¤ò¤Ä¤±¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤.

¤³¤Î¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ë, ¤¢¤Ê¤¿¤Î̾Á°¤ò½ñ¤¯¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤¿¤È¤¨¤Ð, ¤³¤ó¤Ê¶ñ¹ç¤Ç¤¹.

This is a port of oneko, in which a cat chases a poor mouse all over
the screen.
 :
(¤¦¤ó¤Ì¤ó.)

WWW: http://www.oneko.org/

- Satoshi
asami@cs.berkeley.edu

2.2.3. pkg-plist

¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï, ¤½¤Î port ¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÎóµó¤·¤Þ¤¹. ¤³¤Î¥Õ¥¡¥¤¥ë¤Ï package ¤òºî¤ëºÝ¤Î¥ê¥¹¥È¤È¤·¤Æ»È¤ï¤ì¤ë¤¿¤á, ``¥Ñ¥Ã¥­¥ó¥°¥ê¥¹¥È (packing list)'' ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹. ¤³¤³¤Ë½ñ¤¯¥Ñ¥¹Ì¾¤Ï, ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î¥×¥ì¥Õ¥£¥Ã¥¯¥¹ (Ä̾ï /usr/local ¤Þ¤¿¤Ï /usr/X11R6) ¤«¤é¤ÎÁêÂХѥ¹¤Ç¤¹. MANn ÊÑ¿ô¤ò »ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç (»ÈÍѤ¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹), ¤³¤Î¥ê¥¹¥È¤Ë ¥Þ¥Ë¥å¥¢¥ë¤ÏÆþ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

´Êñ¤ÊÎã¤òºÜ¤»¤Æ¤ª¤­¤Þ¤·¤ç¤¦.

bin/oneko
lib/X11/app-defaults/Oneko
lib/X11/oneko/cat1.xpm
lib/X11/oneko/cat2.xpm
lib/X11/oneko/mouse.xpm
@dirrm lib/X11/oneko

¥Ñ¥Ã¥­¥ó¥°¥ê¥¹¥È¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï, pkg_create(1) ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤.

Note: ¤³¤Î¥ê¥¹¥È¤Ë¤Ï, ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÎóµó¤·¤Ê¤±¤ì¤Ð ¤Ê¤ê¤Þ¤»¤ó¤¬, ¥Ç¥£¥ì¥¯¥È¥ê¤½¤Î¤â¤Î¤ÏÎóµó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó. ¤Þ¤¿, ¤³¤Î port ¤¬¥¤¥ó¥¹¥È¡¼¥ë»þ¤ËÆÈ¼«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò ºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Ï, ¤³¤Î port ¤¬ºï½ü¤µ¤ì¤ë¤È¤­¤Ë ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤âºï½ü¤µ¤ì¤ë¤è¤¦, @dirrm ¤Î¹Ô¤ò Äɲ䷤Ƥª¤¯¤Î¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤.

¤³¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï, ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤ò ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë¥½¡¼¥È¤·¤Æ¤ª¤¯¤³¤È¤ò¿ä¾©¤·¤Þ¤¹. ¤½¤¦¤¹¤ë¤³¤È¤Ç, port ¤ò¹¹¿·¤¹¤ëºÝ¤Î Êѹ¹ÅÀ¤Î³Îǧ¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹.

¥Ñ¥Ã¥­¥ó¥°¥ê¥¹¥È¤ò¼êºî¶È¤ÇºîÀ®¤¹¤ë¤Î¤Ï, »þ¤Ë¤È¤Æ¤âÂà¶þ¤Êºî¶È¤Ë¤Ê¤ê¤Þ¤¹. ¤½¤Î port ¤¬Èó¾ï¤Ë¿¿ô¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤·¤¿¤é, ¥Ñ¥Ã¥­¥ó¥°¥ê¥¹¥È¤Î ¼«Æ°À¸À®¤ò¹Ô¤Ê¤¨¤Ð, »þ´Ö¤ÎÀáÌó¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó.


2.3. ¥Á¥§¥Ã¥¯¥µ¥à¥Õ¥¡¥¤¥ë¤ÎºîÀ®

make makesum ¤ÈÆþÎϤ¹¤ë¤À¤±¤Ç, (ÌõÃí: bsd.port.mk ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë) port À¸À®¥ë¡¼¥ë¤Ë½¾¤¤, ¼«Æ°Åª¤Ë distinfo ¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Þ¤¹.


2.4. port ¤Î¥Æ¥¹¥È

package ²½¤â´Þ¤á, ¤½¤Î port ¤¬»×¤Ã¤¿Ä̤ê¤Ë ư¤¯¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. ³Îǧ¤ÎɬÍפʽÅÍץݥ¤¥ó¥È¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹.

  • ¤½¤Î port ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤â¤Î¤¬ pkg-plist ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤³¤È.

  • ¤½¤Î port ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë, ¤¹¤Ù¤Æ¤Î¤â¤Î¤¬ pkg-plist ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È.

  • reinstall ¥¿¡¼¥²¥Ã¥È¤ò»È¤¦¤³¤È¤Ç, ¤½¤Î port ¤¬ ²¿Å٤Ǥ⥤¥ó¥¹¥È¡¼¥ë²Äǽ¤Ê¤³¤È.

  • ¤½¤Î port ¤¬ deintall ¤µ¤ì¤ëºÝ¤Ë¤Ï ¸åÊÒÉÕ¤±¤ò¤¹¤ë¤³¤È.

¿ä¾©¤µ¤ì¤ë¥Æ¥¹¥È¤Î¼ê½ç

  1. make install

  2. make package

  3. make deinstall

  4. pkg_add package ̾

  5. make deinstall

  6. make reinstall

  7. make package

package ¤ª¤è¤Ó deinstall ¤ÎÃʳ¬¤Ç, ¤É¤ó¤Ê·Ù¹ð (warning) ¤â½ÐÎϤµ¤ì¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. ¥¹¥Æ¥Ã¥× 3 ¤Î¸å, (ÌõÃí: ¤½¤Î port ¤¬ºîÀ®¤·¤¿) ¤¹¤Ù¤Æ¤Î¿·¤·¤¤ ¥Ç¥£¥ì¥¯¥È¥ê¤¬Àµ¤·¤¯¾Ãµî¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. ¤Þ¤¿, ¥¹¥Æ¥Ã¥× 4 ¤Î¸å¤Ë¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ·¤Æ¤ß¤Æ, package ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¾ì¹ç¤Ë¤âÀµ¤·¤¯Æ°ºî¤¹¤ë¤³¤È¤ò ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤.


2.5. portlint ¤Ë¤è¤ë¥Á¥§¥Ã¥¯

portlint ¤ò»È¤¤, ¤½¤Î port ¤¬ FreeBSD ¤Î ¥¬¥¤¥É¥é¥¤¥ó¤Ë±è¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. portlint ¥×¥í¥°¥é¥à¤Ï ports collection ¤Ë ´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹. ÆÃ¤Ë, Makefile ¤¬ Àµ¤·¤¤·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«, package ¤Î ̾Á°¤¬Àµ¤·¤¤¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤Î¤ËÎɤ¤¤Ç¤·¤ç¤¦.


2.6. port ¤ÎÄó½Ð

¤Þ¤º, ¤ä¤Ã¤ÆÎɤ¤¤³¤È°­¤¤¤³¤È¤Î ¥»¥¯¥·¥ç¥ó¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤.

¤µ¤Æ, Ëþ­¤Î¤¤¤¯ port ¤¬´°À®¤·¤¿¤é, »Ä¤ë¤Ï ¤½¤ì¤ò FreeBSD ¤Î¥á¥¤¥ó¤Î ports ¥Ä¥ê¡¼¤ËÃÖ¤¤¤Æ, ¾¤Î¿Í¤Ë¤â»È¤Ã¤Æ¤â¤é¤¦¤À¤±¤Ç¤¹. work ¥Ç¥£¥ì¥¯¥È¥ê¤ä pkgname.tgz ¤È¤¤¤Ã¤¿ package ¤Ï ɬÍפ¢¤ê¤Þ¤»¤ó¤«¤é, ¤Þ¤º¤³¤ì¤é¤ò¾Ãµî¤·¤Æ¤¯¤À¤µ¤¤. ¤¢¤È¤Ï shar `find port_dir` ¤Î½ÐÎϤò ¥Ð¥°¥ì¥Ý¡¼¥È¤ËÆþ¤ì, send-pr(1) ¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ Á÷¤Ã¤Æ¤¯¤À¤µ¤¤ (send-pr(1) ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¥Ð¥°Êó¹ð¤È °ìÈÌŪ¤ÊÏÀɾ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤). ¤â¤·, °µ½Ì¤·¤Æ¤¤¤Ê¤¤¾õÂÖ¤Ç 20KB °Ê¾å¤¢¤ë¤è¤¦¤Ê port ¤Ç¤¢¤ì¤Ð, ¤½¤ì¤ò ¤Ò¤È¤Ä¤Î tar ¥Õ¥¡¥¤¥ë¤Ë¤Þ¤È¤á¤Æ°µ½Ì¤·, ¥Ð¥°¥ì¥Ý¡¼¥È¤ËÆþ¤ì¤ëÁ°¤Ë uuencode(1) ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤ (20KB °Ê²¼¤Î¤â¤Î¤ò tar ¥Õ¥¡¥¤¥ë¤Ë¤·¤ÆÁ÷¤Ã¤Æ¤âÎɤ¤¤Î¤Ç¤¹¤¬, ¤¢¤Þ¤ê´¿·Þ¤µ¤ì¤Þ¤»¤ó). ¥Ð¥¯¥ì¥Ý¡¼¥È¤Î category ¤Ïɬ¤º ports, class ¤Ï change-request ¤È¤·¤Æ¤¯¤À¤µ¤¤ (¥ì¥Ý¡¼¥È¤ò confidential (µ¡Ì©) »ØÄê¤Ë¤Ï ¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤!). ¤Þ¤¿, port ²½¤·¤¿¥×¥í¥°¥é¥à¤Îû¤¤ÀâÌÀʸ¤ò ¥Ð¥°¥ì¥Ý¡¼¥È¤Î ``Description'' ¥Õ¥£¡¼¥ë¥É¤ËÄɲä·¤Æ, ``Fix'' ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï shar ¤·¤¿¥Õ¥¡¥¤¥ë, ¤â¤·¤¯¤Ï uuencode ¤·¤¿ tar ¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¸å¼Ô¤Ï, ports ´ÉÍý¤Îºî¶È¤ò¥¹¥¯¥ê¥×¥È¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤ë ¥³¥ß¥Ã¥¿¡¼¤Î½õ¤±¤È¤Ê¤ê¤Þ¤¹.

¤â¤¦°ìÅÙ, ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ä work ¥Ç¥£¥ì¥¯¥È¥ê, make package ¤ÇºîÀ®¤·¤¿ package ¤¬ ´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤.

Note: °ÊÁ°¤Ë¤Ï, ¿·¤·¤¤ port ¤òÄó½Ð¤¹¤ëºÝ¤Ë FreeBSD ¤Î FTP ¥µ¥¤¥È (ftp.FreeBSD.org) ¤Ë ¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¤è¤¦¤Ë ¤ª´ê¤¤¤·¤Æ¤¤¤¿¤³¤È¤¬¤¢¤ê¤Þ¤¹. ¸½ºß¤³¤Î¥µ¥¤¥È¤Î incoming ¥Ç¥£¥ì¥¯¥È¥ê¤Ï ÆÉ¤ß½Ð¤·ÉԲĤˤʤäƤª¤ê, ¥¢¥Ã¥×¥í¡¼¥É¤Ï¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤¿¤¯¤µ¤ó¤Î³¤Â±ÈÇ¥½¥Õ¥È¥¦¥§¥¢¤¬¤½¤³¤ËÃÖ¤«¤ì¤¿¤¿¤á¤Ç¤¹.

¤ï¤¿¤·¤¿¤Á¤Ï¤½¤Î port ¤ò¥Á¥§¥Ã¥¯¤·, ɬÍ×¤Ê¤é ¤¢¤Ê¤¿¤Ë³Îǧ¤·¤Æ, ¤½¤ì¤ò¥Ä¥ê¡¼¤ØÃÖ¤­¤Þ¤¹. ¤¢¤Ê¤¿¤Î̾Á°¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤ä¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤Î ``Additional FreeBSD contributors'' ¤Î ¥ê¥¹¥È¤Ë¤âºÜ¤ë¤Ç¤·¤ç¤¦. ¤¦¡Á¤ó, ÁÇÀ²¤é¤·¤¤. :-)

Note: ¤ï¤¿¤·¤¿¤Á¤¬ºî¶È¤·¤ä¤¹¤¤¤è¤¦¤Ë, ¾ã³²Êó¹ð¤Î³µÍ× (synopsis) ¤ÏŬÀڤ˵­½Ò¤·¤Æ¤¯¤À¤µ¤¤. ¤¿¤È¤¨¤Ð¿·¤·¤¤ port ¤ÎÄó½Ð¤Ê¤é ``New port: <port ¤Î´Êñ¤ÊÀâÌÀ>'', port ¤Î¹¹¿·¤Ê¤é ``Update port: <¥«¥Æ¥´¥ê>/<port ̾> <¹¹¿·ÆâÍÆ¤Î´Êñ¤ÊÀâÌÀ>'' ¤È¤¤¤Ã¤¿·Á¼°¤¬´¿·Þ¤µ¤ì¤Þ¤¹. ¤³¤¦¤¤¤¦ÊýË¡¤ÇÊó¹ð¤¹¤ë¤è¤¦¤Ë¿´¤¬¤±¤Æ¤¤¤ì¤Ð, ¤¢¤Ê¤¿¤ÎÊó¹ð (PR) ¤¬ ¤¹¤°¤Ë狼¤ÎÌܤˤȤޤë³ÎΨ¤¬ ¤°¤Ã¤È¹â¤¯¤Ê¤ë¤Î¤Ç¤¹.


Chapter 3. ËܳÊŪ¤Ê port

»Äǰ¤Ê¤¬¤é°Ü¿¢¤¬¤½¤¦´Êñ¤Ç¤Ï¤Ê¤¯, ¤½¤ì¤òư¤«¤¹¤¿¤á¤Ë ¿¾¯¤ÎÊѹ¹¤¬É¬Íפˤʤë¾ì¹ç¤â¤¢¤ë¤Ç¤·¤ç¤¦. ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï, ÌÏÈÏŪ¤Ê ports ¤ÎºîË¡¤Ë½¾¤¤, ¤É¤Î¤è¤¦¤ËÊѹ¹¤ò¹Ô¤Ê¤Ã¤ÆÆ°¤¯¤è¤¦¤Ë¤¹¤ë¤Î¤«¤ò ½ç¤òÄɤäÆÀâÌÀ¤·¤Þ¤¹.


3.1. port ¹½ÃۤξܺÙ

¤Þ¤º, ¤¢¤Ê¤¿¤¬ port ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç make ¤È ÆþÎϤ·¤Æ¤«¤éµ¯¤³¤ë°ìÏ¢¤Î½ÐÍè»ö¤Ë¤Ä¤¤¤Æ, ½ç¤òÄɤäÆÀâÌÀ¤·¤Þ¤¹. ¤³¤³¤òÆÉ¤à¤È¤­¤Ë¤Ï, Ê̤Υ¦¥£¥ó¥É¥¦¤Ë bsd.port.mk ¤òɽ¼¨¤·¤Æ¤ª¤¯¤È Íý²ò¤Î½õ¤±¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó.

¤·¤«¤·, bsd.port.mk ¤¬²¿¤ò¤·¤Æ¤¤¤ë¤Î¤« ´°Á´¤ËÍý²ò¤Ç¤­¤Ê¤¯¤Æ¤â ¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó. ¤½¤ì¤Û¤É¿¤¯¤Î¿Í¤¬Íý²ò¤·¤Æ¤¤¤ë ¤È¤¤¤¦¤ï¤±¤Ç¤Ï ¤¢¤ê¤Þ¤»¤ó¤«¤é... f(^_^;)

  1. ¤Þ¤º, fetch ¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤³¤Î fetch ¥¿¡¼¥²¥Ã¥È¤Ï, ÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥«¥ë¤Î DISTDIR ¤Ë ¸ºß¤¹¤ë¤³¤È¤òÊݾڤ¹¤ëÌòÌܤò»ý¤Ã¤Æ¤¤¤Þ¤¹. ¤â¤·É¬Íפʥե¡¥¤¥ë¤¬ DISTDIR ¤Ë ¸ºß¤·¤Ê¤±¤ì¤Ð, fetch ¥¿¡¼¥²¥Ã¥È¤Ï Makefile ¤Ç»ØÄꤵ¤ì¤¿ MASTER_SITES Ãæ¤Î URL ¤ä, FreeBSD ¤Î¥á¥¤¥ó FTP ¥µ¥¤¥È ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ (¤³¤³¤Ë¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¤·¤Æ, ¤ï¤ì¤ï¤ì ports ´ÉÍý¼Ô¤¬³Îǧ¤·¤¿ ÇÛÉÛ¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹) ¤òõ¤·¤Ë¤¤¤­¤Þ¤¹. make ¤ò¼Â¹Ô¤¹¤ë¥Þ¥·¥ó¤¬¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë Àܳ¤µ¤ì¤Æ¤¤¤Æ, ÌÜŪ¤Î¥Õ¥¡¥¤¥ë¤ò FETCH ¤Ç ¼è¤Ã¤Æ¤³¤ì¤¿¾ì¹ç¤Ë¤Ï, ¤½¤ì¤ò DISTDIR ¤Ë Êݸ¤·¤Þ¤¹.

  2. ¼¡¤Ë extract ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ï DISTDIR ¤«¤é ÇÛÉÛ¥Õ¥¡¥¤¥ë (ÉáÄÌ¤Ï gzip ¤µ¤ì¤¿ tar ¥Õ¥¡¥¤¥ë) ¤òÆÉ¤ß¹þ¤ß, ¤½¤ÎÆâÍÆ¤òºî¶È¥Ç¥£¥ì¥¯¥È¥ê WRKDIR (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï work) ¤ËŸ³«¤·¤Þ¤¹.

  3. ¼¡¤Ë patch ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤Þ¤º, PATCHFILES ¤Ë¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤¬ »ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð, ¤½¤Î¥Ñ¥Ã¥Á¤òŬÍѤ·¤Þ¤¹. ¼¡¤Ë, PATCHDIR ¥Ç¥£¥ì¥¯¥È¥ê (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï files ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê) ¤Ë patch-* ¤È¤¤¤¦ ̾Á°¤Î¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð, ¤³¤ì¤é¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤ËŬÍѤ·¤Þ¤¹.

  4. ¼¡¤Ë configure ¥¿¡¼¥²¥Ã¥È¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤³¤ì¤Ë¤Ï, ¤¤¤í¤¤¤í¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤¹.

    1. scripts/configure ¤¬ ¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï, ¤½¤Î¥¹¥¯¥ê¥×¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹.

    2. HAS_CONFIGURE ¤Þ¤¿¤Ï GNU_CONFIGURE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð, WRKSRC/configure ¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹.

    3. USE_IMAKE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð, XMKMF (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï xmkmf -a) ¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹.

  5. ºÇ¸å¤Ë build ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤³¤ì¤Ïºî¶È¥Ç¥£¥ì¥¯¥È¥ê (WRKSRC) ¤Ë¹ß¤ê¤Æ¤¤¤­, ¥Ó¥ë¥É (¥³¥ó¥Ñ¥¤¥ë) ¤ò¼Â¹Ô¤¹¤ë¤Î¤¬ÌòÌܤǤ¹. USE_GMAKE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð GNU make ¤¬»ÈÍѤµ¤ì, ¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð FreeBSD ¤Î make ¤¬ »ÈÍѤµ¤ì¤Þ¤¹.

¾åµ­¤Ï¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ç¤¹. ¤³¤ì¤Ë²Ã¤¨¤Æ pre-²¿¤È¤«¤ä post-²¿¤È¤«¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤òÄêµÁ¤·¤¿¤ê, ¤½¤Î¤è¤¦¤Ê̾Á°¤Î¥¹¥¯¥ê¥×¥È¤ò scripts ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¯¤³¤È¤â²Äǽ¤Ç, ¤½¤ì¤¾¤ì¥Ç¥Õ¥©¥ë¥È¤Îưºî¤ÎÁ°¤ä¸å¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹.

¤¿¤È¤¨¤Ð, post-extract ¥¿¡¼¥²¥Ã¥È¤¬ Makefile ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Æ, scripts ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë pre-build ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç, post-extract ¥¿¡¼¥²¥Ã¥È¤Ï Ä̾ï¤ÎŸ³«Æ°ºî¤Î¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì, pre-build ¥¹¥¯¥ê¥×¥È¤Ï ¥Ç¥Õ¥©¥ë¥È¤Î¥³¥ó¥Ñ¥¤¥ëưºî¤ÎÁ°¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹. ¼Â¹Ô¤¹¤ëưºî¤¬´Êñ¤Ç¤¢¤ì¤Ð, ¥¹¥¯¥ê¥×¥È¤è¤ê¤â Makefile ¤Î¥¿¡¼¥²¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬ ¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤Ê¤¼¤Ê¤é, ¤½¤Î port ¤Ç¤Ï ¤É¤Î¤è¤¦¤ÊÈóɸ½à¤Îưºî¤¬É¬ÍפȤµ¤ì¤ë¤Î¤«, °ì²Õ½ê¤Ë¤Þ¤È¤á¤Æ½ñ¤¤¤Æ¤¢¤Ã¤¿Êý¤¬Â¾¤Î¿Í¤ËÍý²ò¤·¤ä¤¹¤¤¤«¤é¤Ç¤¹.

¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï bsd.port.mk ¤Î do-²¿¤È¤«¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤¿¤È¤¨¤Ð port ¤òŸ³«¤¹¤ë¥³¥Þ¥ó¥É¤Ï do-extract ¥¿¡¼¥²¥Ã¥È¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹. ¤â¤·¥Ç¥Õ¥©¥ë¥È¤Î¥¿¡¼¥²¥Ã¥È¤ËÉÔËþ¤¬¤¢¤ì¤Ð, Makefile Ãæ¤Ç do-²¿¤È¤«¤È¤¤¤¦ ¥¿¡¼¥²¥Ã¥È¤òºÆÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤ê, ¹¥¤­¤Ê¤è¤¦¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.

Note: ``¥á¥¤¥ó''¤Î¥¿¡¼¥²¥Ã¥È (¤¿¤È¤¨¤Ð extract, configure, ¤½¤Î¾) ¤Ï, ¤¹¤Ù¤Æ¤ÎÁ°Ãʳ¬¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤«¤é, ¼ÂºÝ¤Î¥¿¡¼¥²¥Ã¥È¤ä¥¹¥¯¥ê¥×¥È¤ò¸Æ¤Ó½Ð¤¹°Ê³°¤Î¤³¤È¤Ï ¹Ô¤Ê¤¤¤Þ¤»¤ó¤·, ¤³¤ì¤é¤¬Êѹ¹¤µ¤ì¤ë¤³¤È¤âÁÛÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤â¤·Å¸³«¤ÎÊýË¡¤òÊѹ¹¤·¤¿¤¤¤È¤­¤Ë¤Ï do-extract ¤ÎÊѹ¹¤Ë¤è¤Ã¤Æ¼Â¸½¤·, ÀäÂÐ¤Ë extract ¤Ë¤Ï ¼ê¤ò¿¨¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤.

¤³¤ì¤Ç, ¥æ¡¼¥¶¤¬ make ¤È ÆþÎϤ·¤¿¤È¤­¤Ë²¿¤¬µ¯¤³¤ë¤Î¤«¤¬Íý²ò¤Ç¤­¤¿¤È»×¤¤¤Þ¤¹. ¤Ç¤Ï, ´°àú¤Ê port ¤òºîÀ®¤¹¤ë¤¿¤á¤Î¿ä¾©¼ê½ç¤ò ½ç¤Ë¸«¤Æ¤¤¤­¤Þ¤·¤ç¤¦.


3.2. ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¤ÎÆþ¼ê

(Ä̾ï¤Î¾ì¹ç,) °µ½Ì¤µ¤ì¤¿ tar ¥Õ¥¡¥¤¥ë¤Î·Á (foo.tar.gz ¤¢¤ë¤¤¤Ï foo.tar.Z) ¤Ç ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¤òÆþ¼ê¤·¤Æ, ¤½¤ì¤ò DISTDIR ¤Ë¥³¥Ô¡¼¤·¤Þ¤¹. ¤Ç¤­¤ë¸Â¤ê, ¼çή¤Î¥½¡¼¥¹¤ò »ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

¥Í¥Ã¥È¥ï¡¼¥¯¤Ø¤ÎÀܳ¤ÎÎɹ¥¤Ê FTP/HTTP ¥µ¥¤¥È¤ò ¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¤ê, Ƭ¤Ë¤¯¤ë¤è¤¦¤ÊÈóɸ½àŪ¤Ê·Á¼°¤·¤« ÃÖ¤¤¤Æ¤¤¤Ê¤¤¥µ¥¤¥È¤·¤«¸«¤Ä¤±¤é¤ì¤Ê¤¤¤È¤­¤Ë¤Ï, ¼«Ê¬¤Î´ÉÍý²¼¤Ë¤¢¤ê¿®Íê¤Ç¤­¤ë FTP ¥µ¡¼¥Ð¤ä http ¥µ¡¼¥Ð (¤¿¤È¤¨¤Ð, ¤¢¤Ê¤¿¼«¿È¤Î¥Û¡¼¥à¥Ú¡¼¥¸) ¤ËÃÖ¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹. ¤¢¤Ê¤¿¤¬Áª¤ó¤À¥µ¡¼¥Ð¤¬ MASTER_SITES ¤Ë Àµ¤·¤¯È¿±Ç¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤.

¤½¤Î¤è¤¦¤ÊÊØÍø¤«¤Ä¿®Íê¤Î¤ª¤±¤ëÃÖ¤­¾ì½ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç, ²æ¡¹¤¬ ftp.FreeBSD.org ¤Ë ÃÖ¤­¾ì½ê¤òÄ󶡤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹. ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï, 狼¤Î freefall ¥¢¥«¥¦¥ó¥È¤Î ~/public_distfiles/ ¤ËÃÖ¤«¤ì¤ë¤³¤È¤Ç¤·¤ç¤¦. ¤½¤Î port ¤ò¥³¥ß¥Ã¥È¤¹¤ë¿Í¤Ë, ÃÖ¤¤¤Æ¤â¤é¤¨¤ë¤è¤¦¤ËÍê¤ó¤Ç¤¯¤À¤µ¤¤. ¤½¤Î¿Í¤ÏÇÛÉÛ¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤Æ, MASTER_SITES ¤ò MASTER_SITE_LOCAL ¤Ë¥»¥Ã¥È¤·, MASTER_SITE_SUBDIR ¤Ë¤Ï ¼«Ê¬¤Î freefall ¥æ¡¼¥¶Ì¾¤ò Æþ¤ì¤Æ¤ª¤¤¤Æ¤¯¤ì¤ë¤Ç¤·¤ç¤¦.

¤½¤Î port ¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬ÆÃ¤ËÍýͳ¤â¤Ê¤¯ ¤·¤ç¤Ã¤Á¤å¤¦ÊѤï¤ë¾ì¹ç¤Ë¤Ï, ¤½¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò ¤¢¤Ê¤¿¤Î¥Û¡¼¥à¥Ú¡¼¥¸¤ËÃÖ¤¤¤Æ, MASTER_SITES ¤Î ºÇ½é¤Ë»ØÄꤹ¤ë¤³¤È¤â¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤. ¤½¤¦¤¹¤ì¤Ð, ¥æ¡¼¥¶¤¬ “checksum mismatch” ¥¨¥é¡¼¤Ë Ǻ¤Þ¤µ¤ì¤ë¤³¤È¤â¤Ê¤¯¤Ê¤ê¤Þ¤¹¤·, FreeBSD ¤Î FTP ¥µ¥¤¥È¤Î ÊݼéôÅö¼Ô¤ÎÉéô¤â¸º¤é¤¹¤³¤È¤â¤Ç¤­¤Þ¤¹. ¤Þ¤¿, ¤½¤Î port ¤Ë¥Þ¥¹¥¿¡¼¥µ¥¤¥È¤¬°ì¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï, ¤¢¤Ê¤¿¤Î¥µ¥¤¥È¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤òÃÖ¤­, ¤½¤ì¤ò MASTER_SITES ¤Î 2 ÈÖÌÜ¤Ë »ØÄꤹ¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦.

¤½¤Î port ¤¬¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤ÇÆþ¼ê¤Ç¤­¤ëÄɲåѥåÁ¤ò ɬÍפȤ¹¤ë¤Î¤Ê¤é, ¤½¤ì¤â¼è¤Ã¤Æ¤­¤Æ DISTDIR ¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤. ¤½¤ì¤é¤¬¥á¥¤¥ó¤Î¥½¡¼¥¹¤Î tar ¥Õ¥¡¥¤¥ë¤È¤ÏÊ̤Υµ¥¤¥È¤Ë ¤¢¤Ã¤¿¤È¤·¤Æ¤â, ¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó. ¤½¤Î¤è¤¦¤Ê¾õ¶·¤Ë¤â ¤Á¤ã¤ó¤ÈÂбþ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (¸å½Ò¤Î PATCHFILES ¤Îµ­½Ò¤ò ¤´Í÷¤¯¤À¤µ¤¤).


3.3. port ¤Î½¤Àµ

ºî¶ÈÍѤΥǥ£¥ì¥¯¥È¥ê¤Ë tar ¥Õ¥¡¥¤¥ë¤òŸ³«¤·, ºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD ¾å¤ÇÀµ¤·¤¯¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤ËɬÍפÊ, ¤¢¤é¤æ¤ëÊѹ¹¤ò¹Ô¤Ê¤¤¤Þ¤¹. ¤³¤Î½èÍý¤ÏºÇ½ªÅª¤Ë¼«Æ°²½¤¹¤ë¤ï¤±¤Ç¤¹¤«¤é, ²¿¤ò¹Ô¤Ê¤Ã¤¿¤«¤òÃí°Õ¿¼¤¯µ­Ï¿¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦. ¤³¤Î port ¤¬´°À®¤·¤¿¶Ç¤Ë¤Ï, ¥Õ¥¡¥¤¥ë¤Îºï½ü, ÄɲÃ, ½¤Àµ¤ò´Þ¤à¤¹¤Ù¤Æ¤Î½èÍý¤¬¼«Æ°²½¤µ¤ì¤¿¥¹¥¯¥ê¥×¥È¤ä ¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ç¹Ô¤Ê¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó.

¤½¤Î port ¤Î¥³¥ó¥Ñ¥¤¥ë¤ä¥¤¥ó¥¹¥È¡¼¥ë¤Î¤¿¤á¤ËɬÍפʼêºî¶È¤¬ ¤¢¤Þ¤ê¤Ë¿¤¤¤è¤¦¤Ê¤é¤Ð, Larry Wall ¤Î·Ý½ÑŪ¤Ê Configure ¥¹¥¯¥ê¥×¥È¤ò »²¹Í¤Ë¤·¤¿¤Û¤¦¤¬Îɤ¤¤«¤â¤·¤ì¤Þ¤»¤ó. ¿·¤·¤¤ ports collection ¤Ï, ¥¨¥ó¥É¥æ¡¼¥¶¤Ë¤È¤Ã¤Æ¸Ä¡¹¤Î port ¤¬ ²Äǽ¤Ê¸Â¤ê``¥×¥é¥° & ¥×¥ì¥¤''¤«¤Ä ºÇ¾®¤Î¥Ç¥£¥¹¥¯¾ÃÈñ¤Ç make ¤Ç¤­¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤Þ¤¹.

Note: ÌÀ¼¨Åª¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤­, ¤¢¤Ê¤¿¤¬ºîÀ®¤·¤Æ FreeBSD ¤Î ports collection ¤Ë´óÉÕ¤·¤¿¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë, ¥¹¥¯¥ê¥×¥È¤ª¤è¤Ó¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤Ï, ɸ½àŪ¤Ê BSD ¤Î Ãøºî¸¢¾ò·ï¤Ë¤è¤ê¥«¥Ð¡¼¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤µ¤ì¤Þ¤¹.


3.4. ¥Ñ¥Ã¥Á¤ÎŬÍÑ

port ¤Î½àÈ÷Ãʳ¬¤ÇÄɲ䵤줿¤êÊѹ¹¤µ¤ì¤¿¤ê¤·¤¿¥Õ¥¡¥¤¥ë¤Ï, ºÆµ¢Åª diff ¤Ë¤è¤ê¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¥Ñ¥Ã¥Á¤ÏŬÅö¤Ë¤Þ¤È¤á¤Æ patch-* ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤ËÆþ¤ì¤Æ¤¯¤À¤µ¤¤. * ¤Ï ¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤ë½çÈÖ¤ò¼¨¤·¤Þ¤¹ -- ¤³¤ì¤é¤Ï ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç, ¤Ä¤Þ¤ê aa ¤¬ºÇ½é, ab ¤¬ ¤½¤Î¼¡¤È¤¤¤Ã¤¿½çÈ֤ǽèÍý¤µ¤ì¤Þ¤¹. ¤ªË¾¤ß¤Ê¤é, patch-Imakefile ¤È¤« patch-src-config.h ¤Î¤è¤¦¤Ë, ¥Ñ¥Ã¥ÁÂоݤΥե¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¤ò¼¨¤¹Ì¾Á°¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹. ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï PATCHDIR ¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤. ¤½¤¦¤¹¤ì¤Ð¼«Æ°Åª¤ËŬÍѤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹. ¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥Á¤Ï WRKSRC ¤«¤é¤ÎÁêÂХѥ¹¤Ë¤¹¤ë ¤Ù¤­¤Ç¤¹ (Ä̾ï, WRKSRC ¤Ï port ¤Î tar ¥Õ¥¡¥¤¥ë¤¬ Ÿ³«¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç, make ¤¬¼Â¹Ô¤µ¤ì¤ë¤È¤³¤í¤ÈƱ¤¸¤Ç¤¹). ½¤Àµ¤ä¥¢¥Ã¥×¥°¥ì¡¼¥É¤òÍÆ°×¤Ë¤¹¤ë¤¿¤á, Ê£¿ô¤Î¥Ñ¥Ã¥Á¤Ç Ʊ¤¸¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤¹¤ë¤Î¤ÏÈò¤±¤Æ¤¯¤À¤µ¤¤ (¤¿¤È¤¨¤Ð, patch-aa ¤È patch-ab ¤¬¶¦¤Ë WRKSRC/foobar.c ¤ò ½¤Àµ¤¹¤ë¤Ê¤É).


3.5. ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó

¥«¥¹¥¿¥Þ¥¤¥º¤Î¤¿¤á¤ËÄɲä·¤¿¤¤¥³¥Þ¥ó¥É¤¬¤¢¤ì¤Ð, configure ¤È¤¤¤¦Ì¾Á°¤Î¥¹¥¯¥ê¥×¥È¤ËÆþ¤ì¤Æ scripts ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤. ¾å¤Ç½Ò¤Ù¤¿¤è¤¦¤Ë, pre-configure ¤¢¤ë¤¤¤Ï post-configure ¤È¤¤¤¦ Makefile ¥¿¡¼¥²¥Ã¥È¤ä, ¥¹¥¯¥ê¥×¥È¤Ç½èÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹.


3.6. ¥æ¡¼¥¶¤«¤é¤ÎÆþÎϤΰ·¤¤

¤â¤·, ¤½¤Î port ¤¬¥Ó¥ë¥É, ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó, ¤Þ¤¿¤Ï ¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤Ë¥æ¡¼¥¶¤«¤é¤ÎÆþÎϤòɬÍפȤ¹¤ë¤Ê¤é¤Ð, Makefile Ãæ¤Ç IS_INTERACTIVE ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤Ë¤è¤ê, ¥æ¡¼¥¶¤¬´Ä¶­ÊÑ¿ô BATCH ¤ò ¥»¥Ã¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ¤³¤Î port ¤Î½èÍý¤¬¥¹¥­¥Ã¥×¤µ¤ì¤ë¤Î¤Ç ``Ìë´Ö¤Î̵¿Í¥Ó¥ë¥É`` ¤¬¼Â¹Ô²Äǽ¤Ë¤Ê¤ê¤Þ¤¹. (µÕ¤Ë´Ä¶­ÊÑ¿ô INTERACTIVE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È, ¥æ¡¼¥¶¤«¤é¤ÎÆþÎϤòɬÍפȤ¹¤ë port ¤À¤±¤¬ ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹).

¤â¤·, ŬÀڤʥǥե©¥ë¥ÈÀßÄ꤬¸ºß¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð, PACKAGE_BUILDING ÊÑ¿ô¤ò¥Á¥§¥Ã¥¯¤·¤Æ, ¤½¤ì¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï ¥æ¡¼¥¶ÆþÎϤΥ¹¥¯¥ê¥×¥È¤òµ¯Æ°¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ, ²æ¡¹ ports ´ÉÍý¼Ô¤¬ CDROM ¤ä FTP ¤Ë ÃÖ¤¯ package ¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


Chapter 4. Makefile ¤ÎºîÀ®

Makefile ¤ÎºîÀ®¤ÏÈó¾ï¤Ëñ½ã¤Ç¤¹. ·«¤êÊÖ¤·¤Þ¤¹¤¬, »Ï¤á¤ë¤Þ¤¨¤Ë´û¸¤ÎÎã¤ò¸«¤Æ¤ª¤¯¤³¤È¤ò¿ä¾©¤·¤Þ¤¹. ¤Þ¤¿, ¤³¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ë¤Ï Makefile ¤Î¥µ¥ó¥×¥ë¤¬¤¢¤ê¤Þ¤¹. ¤½¤ì¤ò¸«¤Æ, Makefile Æâ¤ÎÊÑ¿ô¤Î½çÈÖ¤ä ¶õ¹Ô¤òÆþ¤ì¤ë¤È¤³¤í¤Ê¤É¤Î»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤½¤¦¤¹¤ë¤È¾¤Î¿Í¡¹¤Ë¤âÆÉ¤ß¤ä¤¹¤¤¤â¤Î¤È¤Ê¤ê¤Þ¤¹.

¤Ç¤Ï, Makefile ¤òÀ߷פ¹¤ë¤È¤­¤Ë ÌäÂê¤È¤Ê¤ë¤È¤³¤í¤ò½ç¤ËÄɤäƸ«¤Æ¤ß¤Þ¤·¤ç¤¦.


4.1. ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹

¥½¡¼¥¹¤Ï foozolix-1.2.tar.gz ¤È¤¤¤Ã¤¿Ì¾Á°¤Î ɸ½àŪ¤Ê gzip ¤µ¤ì¤¿ tar ¥Õ¥¡¥¤¥ë¤Î·Á¼°¤Ç DISTDIR ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¤«? ¤½¤¦¤Ê¤Ã¤Æ¤¤¤ì¤Ð, ¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë¿Ê¤á¤Þ¤¹. °Û¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ÊÑ¿ô DISTNAME, EXTRACT_CMD, EXTRACT_BEFORE_ARGS, EXTRACT_AFTER_ARGS, EXTRACT_SUFX, DISTFILES ¤Î¤¦¤Á ¤¤¤¯¤Ä¤«¤ò½ñ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹. ¤É¤ì¤À¤±Êѹ¹¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤Ï, ¤½¤Î port ¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬ ¤É¤ÎÄøÅÙɸ½à¤«¤é¤«¤±¤Ï¤Ê¤ì¤Æ¤¤¤ë¤«¤Ë¤è¤ê¤Þ¤¹ (ºÇ¤â¤è¤¯¤¢¤ë¤Î¤Ï gzip ¤Ç¤Ï¤Ê¤¯ÉáÄ̤Πcompress ¥³¥Þ¥ó¥É¤Ç tar ¥Õ¥¡¥¤¥ë¤¬°µ½Ì¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç, ¤½¤Î¤È¤­¤Ï EXTRACT_SUFX=.tar.Z ¤È¤¹¤ë¤À¤±¤Ç¤¹).

ºÇ°­¤Î¾ì¹ç¤Ë¤Ï, ¼«Ê¬¤Ç do-extract ¥¿¡¼¥²¥Ã¥È¤òºîÀ®¤·¤Æ, ¥Ç¥Õ¥©¥ë¥È¤ò¾å½ñ¤­¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹. ¤·¤«¤·, ¤½¤³¤Þ¤Ç¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤Ï¤á¤Ã¤¿¤Ë¤Ê¤¤¤Ç¤·¤ç¤¦.


4.2. PORTNAME ¤ª¤è¤Ó PORTVERSION

DISTNAME ¤Ë¤Ï port ¤Î̾Á°¤Î´ð´´Éôʬ¤òÆþ¤ì, PORTVERSION ¤Ë¤Ï port ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÆþ¤ì¤Þ¤¹.


4.3. PORTREVISION ¤ª¤è¤Ó PORTEPOCH

4.3.1. PORTREVISION

PORTREVISION ÊÑ¿ô¤ÏñĴÁý²Ã¤¹¤ëÃͤǤ¹. PORTVERSION ¤¬Áý²Ã¤·¤¿»þ (¤Ä¤Þ¤ê, ¿·¤·¤¤¥ª¥Õ¥£¥·¥ã¥ë¥Ù¥ó¥À¡¼¥ê¥ê¡¼¥¹¤¬¹Ô¤Ê¤ï¤ì¤¿»þ) ¤Ë¤Ï ¤¤¤Ä¤Ç¤â 0 ¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Þ¤¹. ¤Þ¤¿, ¤½¤ÎÃͤ¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï package ̾¤ËÄɲ䵤ì¤Þ¤¹. ¤½¤Î port ¤«¤éºî¤é¤ì¤ë package ¤ÎÆâÍÆ¤ä¹½Â¤¤Ë Â礭¤Ê±Æ¶Á¤òÍ¿¤¨¤ëÊѹ¹¤ò¹Ô¤Ê¤Ã¤¿»þ¤Ë¤Ï, PORTREVISION ¤òÁý¤ä¤·¤Æ¤¯¤À¤µ¤¤.

PORTREVISION ¤ò¾å¤²¤ëɬÍפ¬¤¢¤ëÊѹ¹¤ÎÎã:

  • ¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÀȼåÀ­¤ä¥Ð¥°¤ò½¤Àµ¤¹¤ë¤¿¤á, ¤Þ¤¿¤Ï ¤½¤Î port ¤Ë¿·¤·¤¤µ¡Ç½À­¤òÄɲ乤뤿¤á¤Î¥Ñ¥Ã¥Á¤ÎÄɲÃ.

  • package ¤Î¥³¥ó¥Ñ¥¤¥ë»þ¥ª¥×¥·¥ç¥ó¤ÎÍ­¸ú²½¤ä ̵¸ú²½¤Î¤¿¤á¤Î Makefile ¤ÎÊѹ¹.

  • ¥Ñ¥Ã¥­¥ó¥°¥ê¥¹¥È¤ÎÊѹ¹¤ä, package ¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î µóư¤ÎÊѹ¹ (¤¿¤È¤¨¤Ð, ssh ¤Î¥Û¥¹¥È¥­¡¼¤Î¤è¤¦¤Ê package ¤Î ½é´ü¥Ç¡¼¥¿¤òÀ¸À®¤¹¤ë¥¹¥¯¥ê¥×¥È¤ÎÊѹ¹¤Ê¤É).

  • ¤½¤Î port ¤¬°Í¸¤¹¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò ¾å¤²¤ë¾ì¹ç (¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê¤¬ ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¸å¤Ë, ¤½¤Î¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤¿ ¸Å¤¤ package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤ò»î¤ß¤ë¾ì¹ç, ¤½¤Î package ¤Ï¿·¤·¤¤ libfoo.(x+1) ¤Ç¤Ï¤Ê¤¯ ¸Å¤¤ libfoo.x ¤òõ¤½¤¦¤È¤¹¤ë¤¿¤á, ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤¹. (ÌõÃí: ¤½¤Î¤¿¤á, PORTREVISION ¤ò¾å¤²¤¿ package ¤ò ºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤ï¤±¤Ç¤¹)).

  • ¤Ò¤½¤«¤Ë port ÇÛÉÛ¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤¬¹Ô¤Ê¤ï¤ì, ¤½¤Îµ¡Ç½¤ËÂ礭¤ÊÊѲ½¤¬¤¢¤Ã¤¿¾ì¹ç. ¤Ä¤Þ¤ê, distinfo ¤Î½¤Àµ¤ò ɬÍפȤ¹¤ë¤è¤¦¤ÊÇÛÉÛ¥Õ¥¡¥¤¥ë¤ÎÊѹ¹¤¬¹Ô¤Ê¤ï¤ì, ¿·µì¤Î¥Ð¡¼¥¸¥ç¥ó¤Î diff -ru ¤ò¼è¤ë¤È º³ºÙ¤È¤Ï¸À¤¨¤Ê¤¤Êѹ¹¤¬Ç§¤á¤é¤ì¤ë¤Ë¤â¤«¤«¤ï¤é¤º, ¥ª¥ê¥¸¥Ê¥ë¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤«¤é PORTVERSION ¤ÎÊѹ¹¤ÏÆñ¤·¤¤¾ì¹ç.

PORTREVISION ¤ò¾å¤²¤ëɬÍפÎ̵¤¤Êѹ¹¤ÎÎã:

  • À¸À®¤µ¤ì¤ë package ¤Ëµ¡Ç½¤ÎÊѲ½¤¬µ¯¤é¤Ê¤¤¤è¤¦¤Ê port ¥¹¥±¥ë¥È¥ó¤Î¥¹¥¿¥¤¥ëÊѹ¹.

  • À¸À®¤µ¤ì¤ë package ¤Ë±Æ¶Á¤·¤Ê¤¤¤è¤¦¤Ê MASTER_SITES ¤½¤Î¾¤Î port ¤ËÂФ¹¤ëµ¡Ç½Êѹ¹.

  • ¸í¿¢¤Î½¤Àµ¤Ê¤É¤Îº³ºÙ¤ÊÊѹ¹¤Ç, ¤½¤Î package ¤Î¥æ¡¼¥¶¤¬ ¥¢¥Ã¥×¥°¥ì¡¼¥É¤òɬÍפȤ¹¤ë¤Û¤É¤Ë¤Ï½ÅÍפǤʤ¤¥Ñ¥Ã¥Á.

  • °ÊÁ°¤Ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬Ä̤é¤Ê¤«¤Ã¤¿ package ¤ò ¥Ó¥ë¥É²Äǽ¤Ë¤¹¤ë¤¿¤á¤Î½¤Àµ (¤½¤Î port ¤¬°ÊÁ°¤Ë¥Ó¥ë¥É²Äǽ¤À¤Ã¤¿ ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤ª¤¤¤Æ, ¤½¤ÎÊѹ¹¤Ë¤è¤ê²¿¤é¤«¤Îµ¡Ç½Åª¤Ê °ã¤¤¤¬È¯À¸¤·¤Ê¤¤¾ì¹ç¤Ë¸Â¤ê¤Þ¤¹). PORTREVISION ¤Ï package ¤ÎÆâÍÆ¤ò È¿±Ç¤·¤¿¤â¤Î¤Ê¤Î¤Ç, ¤½¤Î package ¤¬°ÊÁ°¤Ë¥Ó¥ë¥É²Äǽ¤Ç¤Ê¤±¤ì¤Ð ÆâÍÆ¤ÎÊѹ¹¤â̵¤¤¤¿¤á, PORTREVISION ¤ò Áý¤ä¤¹É¬ÍפϤ¢¤ê¤Þ¤»¤ó.

·Ð¸³Åª¤ÊȽÃÇÊýË¡¤È¤·¤Æ¤Ï, ¤¢¤ë port ¤Ë¥³¥ß¥Ã¥È¤µ¤ì¤¿Êѹ¹¤¬ (¤½¤ì¤¬¶¯²½¤ä½¤Àµ¤Ë¤è¤ë¤â¤Î¤Ç¤¢¤ì, ¿·¤·¤¤ package ¤Ë¤è¤ë ¼Â¼ÁŪ¤Ê¸úǽ¤Ç¤¢¤ì), ¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤³¤È¤Ë¤è¤ê狼¤¬¤É¤³¤«¤Ç Íø±×¤ò¼õ¤±¤ë¤è¤¦¤Ê²¿¤« ¤«¤É¤¦¤«¼«Ì䤷¤Æ¤ß¤ë¤³¤È¤Ç¤¹. ¤â¤·Åú¤¬¥¤¥¨¥¹¤Ç¤¢¤ì¤Ð, ¿·¤·¤¤ package ¤¬ÍøÍѲÄǽ¤Ë¤Ê¤Ã¤¿»ö¼Â¤ò (Î㤨¤Ð pkg_version Åù¤Î) ¼«Æ°²½¥Ä¡¼¥ë¤¬ ¶¯Ä´¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë, PORTREVISION ¤ò ¾å¤²¤ë¤Ù¤­¤Ç¤·¤ç¤¦.


4.3.2. PORTEPOCH

¥½¥Õ¥È¥¦¥§¥¢¤Î¥Ù¥ó¥À¤ä FreeBSD ¤Î port ºîÀ®¼Ô¤Ï, °ÊÁ°¤Î¤â¤Î¤è¤ê¤â¾®¤µ¤¤¿ô»ú¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò¤Ä¤±¤¿¥½¥Õ¥È¥¦¥§¥¢¤ò ¥ê¥ê¡¼¥¹¤¹¤ë¤È¤¤¤Ã¤¿, ²¿¤«Çϼ¯¤²¤¿¤³¤È¤ò¤¹¤ë¤³¤È¤¬»þ¡¹¤¢¤ê¤Þ¤¹. Îã¤ò¤¢¤²¤ë¤È, ¤¢¤ë port ¤¬ foo-20000801 ¤«¤é foo-1.0 ¤Ë¤Ê¤ë ¤È¤¤¤Ã¤¿¶ñ¹ç¤Ç¤¹ (¿ô»ú¤È¤·¤Æ¸«¤ë¤È 20000801 ¤Ï 1 ¤è¤ê¤âÂ礭¤¤¤¿¤á, ´Ö°ã¤Ã¤ÆÁ°¼Ô¤ÎÊý¤¬¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤È¤·¤Æ°·¤ï¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹).

¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï PORTEPOCH ¥Ð¡¼¥¸¥ç¥ó¤ò Áý¤ä¤·¤Æ¤¯¤À¤µ¤¤. ¾å¤Î¥»¥¯¥·¥ç¥ó 0 ¤ÇÀâÌÀ¤·¤¿¤è¤¦¤Ë, PORTEPOCH ¤¬¥¼¥í¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï, ¤½¤ì¤¬¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Î¸å¤í¤Ë¤Ä¤±¤é¤ì¤Þ¤¹. PORTEPOCH ¤Ï¸º¤é¤µ¤ì¤¿¤ê, ¥¼¥í¤Ë ¥ê¥»¥Ã¥È¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó. ¤µ¤â¤Ê¤¤¤È, °ÊÁ°¤ËºîÀ®¤µ¤ì¤¿ package ¤È¤ÎÈæ³Ó¤Ë¼ºÇÔ¤¹¤ë (¤Ä¤Þ¤ê, ¤½¤Î package ¤¬¸Å¤¯¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤é¤Ê¤¤) ¤¿¤á¤Ç¤¹: ¿·¤·¤¤¥Ð¡¼¥¸¥ç¥óÈÖ¹æ (¾å¤ÎÎã¤Ç¤Ï1.0,1) ¤Ï °ÍÁ³¤È¤·¤ÆÁ°¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ (20000801) ¤è¤ê¤â ¿ô»ú¤È¤·¤Æ¤Ï¾®¤µ¤¤¤Î¤Ç¤¹¤¬, ¼«Æ°²½¥Ä¡¼¥ë¤¬ ¥µ¥Õ¥£¥Ã¥¯¥¹ ,1 ¤òÆÃḚ̂·¤¤¤¹¤ë¤³¤È¤Ç, °ÊÁ°¤Î package ¤Ë¤ÏÌÀ¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¥µ¥Õ¥£¥Ã¥¯¥¹ ",0" ¤è¤ê¤â ¿·¤·¤¤¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹.

Âç¿¿ô¤Î ports ¤Ç¤Ï, PORTEPOCH ¤¬ ɬÍפˤʤ뤳¤È¤Ï ¤Þ¤ºÌµ¤¤¤â¤Î¤È¹Í¤¨¤é¤ì¤Æ¤¤¤Þ¤¹. ¤Þ¤¿, Ãí°Õ¿¼¤¯ PORTVERSION ¤ò »ÈÍѤ¹¤ë¤³¤È¤Ç, ¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¾­Íè¤Î¥ê¥ê¡¼¥¹¤¬ ¥Ð¡¼¥¸¥ç¥ó¹½Â¤¤òÊѹ¹¤¹¤ëɬÍפ¬½Ð¤Æ¤­¤¿¾ì¹ç¤Ë¤â, ¿¤¯¤Î¾ì¹ç Á°¤â¤Ã¤ÆÂбþ¤·¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦. ¤·¤«¤·, ¡Ö¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¡×¥ê¥ê¡¼¥¹¤Î¤è¤¦¤Ë, ¥ª¥Õ¥£¥·¥ã¥ë¤Ê ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò»ý¤¿¤Ê¤¤¥Ù¥ó¥À¡¼¥ê¥ê¡¼¥¹¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¤Ë¤Ï, FreeBSD ÈǤΠport ºî¼Ô¤Ë¤è¤ë¥±¥¢¤¬É¬Íפˤʤê¤Þ¤¹. ¤½¤¦¤¤¤Ã¤¿¥ê¥ê¡¼¥¹¤ËÂФ·, ¥ê¥ê¡¼¥¹ÆüÉÕ¤ò»È¤Ã¤¿¥é¥Ù¥ë¤ò ÉÕ¤±¤¿¤¤¤È¤¤¤¦Í¶ÏǤˤ«¤é¤ì¤ë¤³¤È¤¬¤¢¤ë¤Ç¤·¤ç¤¦¤¬, ¤½¤¦¤¹¤ë¤È¿·¤·¤¤¡Ö¥ª¥Õ¥£¥·¥ã¥ë¡×¥ê¥ê¡¼¥¹¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¤Ë, ¾å¤ÎÎã¤Ç¼¨¤·¤¿¤è¤¦¤ÊÌäÂ꤬µ¯¤­¤ë¤³¤È¤Ç¤·¤ç¤¦.

Î㤨¤Ð, ¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥ê¥ê¡¼¥¹¤¬ 20000917 ¤Ë¹Ô¤Ê¤ï¤ì, °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬 1.2 ¤À¤Ã¤¿¤È¤¹¤ë¤È, ¤½¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Î PORTVERSION ¤Ë¤Ï 20000917 ¤Ç¤Ï¤Ê¤¯ 1.2.20000917 ¤«²¿¤«, ¤½¤Î¤è¤¦¤ÊÈÖ¹æ¤ò »ØÄꤹ¤ë¤Î¤¬Îɤ¤¤Ç¤·¤ç¤¦. ¤½¤¦¤·¤Æ¤ª¤±¤Ð, Î㤨¤Ð¥Ð¡¼¥¸¥ç¥óÈÖ¹æ 1.3 ¤È¤·¤Æ¸å³¤Î¥ê¥ê¡¼¥¹¤¬ ¹Ô¤Ê¤ï¤ì¤¿¾ì¹ç¤Ë¤â, Âç¾®´Ø·¸¤¬Êø¤µ¤ì¤º¤Ë¤¹¤à¤ï¤±¤Ç¤¹.


4.3.3. PORTREVISION ¤È PORTEPOCH ¤Î»È¤¤Êý¤ÎÎã

gtkmumble ¤Î port, ¥Ð¡¼¥¸¥ç¥ó 0.10 ¤¬ ports collection ¤Ë¥³¥ß¥Ã¥È¤µ¤ì¤Þ¤¹.

PORTNAME=       gtkmumble
PORTVERSION=    0.10

PKGNAME ¤Ï gtkmumble-0.10 ¤Ë¤Ê¤ê¤Þ¤¹.

¥í¡¼¥«¥ë¤Ê FreeBSD ¥Ñ¥Ã¥Á¤òɬÍפȤ¹¤ë ¥»¥­¥å¥ê¥Æ¥£¥Û¡¼¥ë¤¬È¯¸«¤µ¤ì¤Þ¤·¤¿. ¤½¤ì¤Ë¹ç¤ï¤»¤Æ PORTREVISION ¤òÁý¤ä¤·¤Þ¤¹.

PORTNAME=       gtkmumble
PORTVERSION=    0.10
PORTREVISION=   1

PKGNAME ¤Ï gtkmumble-0.10_1 ¤Ë¤Ê¤ê¤Þ¤¹.

¥Ù¥ó¥À¤«¤é 0.2 ¤È¤¤¤¦Èֹ椬¿¶¤é¤ì¤¿ ¿·¥Ð¡¼¥¸¥ç¥ó¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤¹ (¤³¤ì¤Ë¤è¤ê, ºî¼Ô¤Ï 0.10 ¤È¤¤¤¦ÈÖ¹æ¤ò ``0.9 ¤Î¼¡¤È¤¤¤¦°ÕÌ£¤Ç¤Ï¤Ê¤¯'', ¼ÂºÝ¤Ë¤Ï 0.1.0 ¤Î¤Ä¤â¤ê¤Ç »ÈÍѤ·¤Æ¤¤¤¿¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹ - ¤¢¤é¤é, º£¤µ¤éÃÙ¤¹¤®¤ë). ¿·¤·¤¤¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó 2 ¤Ï¿ô»ú¤È¤·¤Æ °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ 10 ¤è¤ê¾®¤µ¤¤¤Î¤Ç, ¶¯À©Åª¤Ë¿·¤·¤¤ package ¤ÎÊý¤ò¡Ö¤è¤ê¿·¤·¤¤¡×¤Èǧ¼±¤µ¤»¤ë¤¿¤á PORTEPOCH ¤òÁý¤ä¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹. ¤³¤ì¤Ï¿·¤·¤¤¥Ù¥ó¥À¡¼¥ê¥ê¡¼¥¹¤Ê¤Î¤Ç, PORTREVISION ¤Ï 0 ¤Ë¥ê¥»¥Ã¥È (¤Þ¤¿¤Ï Makefile ¤«¤éºï½ü) ¤µ¤ì¤Þ¤¹.

PORTNAME=       gtkmumble
PORTVERSION=    0.2
PORTEPOCH=      1

PKGNAME ¤Ï gtkmumble-0.2,1 ¤Ë¤Ê¤ê¤Þ¤¹.

¼¡¤Î¥ê¥ê¡¼¥¹¤Ï 0.3 ¤Ç¤¹. PORTEPOCH ¤Ï¸º¾¯¤¹¤ë¤³¤È¤¬Ìµ¤¤¤¿¤á, º£Å٤ΥС¼¥¸¥ç¥óÊÑ¿ô¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:

PORTNAME=       gtkmumble
PORTVERSION=    0.3
PORTEPOCH=      1

PKGNAME ¤Ï gtkmumble-0.3,1 ¤Ë¤Ê¤ê¤Þ¤¹.

Note: ¤â¤·, ¤³¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤è¤Ã¤Æ PORTEPOCH ¤¬ 0 ¤Ë ¥ê¥»¥Ã¥È¤µ¤ì¤¿¤È¤¹¤ë¤È, 3 ¤Ï¿ô»ú¤È¤·¤Æ 10 ¤è¤ê¤â¾®¤µ¤¤¤¿¤á, gtkmumble-0.10_1 ¤Î package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿Ã¯¤«¤Ï gtkmumble-0.3 ¤Î package ¤ÎÊý¤¬¿·¤·¤¤¤³¤È¤Ë µ¤¤¬¤Ä¤«¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦.


4.4. PKGNAMEPREFIX ¤ª¤è¤Ó PKGNAMESUFFIX

Æó¤Ä¤Î¥ª¥×¥·¥ç¥óÊÑ¿ô PKGNAMEPREFIX ¤È PKGNAMESUFFIX ¤Ï, PORTNAME ¤ª¤è¤Ó PORTVERSION ¤È·ë¹ç¤µ¤ì, PKGNAME ¤ò ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} ¤È¤·¤ÆÄêµÁ¤·¤Þ¤¹. ¤³¤Î»þ, ŬÀÚ¤Ê package ̾¤òÁª¤Ö¤¿¤á¤Î ¥¬¥¤¥É¥é¥¤¥ó¤Ë±è¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. ÆÃ¤Ë, PORTVERSION Ãæ¤Ë ¥Ï¥¤¥Õ¥ó (-) ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤Þ¤¿, package ̾¤Ë language- ¤â¤·¤¯¤Ï compiled.specifics Éôʬ¤¬ ´Þ¤Þ¤ì¤ë¾ì¹ç, ¤½¤ì¤¾¤ì PKGNAMEPREFIX ¤È PKGNAMESUFFIX ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤é¤ò PORTNAME ¤Î°ìÉô¤È¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó.


4.5. DISTNAME

DISTNAME ¤ÏÀ½ºî¼Ô¤¬·è¤á¤¿¥½¥Õ¥È¥¦¥§¥¢¤Î̾Á°¤Ç¤¹. ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï DISTNAME ¤Ï ${PORTNAME}-${PORTVERSION} ¤Ë¤Ê¤ê¤Þ¤¹¤¬, ɬÍפ˱þ¤¸¤Æ½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. DISTNAME ¤ÏÆó¤Ä¤Î¾ì½ê¤Ç¤·¤«»È¤ï¤ì¤Þ¤»¤ó. °ì¤ÄÌܤÏÇÛÉÛ¥Õ¥¡¥¤¥ë¥ê¥¹¥È (DISTFILES) ¤Î¥Ç¥Õ¥©¥ë¥È ${DISTNAME}${EXTRACT_SUFX} ¤Ç, Æó¤ÄÌܤÏÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬Å¸³«¤µ¤ì¤ë ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê WRKSRC ¤Î¥Ç¥Õ¥©¥ë¥È work/${DISTNAME} ¤Ç¤¹.

Note: PKGNAMEPREFIX ¤ä PKGNAMESUFFIX ¤Ï DISTNAME ¤Ë±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó. ¤Þ¤¿, ¸µ¤Î¥½¡¼¥¹¥¢¡¼¥«¥¤¥Ö¤¬ ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} ¤È¤¤¤¦ ̾Á°¤Ç¤Ï¤Ê¤¤¤Î¤Ë, WRKSRC ¤ò work/${PORTNAME}-${PORTVERSION} ¤È ÀßÄꤷ¤Æ¤¤¤ë¾ì¹ç, ¤ª¤½¤é¤¯ DISTNAME ¤Ï ¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤ -- DISTNAME ¤È WRKSRC ¤Î ξÊý¤ò (¤½¤·¤Æ ¤ª¤½¤é¤¯ EXTRACT_SUFX ¤â) ¥»¥Ã¥È¤¹¤ë¤è¤ê¤Ï, DISTFILES ¤ò ÄêµÁ¤¹¤ëÊý¤¬³Ú¤Ç¤·¤ç¤¦.


4.6. CATEGORIES

´°À®¤·¤¿ package ¤Î¼ÂÂÎ¤Ï /usr/ports/packages/All ¤ËÃÖ¤«¤ì, °ì¤Ä¤«¤½¤ì°Ê¾å¤Î /usr/ports/packages ¤Î ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬ºî¤é¤ì¤Þ¤¹. ¤³¤ì¤é¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤Ï CATEGORIES ¤È¤¤¤¦ ÊÑ¿ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Þ¤¹. ¤³¤ì¤Ï, ¥æ¡¼¥¶¤¬ FTP ¥µ¥¤¥È¤ä CDROM ¾å¤Î package ¤Î»³¤ò ÅϤêÊ⤯¤³¤È¤òÍÆ°×¤Ë¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹. ´û¸¤Î¥«¥Æ¥´¥ê¤ò¸«¤Æ, ¤½¤Î port ¤ËŬ¤·¤¿¤â¤Î¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤.

¤³¤Î¥ê¥¹¥È¤Ï, ¤³¤Î port ¤¬ port ¥Ä¥ê¡¼¤Î ¤É¤³¤Ë¼è¤ê¹þ¤Þ¤ì¤ë¤«¤â·èÄꤷ¤Þ¤¹. Æó¤Ä°Ê¾å¤Î¥«¥Æ¥´¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï, ºÇ½é¤Î¥«¥Æ¥´¥ê¤Ç»ØÄꤵ¤ì¤ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹. ŬÀڤʥ«¥Æ¥´¥ê¤òÁª¤ÖÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï, ¥«¥Æ¥´¥ê¤Î¥»¥¯¥·¥ç¥ó¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤.

ËÜÅö¤Ë¤½¤Î port ¤¬¸½Â¸¤¹¤ë¥«¥Æ¥´¥ê¤Î¤¤¤º¤ì¤Ë¤â Åö¤Æ¤Ï¤Þ¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï, ¿·¤·¤¤¥«¥Æ¥´¥ê̾¤òºî¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹. ¤½¤Î¾ì¹ç, ¿·¤·¤¤¥«¥Æ¥´¥ê̾¤òÄ󰯤¹¤ë¥á¡¼¥ë¤ò FreeBSD ports ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤¢¤Æ¤Ë Á÷¤Ã¤Æ¤¯¤À¤µ¤¤.


4.7. MASTER_SITES

¸µ¤Ë¤Ê¤ëÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò»Ø¤·¼¨¤¹, FTP/HTTP ¤Î URL ¤Î¥Õ¥¡¥¤¥ë̾¤ò ½ü¤¤¤¿Éôʬ¤ò MASTER_SITES ¤ËÀßÄꤷ¤Þ¤¹. ºÇ¸å¤Ë¥¹¥é¥Ã¥·¥å (/) ¤ò¤Ä¤±¤ë¤³¤È¤ò ¤ªËº¤ì¤Ê¤¯!

¤³¤Î¥·¥¹¥Æ¥à¾å¤ËÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç, make ¥Þ¥¯¥í¤Ï FETCH ¤ò»È¤Ã¤Æ ¤³¤ÎÊÑ¿ô¤Ë»ØÄꤵ¤ì¤¿¥µ¥¤¥È¤«¤éÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Þ¤¹.

¤³¤Î¥ê¥¹¥È¤Ë¤Ï, ¤Ç¤­¤ì¤Ð°Û¤Ê¤ëÂçΦ¤Ë¸ºß¤¹¤ë Ê£¿ô¤Î¥µ¥¤¥È¤òÆþ¤ì¤Æ¤ª¤¯¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤³¤ì¤Ë¤è¤ê, ¹­°è¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥È¥é¥Ö¥ë¤ËÂФ¹¤ë ÂÑÀ­¤ò¹â¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¤µ¤é¤Ë»ä¤¿¤Á¤Ï, ¼«Æ°Åª¤ËºÇ¤â¶á¤¤¥Þ¥¹¥¿¥µ¥¤¥È¤òȽÃǤ·¤Æ, ¤½¤³¤«¤é¼è¤Ã¤Æ¤¯¤ë¥á¥«¥Ë¥º¥à¤ÎƳÆþ¤ò·×²è¤·¤Æ¤¤¤Þ¤¹.

¸µ¤Ë¤Ê¤ë tar ¥Õ¥¡¥¤¥ë¤¬ X-contrib ¤ä GNU, Perl CPAN Åù¤Î ͭ̾¤Ê¥¢¡¼¥«¥¤¥Ö¥µ¥¤¥È¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, MASTER_SITE_* ¤ò»È¤Ã¤Æ ¤³¤ì¤é¤Î¥µ¥¤¥È¤ò´Ê·é¤Ë (Î㤨¤Ð MASTER_SITE_XCONTRIB ¤È¤«, MASTER_SITE_PERL_CPAN ¤Î¤è¤¦¤Ë) »ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. MASTER_SITES ¤ò ¤³¤ì¤é¤ÎÊÑ¿ô¤Î°ì¤Ä¤Ë¥»¥Ã¥È¤·, ¥µ¥¤¥ÈÆâ¤Ç¤Î¥Ñ¥¹¤ò MASTER_SITE_SUBDIR ¤Ë »ØÄꤹ¤ë¤À¤±¤Ç¤¹. °Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹.

MASTER_SITES=         ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR=   applications

¤³¤ì¤é¤ÎÊÑ¿ô¤Ï /usr/ports/Mk/bsd.sites.mk ¤Ç ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤¤¤Ä¤Ç¤â¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¥µ¥¤¥È¤¬Äɲ䵤ì¤Þ¤¹¤Î¤Ç, port ¤òÄó½Ð¤¹¤ëÁ°¤Ë ¤³¤Î¥Õ¥¡¥¤¥ë¤ÎºÇ¿·ÈǤò ¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë¿´³Ý¤±¤Æ¤¯¤À¤µ¤¤.

¥æ¡¼¥¶¤Ï /etc/make.conf Ãæ¤Ç MASTER_SITE_* ÊÑ¿ô¤ò¾å½ñ¤­¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹. ¤½¤¦¤¹¤ë¤³¤È¤Ç, ¤³¤ì¤é¤Îͭ̾¤Ê¥¢¡¼¥«¥¤¥Ö¤½¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯, ¹¥¤ß¤Î¥ß¥é¡¼¥µ¥¤¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


4.8. PATCHFILES

¤½¤Î port ¤¬ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Î¾¤Ë FTP ¤ä HTTP ¤Ç¼ê¤ËÆþ¤ë ÄɲåѥåÁ¤òɬÍפȤ¹¤ë¾ì¹ç¤Ë¤Ï, PATCHFILES ¤Ë¤Ï ¤½¤Î¥Ñ¥Ã¥Á¤Î¥Õ¥¡¥¤¥ë̾¤ò, PATCH_SITES ¤Ë¤Ï ¤½¤Î¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î URL ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. (½ñ¤­Êý¤Ï MASTER_SITES ¤ÈƱ¤¸¤Ç¤¹.)

¤½¤Î¥Ñ¥Ã¥Á¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë̾¤Ë;·×¤Ê¥Ñ¥¹Ì¾¤¬ ¤Ä¤¤¤Æ¤¤¤Æ, ¥½¡¼¥¹¥Ä¥ê¡¼¤Î¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê (¤Ä¤Þ¤ê WKRSRC) ¤«¤é¤ÎÁêÂХѥ¹¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï, ¤½¤ì¤Ë±þ¤¸¤¿ PATCH_DIST_STRIP ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤. ¤¿¤È¤¨¤Ð, ¥Ñ¥Ã¥ÁÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤Ë, ;·×¤Ê foozolix-1.0/ ¤¬¤Ä¤¤¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, PATCH_DIST_STRIP=-p1 ¤È¤·¤Æ¤¯¤À¤µ¤¤.

¤³¤ì¤é¤Î¥Ñ¥Ã¥Á¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Æ¤âÂç¾æÉפǤ¹. ¥Õ¥¡¥¤¥ë̾¤¬ .gz ¤ä .Z ¤Ç ½ª¤ï¤ë¾ì¹ç¤Ë¤Ï, ¼«Æ°Åª¤ËŸ³«¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹.

¤â¤·¥Ñ¥Ã¥Á¤¬, ¥É¥­¥å¥á¥ó¥ÈÅù¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤È°ì½ï¤Ë gzip ¤µ¤ì¤¿ tar ¥Õ¥¡¥¤¥ë¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ñ¤Ë PATCHFILES ¤ò»È¤¦¤À¤±¤Ç¤Ï¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó. ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï, ¤³¤Î¥Ñ¥Ã¥Á¤Î tar ¥Õ¥¡¥¤¥ë¤Î̾Á°¤È¾ì½ê¤ò DISTFILES ¤È MASTER_SITES ¤Ë Äɲ䷤Ƥª¤­¤Þ¤¹. ¤½¤ì¤«¤é, EXTRA_PATCHES ÊÑ¿ô¤Ë ¤½¤ì¤é¤Î¥Ñ¥Ã¥Á¤ò»ØÄꤹ¤ì¤Ð, bsd.port.mk ¤¬ ¼«Æ°Åª¤Ë¥Ñ¥Ã¥Á¤òŬÍѤ·¤Æ¤¯¤ì¤Þ¤¹. ÆÃ¤ËÃí°Õ¤¬É¬ÍפʤΤÏ, ¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤ò PATCHDIR ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤³¤È¤Ç¤¹ -- (ÌõÃí: port ¤¬ CD-ROM ¾å¤ËÃÖ¤«¤ì¤Æ¤¤¤ëÅù¤Î¾ì¹ç¤Ë¤Ï,) ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï½ñ¤­¹þ¤ß¤¬¤Ç¤­¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó.

Note: ¤½¤ì¤¬ÉáÄ̤Πgzip ¤« compress ¤µ¤ì¤¿ tar ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ì¤Ð, Ä̾ï¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È°ì½ï¤Ë¥Ñ¥Ã¥ÁŬÍÑ»þ¤Þ¤Ç¤ËŸ³«¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç, ÌÀ¼¨Åª¤ËŸ³«¤¹¤ëɬÍפϤʤ¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤. ¤â¤·¥Ñ¥Ã¥Á¤ò DISTFILES ¤ËÄɲä·¤¿¾ì¹ç¤Ë¤Ï, ¥Ñ¥Ã¥Á¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤¬Å¸³«¤µ¤ì¤ëºÝ¤Ë, ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë ²¿¤«¤ò¾å½ñ¤­¤·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤. ¤µ¤é¤Ë, ¥³¥Ô¡¼¤µ¤ì¤¿¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¥³¥Þ¥ó¥É¤ò pre-clean ¥¿¡¼¥²¥Ã¥È¤ËÄɲ乤뤳¤È¤ò ˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤.


4.9. MAINTAINER

¤¢¤Ê¤¿¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤ò¤³¤³¤ËÆþ¤ì¤Æ¤¯¤À¤µ¤¤. ¤ª´ê¤¤¤·¤Þ¤¹. :-)

ÊݼéôÅö¼Ô (maintainer) ¤ÎÀÕǤ¤Ë´Ø¤¹¤ë¾ÜºÙÀâÌÀ¤Ï, Makefile Ãæ¤Î MAINTAINER ¤Î ¥»¥¯¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤.


4.10. °Í¸´Ø·¸

¿¤¯¤Î port ¤Ï¾¤Î port ¤Ë°Í¸¤·¤Æ¤¤¤Þ¤¹. ɬÍפʤâ¤Î¤¹¤Ù¤Æ¤¬¥æ¡¼¥¶¤Î¥Þ¥·¥ó¾å¤Ë¸ºß¤¹¤ë¤³¤È¤ò Êݾڤ¹¤ë¤¿¤á¤Ë»ÈÍѲÄǽ¤Ê, 5 ¤Ä¤ÎÊÑ¿ô¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹. ¤è¤¯¤¢¤ë¥±¡¼¥¹¤Î¤¿¤á¤Ë¤¢¤é¤«¤¸¤áÀßÄꤵ¤ì¤¿°Í¸ÊÑ¿ô¤Ë²Ã¤¨, ¤¤¤¯¤Ä¤«¤Î°Í¸´Ø·¸¤ÎÀ©¸æ¤Î¤¿¤á¤ÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹.


4.10.1. LIB_DEPENDS

¤½¤Î port ¤¬É¬ÍפȤ¹¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò, ¤³¤ÎÊÑ¿ô¤Ç»ØÄꤷ¤Þ¤¹. (ÌõÃí: libc Åù, ɸ½à¤Î¥é¥¤¥Ö¥é¥ê¤Ï»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó.) ¤³¤ì¤Ï lib:dir[:target] ¤È¤¤¤¦ ÁȤΥꥹ¥È¤Ç¤¹. lib ¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î̾Á°, dir ¤¬ ¤½¤Î¥é¥¤¥Ö¥é¥ê¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë port ¤Î¥Ç¥£¥ì¥¯¥È¥ê, target¤¬ ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¸Æ¤Ð¤ì¤ë¥¿¡¼¥²¥Ã¥È¤Ç¤¹. ¤¿¤È¤¨¤Ð,

LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg:install
¤È»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç, ¤Þ¤º¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤¬ 9 ¤Î jpeg ¶¦Í­ ¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹. ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï, ports ¥Ä¥ê¡¼¤Î graphics/jpeg ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·, target ¤Î¥³¥ó¥Ñ¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò ¹Ô¤Ê¤¤¤Þ¤¹. target ¤ÎÉôʬ¤Ï, ¤½¤ì¤¬ DEPENDS_TARGET (¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï install) ¤È Åù¤·¤¤¤È¤­¤Ë¤Ï¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.

Note: ÀèÆ¬¤Î lib ¤ÎÉôʬ¤Ï ldconfig -r | grep -wF ¤Ø¤Î °ú¿ô¤Ë¤Ê¤ê¤Þ¤¹. ¤³¤ÎÊÑ¿ô¤Ë¤ÏÀµµ¬É½¸½¤òÆþ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

¤³¤Î°Í¸´Ø·¸¤Î¥Á¥§¥Ã¥¯¤Ï, extract ¥¿¡¼¥²¥Ã¥È¤È install ¥¿¡¼¥²¥Ã¥È¤ÎÃæ¤Ç, 2 ²ó¹Ô¤Ê¤ï¤ì¤Þ¤¹. (ÌõÃí: ¤³¤ì¤Ï, ¤½¤Î port ¤ò¥Ó¥ë¥É¤¹¤ë¥Þ¥·¥ó¤È ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥Þ¥·¥ó¤¬°ã¤¦¾ì¹ç, ¤É¤Á¤é¤Î¥Þ¥·¥ó¤Ç¤â ¤½¤Î¥é¥¤¥Ö¥é¥ê¤¬ÍøÍѤǤ­¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ç¤¹.) ƱÍͤË, °Í¸¤¹¤ë¥é¥¤¥Ö¥é¥ê¤Î̾Á°¤Ï package Ãæ¤Ë¤â½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤Æ, pkg_add ¼Â¹Ô»þ¤Ë ¤½¤Î¥é¥¤¥Ö¥é¥ê¤¬ ¥æ¡¼¥¶¤Î¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð, ¼«Æ°Åª¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹.


4.10.2. RUN_DEPENDS

¤³¤Î port ¤Î¼Â¹Ô»þ¤ËɬÍפȤʤë¥×¥í¥°¥é¥à, ¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤È¤­¤Ë¤Ï¤³¤ÎÊÑ¿ô¤Ç»ØÄꤷ¤Þ¤¹. ¤³¤ì¤Ï path:dir[:target] ¤È¤¤¤¦ ÁȤΥꥹ¥È¤Ç¤¹. path ¤¬¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥×¥í¥°¥é¥à¤Î̾Á°, dir ¤¬ ¤½¤ì¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë port ¤Î¥Ç¥£¥ì¥¯¥È¥ê, target ¤¬ ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¸Æ¤Ð¤ì¤ë ¥¿¡¼¥²¥Ã¥È¤Ç¤¹. path ¤ÎºÇ½é¤Îʸ»ú¤¬ ¥¹¥é¥Ã¥·¥å (/) ¤Î¾ì¹ç¤Ë¤Ï ¥Õ¥¡¥¤¥ë¤«¥Ç¥£¥ì¥¯¥È¥ê¤È¤ß¤Ê¤·, ¸ºß¤¹¤ë¤«¤É¤¦¤« test -e ¤ò»È¤Ã¤Æ¥Á¥§¥Ã¥¯¤·¤Þ¤¹. ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤È¹Í¤¨¤Æ, ¤½¤Î¥×¥í¥°¥é¥à¤¬¥æ¡¼¥¶¤Î¥µ¡¼¥Á¥Ñ¥¹¾å¤Ë¤¢¤ë¤«¤É¤¦¤« which -s ¤ò»È¤Ã¤Æ³Îǧ¤·¤Þ¤¹.

¤¿¤È¤¨¤Ð Makefile ¤Ë°Ê²¼¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¢¤ë¤È¤·¤Þ¤¹.

RUN_DEPENDS=   ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \
                wish8.0:${PORTSDIR}/x11-toolkits/tk80

¤Þ¤º, /usr/local/etc/innd ¤È¤¤¤¦ ¥Õ¥¡¥¤¥ë¤«¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤¹¤ë¤«³Îǧ¤·¤Þ¤¹. ¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï, ports ¥Ä¥ê¡¼¤Î news/inn ¤È¤¤¤¦¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç ¥Ó¥ë¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹. ¤µ¤é¤Ë, wish8.0 ¤È¤¤¤¦¥×¥í¥°¥é¥à¤¬ ¥æ¡¼¥¶¤Î¥µ¡¼¥Á¥Ñ¥¹Ãæ¤Ë¤¢¤ë¤«¤É¤¦¤«Ãµ¤·¤Þ¤¹. ¤Ê¤¤¾ì¹ç¤Ë¤ÏƱ¤¸¤¯ ports ¥Ä¥ê¡¼¤Î x11-toolkits/tk80 ¤È¤¤¤¦¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç ¥³¥ó¥Ñ¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹.

Note: ¤³¤ÎÎã¤Ç, innd ¤Ï¼ÂºÝ¤Ë¤Ï¥×¥í¥°¥é¥à¤Ç¤¹. ¤³¤Î¤è¤¦¤Ë, ¥×¥í¥°¥é¥à¤Ç¤¢¤Ã¤Æ¤â°ìÈ̥桼¥¶¤Î¥µ¡¼¥Á¥Ñ¥¹¤Ë ´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¤Ï¹Í¤¨¤Ë¤¯¤¤¤È¤³¤í¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤â¤Î¤Î¾ì¹ç¤Ë¤Ï, ÀäÂХѥ¹¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤.

¤³¤Î°Í¸´Ø·¸¤Ï install ¥¿¡¼¥²¥Ã¥ÈÃæ¤Ç ¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹. ¤Þ¤¿, pkg_add ¤Ë¤è¤ë¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤Ë, ¤½¤Î package ¤¬°Í¸¤¹¤ë¤â¤Î¤¬¥æ¡¼¥¶¤Î¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï ¼«Æ°Åª¤ËÄɲ夥󥹥ȡ¼¥ë¤Ç¤­¤ë¤è¤¦¤Ë, °Í¸¤¹¤ë¤â¤Î¤Î̾Á°¤â package Ãæ¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹. target ¤ÎÉôʬ¤¬ DEPENDS_TARGET ¤ÈƱ¤¸¾ì¹ç¤Ë¤Ï, target ¤ÎÉôʬ¤ò¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


4.10.3. BUILD_DEPENDS

¤³¤Î port ¤Î¥Ó¥ë¥É»þ¤ËɬÍפȤʤë¥×¥í¥°¥é¥à, ¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤È¤­¤Ë¤Ï¤³¤ÎÊÑ¿ô¤Ç»ØÄꤷ¤Þ¤¹. RUN_DEPENDS ¤ÈƱÍͤË, ¤³¤ì¤Ï path:dir[:target] ¤È¤¤¤¦ ÁȤΥꥹ¥È¤Ç¤¹. ¤¿¤È¤¨¤Ð,

BUILD_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
¤È»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç, ¤Þ¤º unzip ¤È¤¤¤¦Ì¾Á°¤Î ¥×¥í¥°¥é¥à¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹. ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï ports ¥Ä¥ê¡¼¤Î archivers/unzip ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·, ¥Ó¥ë¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹.

Note: ¤³¤³¤Ç¸À¤¦``¥Ó¥ë¥É''¤È¤Ï, ¥Õ¥¡¥¤¥ë¤ÎŸ³«¤«¤é ¥³¥ó¥Ñ¥¤¥ë¤Þ¤Ç¤Î¤¹¤Ù¤Æ¤Î½èÍý¤ò°ÕÌ£¤·¤Þ¤¹. ¤³¤Î°Í¸´Ø·¸¤Ï, extract ¥¿¡¼¥²¥Ã¥È¤ÎÃæ¤Ç ¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹. target ¤ÎÉôʬ¤Ï, DEPENDS_TARGET ¤ÈƱ¤¸¾ì¹ç¤Ë¤Ï ¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


4.10.4. FETCH_DEPENDS

¤³¤Î port ¤ò¼è¤Ã¤Æ¤¯¤ë¤Î¤ËɬÍפȤʤë¥×¥í¥°¥é¥à, ¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤È¤­¤Ë¤Ï¤³¤ÎÊÑ¿ô¤Ç»ØÄꤷ¤Þ¤¹. ¾å¤ÎÆó¤Ä¤ÈƱÍͤË, ¤³¤ì¤Ï path:dir[:target] ¤È¤¤¤¦ ÁȤΥꥹ¥È¤Ç¤¹. ¤¿¤È¤¨¤Ð,

FETCH_DEPENDS=ncftp2:${PORTSDIR}/net/ncftp2
¤È»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð, ncftp2 ¤È¤¤¤¦Ì¾Á°¤Î ¥×¥í¥°¥é¥à¤òõ¤·¤Þ¤¹. ¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï, ports ¥Ä¥ê¡¼¤Î net/ncftp2 ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç ¥Ó¥ë¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹.

¤³¤Î°Í¸´Ø·¸¤Ï fetch ¥¿¡¼¥²¥Ã¥ÈÃæ¤Ç ¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹. target ¤ÎÉôʬ¤Ï, DEPENDS_TARGET ¤ÈƱ¤¸¾ì¹ç¤Ë¤Ï ¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


4.10.5. DEPENDS

¾åµ­¤Î»Í¤Ä¤Î¤¤¤º¤ì¤Ë¤â¤¢¤Æ¤Ï¤Þ¤é¤Ê¤¤¤è¤¦¤Ê°Í¸´Ø·¸¤¬¤¢¤ë¾ì¹ç, ¤Þ¤¿¤Ï¾¤Î port ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤À¤±¤Ç¤Ï¤Ê¤¯ ¥½¡¼¥¹¤¬Å¸³«¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï, ¤³¤ÎÊÑ¿ô¤ò»È¤¤¤Þ¤¹. ¤³¤ì¤Ï¾åµ­¤Î»Í¤Ä¤È°ã¤¤, ÆÃ¤Ë``³Îǧ''¤¹¤ë¤â¤Î¤¬ ¤¢¤ê¤Þ¤»¤ó¤Î¤Ç, dir[:target] ¤È¤¤¤¦·Á¼°¤Î¥ê¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹. target ¤ÎÉôʬ¤Ï DEPENDS_TARGET ¤ÈƱ¤¸¾ì¹ç¤Ë¤Ï ¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


4.10.6. ¤è¤¯¤¢¤ë°Í¸´Ø·¸¤òɽ¤¹ÊÑ¿ô

¤½¤Î ports ¤¬ X Window System ¤òɬÍפȤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð, USE_XLIB=yes ¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ (¤³¤ì¤Ï USE_IMAKE ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð ¼«Æ°Åª¤ËÄêµÁ¤µ¤ì¤Þ¤¹). BSD make ¤Ç¤Ï¤Ê¤¯ GNU make ¤òɬÍפȤ¹¤ë¾ì¹ç¤Ë¤Ï USE_GMAKE=yes ¤ò, GNU autoconf ¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï USE_AUTOCONF=yes ¤ò, ºÇ¿·¤Î qt toolkit ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï USE_QT=yes ¤ò, perl ¸À¸ì¤Î¥Ð¡¼¥¸¥ç¥ó 5 ¤òɬÍפȤ¹¤ë¾ì¹ç¤Ë¤Ï USE_PERL5=yes ¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ (ÆÃ¤ËºÇ¸å¤Î¤â¤Î¤Ï½ÅÍפǤ¹. FreeBSD ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ê, ´ðËÜ¥·¥¹¥Æ¥à¤Ë perl5 ¤¬ ´Þ¤Þ¤ì¤Æ¤¤¤¿¤ê, ¤¤¤Ê¤«¤Ã¤¿¤ê¤·¤Þ¤¹).


4.10.7. °Í¸´Ø·¸¤Ë´Ø¤¹¤ëÃí°Õ

¾å¤Ç½Ò¤Ù¤¿¤è¤¦¤Ë, °Í¸¤¹¤ë ports ¤¬É¬Íפˤʤ俤Ȥ­¤Ë ¸Æ¤Ð¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥¿¡¼¥²¥Ã¥È¤Ï DEPENDS_TARGET ¤Ç, ¤½¤Î¥Ç¥Õ¥©¥ë¥È¤Ï install ¤Ç¤¹. ¤³¤ì¤Ï¥æ¡¼¥¶¤¬»ÈÍѤ¹¤ëÊÑ¿ô¤Ç¤¢¤ê, port ¤Î Makefile ¤ÇÄêµÁ¤¹¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. ¤â¤·, ¤½¤Î port ¤¬ÆÃÊ̤ÊÊýË¡¤Ç°Í¸´Ø·¸¤ò°·¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï, DEPENDS_TARGET ¤òºÆÄêµÁ¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯ *_DEPENDS ÊÑ¿ô¤Î :target Éôʬ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤.

make clean ¤ÈÆþÎϤ·¤¿¤È¤­¤Ë¤Ï, ¤½¤Î port ¤¬°Í¸¤¹¤ë port ¤â¼«Æ°Åª¤Ë clean ¤µ¤ì¤Þ¤¹. ¤½¤¦¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï, ´Ä¶­ÊÑ¿ô NOCLEANDEPENDS ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤.

̵¾ò·ï¤Ë¾¤Î port ¤Ë°Í¸¤µ¤»¤ë¤Ë¤Ï, BUILD_DEPENDS ¤ä RUN_DEPENDS ¤ÎºÇ½é¤Î¥Õ¥£¡¼¥ë¥É¤Ë ${NONEXISTENT} ¤È¤¤¤¦ÊÑ¿ô¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤Ï, ¾¤Î port ¤Î¥½¡¼¥¹¤¬É¬ÍפʤȤ­¤Î¤ß»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤. ¥¿¡¼¥²¥Ã¥È¤â»ØÄꤹ¤ë¤³¤È¤Ç, ¥³¥ó¥Ñ¥¤¥ë¤Î»þ´Ö¤òÀáÌó¤Ç¤­¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹. ¤¿¤È¤¨¤Ð

BUILD_DEPENDS=   ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract
¤È¤¹¤ë¤È, ¾ï¤Ë JPEG port ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¹Ô¤Ã¤Æ ¥½¡¼¥¹¤ÎŸ³«¤ò¹Ô¤Ê¤¤¤Þ¤¹.

¤¢¤Ê¤¿¤¬¤ä¤ê¤¿¤¤¤³¤È¤¬Â¾¤ÎÊýË¡¤Ç¤Ï¤Ç¤­¤Ê¤¤¾ì¹ç°Ê³°¤Ë¤Ï DEPENDS ¤ò»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤. ¤³¤ì¤Ï¾ï¤Ë¾¤Î port ¤ÎºîÀ®¤ò¹Ô¤Ê¤¤ (¤µ¤é¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï ¥¤¥ó¥¹¥È¡¼¥ë¤â¹Ô¤Ê¤¤), package ¤Þ¤ÇºîÀ®¤·¤Þ¤¹. ¤³¤Îưºî¤¬ËÜÅö¤Ë½ê˾¤Î¤â¤Î¤Ç¤·¤¿¤é, ¤½¤ì¤ò BUILD_DEPENDS ¤È RUN_DEPENDS ¤Ë½ñ¤¯¤Ù¤­¤Ç¤·¤ç¤¦ -- ¾¯¤Ê¤¯¤È¤â°Õ¿Þ¤òÌÀ³Î¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.


4.11. ¥ª¥×¥·¥ç¥óÁªÂò²Äǽ¤Ê°Í¸¥é¥¤¥Ö¥é¥ê

µðÂç¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï, Ê£¿ô¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç ¥Ó¥ë¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹. ¤Ä¤Þ¤ê, ¤¤¤¯¤Ä¤â¤Î³°Éô¥é¥¤¥Ö¥é¥ê¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÃæ¤Î, ¤¢¤ë¤â¤Î¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¤Ë, ¤½¤ì¤ò³ÈÄ¥µ¡Ç½¤È¤·¤Æ»ÈÍѤ¹¤ë¤è¤¦¤Ë ÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹. ¤½¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò, ɬ¤º¤·¤â ¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤¬ ɬÍפȤ·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç, ports ¥·¥¹¥Æ¥à¤Ç¤Ï ¤É¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤¬¥Ó¥ë¥É¤µ¤ì¤ë¤Ù¤­¤«¤ò port ºî¼Ô¤¬ ·è¤á¤ë¤¿¤á¤Ë»È¤¨¤ë¥Õ¥Ã¥¯¤òÍѰդ·¤Æ¤¤¤Þ¤¹. ¤³¤ì¤é¤òŬÀڤ˥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ë¤è¤ê, ¥æ¡¼¥¶¤ò¥Ï¥Ã¥Ô¡¼¤Ë¤·¤¿¤ê, port 1 ¤Äʬ¤Î¥³¥¹¥È¤Ç 2 ¤Ä¤Þ¤¿¤Ï¤½¤ì°Ê¾å¤Î port ¤òÄ󶡤¹¤ë¤Î¤È ƱÍͤθúΨ²½¤ò¹Ô¤Ê¤¦¤³¤È¤¬²Äǽ¤Ç¤¹.

¤³¤ì¤é¤Î¥Õ¥Ã¥¯¤Î¤¦¤Á¤ÇºÇ¤â´Êñ¤Ë»È¤¨¤ë¤â¤Î¤Ï WITHOUT_X11 ¤Ç¤·¤ç¤¦. ¤½¤Î port ¤¬ X Window System ¤Î¥µ¥Ý¡¼¥È¤¢¤ê¤È, ¥µ¥Ý¡¼¥È¤Ê¤·¤ÎÀßÄê¤Ç¥Ó¥ë¥É¤Ç¤­¤ë¤Î¤Ç¤¢¤ì¤Ð, Ä̾ï¤Ï X Window System ¥µ¥Ý¡¼¥È¤¢¤ê¤Ç¥Ó¥ë¥É¤¹¤ë¤Ù¤­¤Ç¤·¤ç¤¦. ¥Ó¥ë¥É»þ¤Ë WITHOUT_X11 ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð, ¤½¤Î»þ¤Ï X Window System ¥µ¥Ý¡¼¥È¤Ê¤·¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ ¥Ó¥ë¥É¤µ¤ì¤ë¤Ù¤­¤Ç¤¹.

GNOME ´Ä¶­¤ÎÍÍ¡¹¤Ê¥Ñ¡¼¥Ä¤â, ¤½¤Î¤è¤¦¤Ê¥Î¥Ö (¥Õ¥Ã¥¯) ¤ò »ý¤Ã¤Æ¤¤¤Þ¤¹¤¬, ¤½¤ì¤é¤Ï´öʬ»È¤¤¤Ë¤¯¤¤¤â¤Î¤Ç¤¹. Makefile Ãæ¤Ç ¤½¤ÎÌÜŪ¤Ë»ÈÍѤµ¤ì¤ëÊÑ¿ô¤Ï WANT_* ¤È HAVE_* ¤Ë¤Ê¤ê¤Þ¤¹. ¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬, °Ê²¼¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë°Í¸¥é¥¤¥Ö¥é¥ê¤Î °ì¤Ä¤Ë¤Ä¤¤¤Æ, ¥µ¥Ý¡¼¥È¤¢¤ê, ¤Ê¤·¤ÎξÊý¤Ç¥Ó¥ë¥É¤Ç¤­¤ë¾ì¹ç, Makefile ¤Ë¤Ï WANT_PKG ¤ò ¥»¥Ã¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹. ¤½¤·¤Æ, ¥Ó¥ë¥É»þ¤Ë HAVE_PKG ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð PKG ¤ò»È¤¦¥Ð¡¼¥¸¥ç¥ó¤¬¥Ó¥ë¥É¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹.

¸½ºß, ¤³¤Î¤è¤¦¤Ê·Á¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë WANT_* ÊÑ¿ô¤Ï, WANT_GLIB, WANT_GTK, WANT_ESOUND, WANT_IMLIB, ¤½¤·¤Æ WANT_GNOME ¤Ç¤¹.


4.12. ¥Ó¥ë¥É¤Î¥á¥«¥Ë¥º¥à

¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤¬¥Ó¥ë¥É¤ÎºÝ¤Ë GNU make ¤ò »È¤¦¾ì¹ç¤Ë¤Ï, USE_GMAKE=yes ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. configure ¤ò»È¤¦¾ì¹ç¤Ë¤Ï, HAS_CONFIGURE=yes ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. GNU configure ¤ò»È¤¦¾ì¹ç¤Ë¤Ï, GNU_CONFIGURE=yes ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤ (¤³¤ì¤Ë¤è¤ê HAS_CONFIGURE ¤â¥»¥Ã¥È¤µ¤ì¤Þ¤¹). configure ¤ËÄɲäΰú¿ô¤òÅϤ·¤¿¤¤¾ì¹ç¤Ë¤Ï, ÄɲÃÉôʬ¤ò CONFIGURE_ARGS ¤Ë»ØÄꤷ¤Æ¤¯¤À¤µ¤¤. (¥Ç¥Õ¥©¥ë¥È¤Î°ú¿ô¥ê¥¹¥È¤Ï, GNU configure ¤Ç¤Ï --prefix=${PREFIX} ¤Ë, GNU ¤Ç¤Ê¤¤ configure ¤Ç¤Ï¶õ¥ê¥¹¥È¤Ë¤Ê¤ê¤Þ¤¹.) GNU autoconf ¤ò»È¤¦¾ì¹ç¤Ë¤Ï, USE_AUTOCONF=yes ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤Ë¤è¤ê GNU_CONFIGURE ¤â¥»¥Ã¥È¤µ¤ì, configure ¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë autoconf ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹.

¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤¬ X Window System ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ê¤É¤Ç, imake ¤ò»È¤Ã¤Æ Imakefile ¤«¤é Makefile ¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Ï, USE_IMAKE=yes ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤. ¤½¤¦¤¹¤ë¤È¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥¹¥Æ¡¼¥¸¤Ç¼«Æ°Åª¤Ë xmkmf -a ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤â¤· -a ¥Õ¥é¥°¤¬ÌäÂê¤ò°ú¤­µ¯¤³¤¹¤Ê¤é, ¤µ¤é¤Ë XMKMF=xmkmf ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. ¤â¤·, ¤½¤Î port ¤¬ imake ¤ò»ÈÍѤ¹¤ë¤±¤ì¤É¤â install.man ¥¿¡¼¥²¥Ã¥È¤ò»ý¤¿¤Ê¤¤¾ì¹ç¤Ë¤Ï, NO_INSTALL_MANPAGES=yes ¤ò¥»¥Ã¥È¤·¤Æ¤¯¤À¤µ¤¤. ¤Ä¤¤¤Ç¤Ë, ¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤Îºî¼Ô¤òõ¤·½Ð¤·¤ÆÈ¬¤ÄÎö¤­¤Ë¤¹¤ë¤È ¤¤¤¤¤Ç¤·¤ç¤¦. (-_-#)

¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¸µ¡¹¤Î Makefile ¤¬ all °Ê³°¤Î¤â¤Î¤ò¥á¥¤¥ó¤Î¥¿¡¼¥²¥Ã¥È¤È ¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ¤½¤ì¤ò ALL_TARGET ¤Ë »ØÄꤷ¤Æ¤¯¤À¤µ¤¤. install ¤È INSTALL_TARGET ¤âƱÍͤǤ¹.


Chapter 5. ÆÃÊ̤ÊÇÛθ

port ¤òºîÀ®¤¹¤ë¾ì¹ç, ¹Íθ¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¤³¤È¤¬ ¾¤Ë¤â¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹. ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï, ¤½¤ì¤é¤Î¤¦¤Á¤Ç¤â ÆÃ¤Ë¤è¤¯¤¢¤ë¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹.


5.1. ¶¦Í­¥é¥¤¥Ö¥é¥ê

¤½¤Î port ¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¦¾ì¹ç, make ÊÑ¿ô INSTALLS_SHLIB ¤òÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤Ë¤è¤ê, bsd.port.mk ¤¬ post-install ¥¿¡¼¥²¥Ã¥È¤Î¼Â¹Ô»þ¤Ë ¿·¤·¤¤¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê (Ä̾ï¤Ï PREFIX/lib) ¤Ë ${LDCONFIG} -m ¤ò¼Â¹Ô¤·, ¶¦Í­¥é¥¤¥Ö¥é¥ê¥­¥ã¥Ã¥·¥å¤Ø¤ÎÅÐÏ¿¤¬¹Ô¤Ê¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹. ¤Þ¤¿, ¤³¤ÎÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç, ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥æ¡¼¥¶¤¬ ¤½¤ì¤ò¤¹¤°¤Ë»È¤¤»Ï¤á¤é¤ì¤ë¤è¤¦¤Ë, ¤Þ¤¿, ºï½ü¤ÎºÝ¤Ë¤Ï ¤½¤Î¥é¥¤¥Ö¥é¥ê¤¬ ¤Þ¤À¸ºß¤·¤Æ¤¤¤ë¤È ¥·¥¹¥Æ¥à¤Ë¸íǧ¤µ¤ì¤Ê¤¤¤è¤¦¤Ë, ŬÀÚ¤Ê @exec /sbin/ldconfig -m ¤È @unexec /sbin/ldconfig -R ¤Î¥Ú¥¢¤¬ pkg-plist ¥Õ¥¡¥¤¥ë¤Ë »ØÄꤵ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë°·¤ï¤ì¤Þ¤¹.

ɬÍפǤ¢¤ì¤Ð, ¶¦Í­¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î ¥ê¥¹¥È¤ò³ÊǼ¤¹¤ë make ÊÑ¿ô LDCONFIG_DIRS ¤ò ÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤ê, ¿·¤·¤¤¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë ¥Ç¥Õ¥©¥ë¥È¤Î°ÌÃÖ¤ò¾å½ñ¤­¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹. Î㤨¤Ð, ¤½¤Î port ¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò PREFIX/lib/foo ¤È PREFIX/lib/bar ¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç, Makefile ¤Ç °Ê²¼¤Îµ­½Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹:

INSTALLS_SHLIB= yes
LDCONFIG_DIRS=  %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar

pkg-plist ¤Î¾¤ÎÉôʬ¤ÈƱÍͤË, LDCONFIG_DIRS ¤ÎÆâÍÆ¤â sed(1) ¤Ë¤è¤ë ½èÍý¤¬¹Ô¤Ê¤ï¤ì¤ë¤¿¤á, ¤³¤³¤Ç¤â PLIST_SUB ¤Ë »ØÄꤷ¤¿ÃÖ´¹¤¬¹Ô¤Ê¤ï¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤. PREFIX ¤Ë¤Ï %%PREFIX%% ¤ò, LOCALBASE ¤Ë¤Ï %%LOCALBASE%%, X11BASE ¤Ë¤Ï %%X11BASE%% ¤ò »ÈÍѤ¹¤ë¤³¤È¤ò¿ä¾©¤·¤Þ¤¹.


Chapter 6. MASTERDIR

¤½¤Î port ¤ÎÊÑ¿ô (¤¿¤È¤¨¤Ð²òÁüÅ٤Ȥ«»æ¤Î¥µ¥¤¥º¤Ê¤É) ¤ò ÊѤ¨¤¿¤ê¤·¤¿, ¾¯¤·¤À¤±°ã¤¦¥Ð¡¼¥¸¥ç¥ó¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï, ¥æ¡¼¥¶¤¬Ê¬¤ê¤ä¤¹¤¤¤è¤¦¤Ë package ¤´¤È¤ËÊÌ¡¹¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·, ¤Ç¤­¤ë¤À¤± port ´Ö¤Ç¥Õ¥¡¥¤¥ë¤ò¶¦Í­¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤Û¤È¤ó¤É¤Î¾ì¹ç, ¤¦¤Þ¤¯ÊÑ¿ô¤ò»È¤¨¤Ð, °ì¤Ä¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï ¤È¤Æ¤âû¤¤ Makefile ¤òÃÖ¤¯¤À¤±¤ÇºÑ¤ß¤Þ¤¹. ¤½¤Îû¤¤ Makefile ¤Ç¤Ï, MASTERDIR ¤ò»È¤Ã¤Æ, »Ä¤ê¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄê¤Ç¤­¤Þ¤¹. ¤Þ¤¿, PKGNAMESUFFIX ¤Î °ìÉô¤ËÊÑ¿ô¤Ë»È¤Ã¤Æ, package ¤¬ÊÌ¡¹¤Î̾Á°¤ò»ý¤Ä¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

¶ñÂÎŪ¤ÊÎã¤ò¼¨¤¹¤Î¤¬°ìÈ֤狼¤ê¤ä¤¹¤¤¤Ç¤·¤ç¤¦. ¤³¤ì¤Ï japanese/xdvi300/Makefile ¤Î°ìÉô¤Ç¤¹.

PORTNAME=       xdvi
PORTVERSION=    17
PKGNAMEPREFIX=  ja-
PKGNAMESUFFIX=  ${RESOLUTION}
 :
# default
RESOLUTION?=   300
.if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \
       ${RESOLUTION} != 300 && ${RESOLUTION} != 400
       @${ECHO} "Error: invalid value for RESOLUTION: \"${RESOLUTION}\""
       @${ECHO} "Possible values are: 118, 240, 300 (default) and 400."
       @${FALSE}
.endif

japanese/xdvi300 ¤Ë¤Ï Makefile ¤Î¾¤ËÄ̾ï¤Î¥Ñ¥Ã¥Á¤ä, package ¥Õ¥¡¥¤¥ëÅù¤¬ÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹. ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç make ¤ò¼Â¹Ô¤¹¤ë¤È, ¥Ç¥Õ¥©¥ë¥È¤Î²òÁüÅÙ (300) ¤ò»È¤Ã¤Æ, ÉáÄÌ¤Ë port ¤Î¥Ó¥ë¥É¤ò¹Ô¤Ê¤¤¤Þ¤¹.

¾¤Î²òÁüÅ٤˴ؤ·¤Æ¤¤¤¦¤È, xdvi118/Makefile ¤Ë ɬÍפʤΤϤ³¤ì¤À¤±¤Ç¤¹:

RESOLUTION=     118
MASTERDIR=      ${.CURDIR}/../xdvi300

.include ${MASTERDIR}/Makefile

(xdvi240/Makefile ¤ä xdvi400/Makefile ¤âƱÍͤΤâ¤Î¤Ë¤Ê¤ê¤Þ¤¹). bsd.port.mk ¤Ï, MASTERDIR ¤ÎÄêµÁ¤«¤é FILESDIR ¤ä SCRIPTDIR Åù¤Î Ä̾ï¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤¬ xdvi300 °Ê²¼¤Ë ¸ºß¤¹¤ë¤³¤È¤òÍý²ò¤·¤Þ¤¹. RESOLUTION=118 ¤Î¹Ô¤¬, xdvi300/Makefile ¤Î RESOLUTION=300 ¤Î¹Ô¤ò¾å½ñ¤­¤·, port ¤Ï²òÁüÅÙ¤ò 118 ¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹.


Chapter 7. ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó

¤Þ¤º ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î ¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Î»Ø¿Ë¤òÆÉ¤ó¤Ç, °ìÈÌŪ¤Ë ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¤É¤¦¤¹¤ì¤ÐÎɤ¤¤«¤òÍý²ò¤·¤Æ¤¯¤À¤µ¤¤. ¥½¥Õ¥È¥¦¥§¥¢¤Îºî¼Ô¤Ï¼«Ê¬¤¬¤·¤Æ¤¤¤ë¤³¤È¤òÍý²ò¤·¤Æ¤¤¤ë¤È, ÌÕÌÜŪ¤Ë¿®¤¸¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó; ¿¤¯¤Î¾ì¹ç¤ÏÍý²ò¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹. ºÙÉô¤Ë¤ï¤¿¤Ã¤ÆÃí°Õ¿¼¤¯¹Íθ¤¹¤ë¤³¤È¤ÏÂçÊѽÅÍפǤ¹. ¤Ê¤¼¤Ê¤é²æ¡¹¤Ï, ¸ß´¹À­¤¬¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤ÂçÎ̤Υ½¥Õ¥È¥¦¥§¥¢¤ò ¶¦Â¸¤µ¤»¤è¤¦¤È¤¹¤ëÆÃ¼ì¤Ê¾õ¶·¤Ë¤¢¤ë¤«¤é¤Ç¤¹. ¤à¤«¤·, ÉÔÃí°Õ¤Ê port ¤ÎƳÆþ¤¬¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ë´Ø¤¹¤ë½ÅÂç¤ÊÌäÂê¤ò °ú¤­µ¯¤·¤Æ¤·¤Þ¤Ã¤¿¤³¤È¤¬¤¢¤ê¤Þ¤¹ (¤Ê¤¼ jpeg-6b ¤Î ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬 9 ¤Ê¤Î¤«, º£¤Þ¤ÇÉԻ׵Ĥ˻פ俤³¤È¤Ï ¤¢¤ê¤Þ¤»¤ó¤«?). ¤â¤·µ¿Ì䤬¤¢¤ì¤Ð, FreeBSD ports ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤Ë¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤. ¤Û¤È¤ó¤É¤Î»þ´Ö¤ÏÀµ¤·¤¤¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤ò·è¤á¤ë¤³¤È¤È, ¤½¤ì¤ò¼Â¸½¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á¤òºîÀ®¤¹¤ë¤³¤È¤Ë½ª»Ï¤·¤Þ¤¹.


Chapter 8. ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸

MAN[1-9LN] ÊÑ¿ô¤Ë»ØÄꤷ¤¿¥Þ¥Ë¥å¥¢¥ë¤Ï ¼«Æ°Åª¤Ë pkg-plist ¤ËÄɲ䵤ì¤Þ¤¹ (¤Ä¤Þ¤ê, ¥Þ¥Ë¥å¥¢¥ë¤ò pkg-plist ¤Ë²Ã¤¨¤Æ¤Ï ¤¤¤±¤Þ¤»¤ó-- pkg-plist ¤ÎÀ¸À®¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤). ¤Þ¤¿, /etc/make.conf Ãæ¤Î NOMANCOMPRESS ¤ÎÀßÄê¤Ë½¾¤Ã¤Æ, ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë ¥Þ¥Ë¥å¥¢¥ë¤ò¼«Æ°Åª¤Ë°µ½Ì¤·¤¿¤êÉü¸µ¤·¤¿¤ê¤·¤Þ¤¹.

¤½¤Î port ¤¬, ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ä¥Ï¡¼¥É¥ê¥ó¥¯¤òÍѤ¤¤Æ, Ê£¿ô¤Î¥Õ¥¡¥¤¥ë̾¤ò»ý¤Ä¥Þ¥Ë¥å¥¢¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë¤Ï, ¤½¤ì¤é¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë MLINKS ÊÑ¿ô¤ò »ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó. port ¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥ê¥ó¥¯¤Ï, °Õ¿Þ¤·¤¿¥Õ¥¡¥¤¥ë¤ò ¤­¤Á¤ó¤È»Ø¤·¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤¹¤ë¤¿¤á, bsd.port.mk ¤Ë¤è¤Ã¤Æ ºï½ü¤µ¤ì¤¿¤ê, ºÆºîÀ®¤µ¤ì¤¿¤ê¤·¤Þ¤¹. MLINKS ¤Ë»ØÄꤵ¤ì¤¿¥Þ¥Ë¥å¥¢¥ë¤â, pkg-plist ¤Ë ´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó.

¥Þ¥Ë¥å¥¢¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë°µ½Ì¤¹¤ë¤«¤É¤¦¤«¤ò »ØÄꤹ¤ë¤Ë¤Ï, MANCOMPRESSED ÊÑ¿ô¤ò»ÈÍѤ·¤Þ¤¹. ¤³¤ÎÊÑ¿ô¤Ï yes, no ¤½¤·¤Æ maybe ¤Î»°¤Ä¤ÎÃͤò¤È¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹, yes ¤Ï¥Þ¥Ë¥å¥¢¥ë¤¬´û¤Ë°µ½Ì¤µ¤ì¤Æ¥¤¥ó¥¹¥È¡¼¥ë ¤µ¤ì¤Æ¤¤¤ë¤³¤È, no ¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È, maybe ¤Ï´û¤Ë¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤¬ NOMANCOMPRESS ¤ÎÃͤ˽¾¤Ã¤Æ¤¤¤Æ, bsd.port.mk ¤Ï ÆÃÊ̤ʤˤ⤹¤ëɬÍפ¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹.

USE_IMAKE ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Æ, NO_INSTALL_MANPAGES ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð, MANCOMPRESSED ¤Ï¼«Æ°Åª¤Ë yes ¤Ë ÀßÄꤵ¤ì¤Þ¤¹. ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï, MANCOMPRESSED ¤Ï no ¤ËÀßÄꤵ¤ì¤Þ¤¹. ¤½¤Î port ¤Ë¤È¤Ã¤Æ, ¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄ꤬ŬÀڤǤʤ¤¾ì¹ç°Ê³°¤Ë¤Ï, ÌÀ¼¨Åª¤ËÀßÄꤹ¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó.

PREFIX °Ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë ¥Þ¥Ë¥å¥¢¥ë¤òÃÖ¤¯¤è¤¦¤Ê port ¤Ç¤Ï, ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò MANPREFIX ¤Ç»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¤µ¤é¤Ë, ¤¤¤¯¤Ä¤«¤Î Perl ¥â¥¸¥å¡¼¥ë¤Î ports ¤Î¤è¤¦¤Ë, ÆÃÄê¤Î¥»¥¯¥·¥ç¥ó¤Î¥Þ¥Ë¥å¥¢¥ë¤À¤±¤òÈóɸ½à¤Î¾ì½ê¤Ë ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç, ¸Ä¡¹¤Î¥Þ¥Ë¥å¥¢¥ë¤Î¥Ñ¥¹¤ò MANsectPREFIX (¤³¤³¤Ç sect ¤Ï 1-9, L, ¤Þ¤¿¤Ï N ¤Î¤¤¤º¤ì¤«) ¤Ë¤è¤ê »ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.

¥Þ¥Ë¥å¥¢¥ë¤¬¸À¸ìÆÃÍ­¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ë¾ì¹ç¤Ë¤Ï, ¤½¤Î¸À¸ì̾¤ò MANLANG ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤. ¤³¤ÎÊÑ¿ô¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï "" ¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹ (¤Ä¤Þ¤ê, ±Ñ¸ì¤Î¤ß).

¤³¤ì¤Ï, Á´Éô¤ò¤Þ¤È¤á¤¿Îã¤Ç¤¹.

MAN1=           foo.1
MAN3=           bar.3
MAN4=           baz.4
MLINKS=         foo.1 alt-name.8
MANLANG=        "" ja
MAN3PREFIX=     ${PREFIX}/share/foobar
MANCOMPRESSED=  yes

¤³¤ì¤Ï, ¤³¤Î port ¤Ë¤è¤ê°Ê²¼¤Î 6 ¸Ä¤Î¥Õ¥¡¥¤¥ë¤¬ ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤³¤È¤òɽ¤·¤Æ¤¤¤Þ¤¹.

${PREFIX}/man/man1/foo.1.gz
${PREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/share/foobar/man/man3/bar.3.gz
${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
${PREFIX}/man/man4/baz.4.gz
${PREFIX}/man/ja/man4/baz.4.gz

¤µ¤é¤Ë ${PREFIX}/man/man8/alt-name.8.gz ¤¬ ¤³¤Î port ¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤«¤É¤¦¤«¤ï¤«¤ê¤Þ¤»¤ó¤¬, ¤½¤ì¤È¤Ï̵´Ø·¸¤Ë foo(1) ¤È alt-name(8) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»Ø¤¹ ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬ºîÀ®¤µ¤ì¤Þ¤¹.


Chapter 9. Motif ¤òɬÍפȤ¹¤ë port

¥³¥ó¥Ñ¥¤¥ë¤Ë Motif ¥é¥¤¥Ö¥é¥ê¤òɬÍפȤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ ¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹ (Motif ¼«ÂΤÏÍ­ÎÁ¤Î¤â¤Î¤¬¤¤¤¯¤Ä¤«¤Î²ñ¼Ò¤«¤é ¼ê¤ËÆþ¤ê¤Þ¤¹¤·, x11-toolkits/lesstif ¤Ë¤Ï ¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òưºî¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ê ̵ÎÁ¤Î¸ß´¹¥é¥¤¥Ö¥é¥ê¤â¤¢¤ê¤Þ¤¹). Motif ¤Ï¹­¤¯»È¤ï¤ì¤Æ¤¤¤ë¥Ä¡¼¥ë¥­¥Ã¥È¤Ç¤¹¤·, Í­ÎÁ¤Î¤â¤Î¤Î¥é¥¤¥»¥ó¥¹¤Ç¤â ¥é¥¤¥Ö¥é¥ê¤òÀÅŪ¤Ë¥ê¥ó¥¯¤·¤¿¼Â¹Ô·Á¼°¤ÎºÆÇÛÉÛ¤¬Ç§¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤¬ ¿¤¤¤Î¤Ç, Motif ¤òɬÍפȤ¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤ò´Êñ¤Ë (port ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¿Í¡¹¤Î¤¿¤á¤Ë) ưŪ¤Ë¤Ç¤â, (package ¤òÇÛÉÛ¤¹¤ë¿Í¡¹¤Î¤¿¤á¤Ë) ÀÅŪ¤Ë¤Ç¤â ¥ê¥ó¥¯¤Ç¤­¤ë¤è¤¦¤Ê»ÅÁȤߤ¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹.


9.1. REQUIRES_MOTIF

Motif ¤¬Ìµ¤¤¤È¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤¤ port ¤Î Makefile ¤Ç¤Ï, ¤³¤ÎÊÑ¿ô¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤Ë¤è¤ê, Motif ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¿Í¤¬ ¤³¤Î port ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¤Î¤ò̤Á³¤ËËɤ®¤Þ¤¹.


9.2. MOTIFLIB

¤³¤ÎÊÑ¿ô¤Ï bsd.port.mk ¤Ë¤è¤Ã¤Æ Motif ¥é¥¤¥Ö¥é¥ê¤Î»ØÄê¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹. ¥½¡¼¥¹Æâ¤Î Makefile ¤ä Imakefile ¤Ç Motif ¥é¥¤¥Ö¥é¥ê¤ò»ØÄꤷ¤Æ¤¤¤ë ¤È¤³¤í¤ò, ¤³¤ÎÊÑ¿ô¤ËÃÖ¤­´¹¤¨¤ë¤è¤¦¤Ë¥Ñ¥Ã¥Á¤òŬÍѤ·¤Æ¤¯¤À¤µ¤¤.

ÂåɽŪ¤ÊÎã¤È¤·¤Æ¤Ï°Ê²¼¤ÎÆó¤Ä¤¬¤¢¤²¤é¤ì¤Þ¤¹:

  1. Makefile ¤« Imakefile ¤ÎÃæ¤Ç Motif ¥é¥¤¥Ö¥é¥ê¤¬ -lXm ¤È¤·¤Æ»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ¤«¤ï¤ê¤Ë MOTIFLIB ¤È½ñ¤¤¤Æ¤¯¤À¤µ¤¤.

  2. Imakefile ¤ÎÃæ¤Ç XmClientLibs ¤¬»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ¤½¤ì¤ò ${MOTIFLIB} ${XTOOLLIB} ${XLIB} ¤È½ñ¤­¤«¤¨¤Æ¤¯¤À¤µ¤¤.

¤Ê¤ª MOTIFLIB ¤ÏÄ̾ï, -L/usr/X11R6/lib -lXm ¤« /usr/X11R6/lib/libXm.a ¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹. ¤·¤¿¤¬¤Ã¤ÆÁ°¤Ë -L ¤ä -l ¤ò¤Ä¤±¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó.


Chapter 10. X11 ¤Î¥Õ¥©¥ó¥È

¤â¤·, ¤¢¤Ê¤¿¤Î port ¤¬ X window system ¤Î¥Õ¥©¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð, ¤½¤ì¤é¤ò X11BASE/lib/X11/fonts/local ¤ËÃÖ¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï XFree86 release 3.3.3 ¤Ç¿·Àߤµ¤ì¤¿¤â¤Î¤Ç¤¹. ¤â¤·¤½¤ì¤¬Â¸ºß¤·¤Ê¤±¤ì¤ÐºîÀ®¤·, ¥æ¡¼¥¶¤Ë XFree86 ¤ò 3.3.3 ¤«¤½¤ì¤è¤ê¿·¤·¤¤¤â¤Î¤Ë¹¹¿·¤«, ¾¯¤Ê¤¯¤È¤â¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò /etc/XF86Config ¤Î¥Õ¥©¥ó¥È¥Ñ¥¹¤Ë²Ã¤¨¤ë¤è¤¦¤ËÂ¥¤¹¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.


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 ¥Õ¥¡¥¤¥ë¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤·¤ç¤¦.


Chapter 12. pkg-* ¥Õ¥¡¥¤¥ë

pkg-* ¥Õ¥¡¥¤¥ë¤Ë¤Ï, ¤Þ¤À¼è¤ê¾å¤²¤Æ¤¤¤Ê¤¤²¿¤«¤È½ÅÊõ¤Ê¥È¥ê¥Ã¥¯¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹.


12.1. pkg-message

¤â¤·¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¿Í¤Ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï, ¤½¤Î¥á¥Ã¥»¡¼¥¸¤ò pkg-message ¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¤³¤Îµ¡Ç½¤Ï pkg_add ¤Î¸å¤ÎÄɲäΥ¤¥ó¥¹¥È¡¼¥ë¼ê³¤­¤òɽ¼¨¤¹¤ë¤È¤­¤Ê¤É¤Ë½ÅÊõ¤·¤Þ¤¹.

Note: pkg-message ¥Õ¥¡¥¤¥ë¤Ï pkg-plist ¤Ë²Ã¤¨¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó. ¤Þ¤¿, ¤â¤·¥æ¡¼¥¶¤¬ package ¤Ç¤Ï¤Ê¤¯ port ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¼«Æ°Åª¤Ë¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¤Î¤Ç, ÌÀ¼¨Åª¤Ë post-install ¤Çɽ¼¨¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤Ù¤­¤Ç¤·¤ç¤¦.


12.2. pkg-install

¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥±¡¼¥¸¤¬ pkg_add ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤È¤­¤Ë¼Â¹Ô¤¹¤ëɬÍפΤ¢¤ë¥³¥Þ¥ó¥É¤¬¤¢¤ì¤Ð, pkg-install ¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¼«Æ°Åª¤Ë package ¤Ë²Ã¤¨¤é¤ì, pkg_add ¤Ë¤è¤Ã¤Æ 2 ²ó¼Â¹Ô¤µ¤ì¤Þ¤¹. 1 ²óÌÜ¤Ï ${SH} pkg-install ${PKGNAME} PRE-INSTALL ¤È¤·¤Æ, 2 ²óÌÜ¤Ë¤Ï ${SH} pkg-install ${PKGNAME} POST-INSTALL ¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹. ¤É¤Á¤é¤Î¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤«¤Ï $2 ¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤ï¤«¤ê¤Þ¤¹. ´Ä¶­ÊÑ¿ô PKG_PREFIX ¤Ë¤Ï package ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬ÀßÄꤵ¤ì¤Þ¤¹. ¾ÜºÙ¤Ï pkg_add(1) ¤ò¸«¤Æ¤¯¤À¤µ¤¤.

Note: port ¤ò make install ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤­¤Ë¤Ï¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤Þ¤»¤ó. ¤â¤·¼Â¹Ô¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤Ê¤é¤Ð port ¤Î Makefile ¤«¤éÌÀ¼¨Åª¤Ë¸Æ¤ÖɬÍפ¬¤¢¤ê¤Þ¤¹.


12.3. pkg-req

(ÌõÃí: ¼Â¹Ô¤µ¤ì¤ë¥Þ¥·¥ó¤Î¾õÂ֤˱þ¤¸¤Æ) ¤½¤Î port ¤ò ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ù¤­¤«, ¤½¤¦¤Ç¤Ê¤¤¤«¤òȽÃǤ¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï, ``Í×·ï (requirements)'' ¥¹¥¯¥ê¥×¥È pkg-req ¤òºî¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¥¤¥ó¥¹¥È¡¼¥ë¤äºï½ü¤ò¼Â¹Ô¤¹¤Ù¤­¤«¤É¤¦¤«È½ÃǤ¹¤ë¤¿¤á¤Ë, ¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¤¥ó¥¹¥È¡¼¥ë¤äºï½ü¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¼«Æ°Åª¤Ë ¼Â¹Ô¤µ¤ì¤Þ¤¹.

¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¤Ï pkg_add ¤Ë¤è¤ê pkg-req ${PKGNAME} INSTALL ¤È¤·¤Æ¼Â¹Ô¤µ¤ì, ºï½ü»þ¤Ë¤Ï pkg_delete ¤Ë¤è¤ê pkg-req ${PKGNAME} DEINSTALL ¤È¤·¤Æ ¼Â¹Ô¤µ¤ì¤Þ¤¹.


12.4. make ¤ÎÊÑ¿ô¤Ë¤¢¤ï¤»¤¿ pkg-plist ¤ÎÊѹ¹

¤¤¤¯¤Ä¤«¤Î port, ÆÃ¤Ë p5-ports ¤Ê¤É¤Ï configure ¤Î¥ª¥×¥·¥ç¥ó (¤¢¤ë¤¤¤Ï, p5-ports ¤Î¾ì¹ç¤Ï perl ¤Î¥Ð¡¼¥¸¥ç¥ó) ¤Ë¤è¤Ã¤Æ pkg-plist ¤òÊѤ¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹. ¤³¤ì¤òÍÆ°×¤Ë¼Â¸½¤¹¤ë¤¿¤á¤Ë pkg-plist Ãæ¤Î %%OSREL%%, %%PERL_VER%%, %%PERL_VERSION%% ¤ÏŬÀÚ¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹. %%OSREL%% ¤ÎÃͤϥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¿ô»ú¤Çɽ¤µ¤ì¤¿¥ê¥Ó¥¸¥ç¥ó¤Ç¤¹ (¤¿¤È¤¨¤Ð 2.2.7). %%PERL_VERSION%% ¤Ï perl ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æÁ´ÂÎ (¤¿¤È¤¨¤Ð 5.00502) ¤Ç, %%PERL_VER%% ¤Ï¥Ð¡¼¥¸¥ç¥óÈֹ椫¤é¥Ñ¥Ã¥Á¥ì¥Ù¥ë¤ò°ú¤¤¤¿¤â¤Î¤Ç¤¹ (¤¿¤È¤¨¤Ð 5.005).

¾¤ÎÃÖ¤­´¹¤¨¤¬É¬ÍפǤ¢¤ì¤Ð, PLIST_SUB ÊÑ¿ô¤Ë VAR=VALUE ¤È¤¤¤¦·Á¼°¤Î¥Ú¥¢¤Î¥ê¥¹¥È¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ, pkg-plist Ãæ¤Î %%VAR%% ¤Ï VALUE ¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹. ¤¿¤È¤¨¤Ð¥Ð¡¼¥¸¥ç¥ó¤Ë¸ÇÍ­¤Î¤¿¤¯¤µ¤ó¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë¤Ï, Makefile ¤Ë

OCTAVE_VERSION= 2.0.13
PLIST_SUB=      OCTAVE_VERSION=${OCTAVE_VERSION}

¤È½ñ¤¤¤Æ, PLIST Ãæ¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬ɽ¤ï¤ì¤ë¤¹¤Ù¤Æ¤Î¤È¤³¤í¤Ë, %%OCTAVE_VERSION%% ¤È½ñ¤­¤Þ¤¹. ¤³¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤±¤Ð, port ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤È¤­¤Ë, ²¿½½¹Ô (»þ¤È¤·¤Æ, ²¿É´¹Ô) ¤â pkg-plist ¤ò½ñ¤­Âؤ¨¤Ê¤¤¤Ç¤¹¤ß¤Þ¤¹.

¤³¤Î½ñ¤­´¹¤¨¤Ï (¥Þ¥Ë¥å¥¢¥ë¤ÎÄɲäâ) do-install ¤È post-install ¥¿¡¼¥²¥Ã¥È¤Î´Ö¤Ë pkg-plist ¤òÆÉ¤ß TMPPLIST (¥Ç¥Õ¥©¥ë¥È¤Ï WRKDIR/.PLIST.mktmp) ¤Ë½ñ¤­¹þ¤à¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹. ¤â¤·, ¤¢¤Ê¤¿¤Î port ¤¬ PLIST ¤ò¼Â¹Ô»þ¤ËÀ¸À®¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð, do-install ¤Î´Ö¤«¤½¤ÎÁ°¤Ë¹Ô¤Ê¤¦¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤Þ¤¿, ½ñ¤­¤«¤¨¤é¤ì¤¿¤¢¤È¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï, post-install ¤Ç TMPPLIST ¤ò½ñ¤­¤«¤¨¤Æ¤¯¤À¤µ¤¤.


12.5. pkg-*¥Õ¥¡¥¤¥ë¤Î̾Á°Êѹ¹

pkg-*¥Õ¥¡¥¤¥ë¤Î ̾Á°¤Ï¤¹¤Ù¤ÆÊÑ¿ô¤ò»ÈÍѤ·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç, ɬÍפǤ¢¤ì¤Ð Makefile Ãæ¤ÇÊѹ¹²Äǽ¤Ç¤¹. ¤¤¤¯¤Ä¤«¤Î ports ¤Ç°ì¤Ä¤Î pkg-* ¥Õ¥¡¥¤¥ë¤ò¶¦Í­¤¹¤ë¾ì¹ç¤ä, ¾åµ­¤Î¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤ß¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤­¤Ê¤ÉÆÃ¤ËÊØÍø¤Ç¤¹ (pkg-* ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËľÀܽñ¤­¹þ¤à¤Î¤¬Îɤ¯¤Ê¤¤Íýͳ¤Ë¤Ä¤¤¤Æ¤Ï WRKDIR °Ê³°¤Ø¤Î½ñ¤­¤³¤ß ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤).

°Ê²¼¤ËÊÑ¿ô̾¤È ¤½¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤΥꥹ¥È¤ò¼¨¤·¤Þ¤¹. (PKGDIR ¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï ${MASTERDIR} ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹.)

ÊÑ¿ô̾ ¥Ç¥Õ¥©¥ë¥ÈÃÍ
COMMENT ${PKGDIR}/pkg-comment
DESCR ${PKGDIR}/pkg-descr
PLIST ${PKGDIR}/pkg-plist
PKGINSTALL ${PKGDIR}/pkg-install
PKGDEINSTALL ${PKGDIR}/pkg-deinstall
PKGREQ ${PKGDIR}/pkg-req
PKGMESSAGE ${PKGDIR}/pkg-message

PKG_ARGS ¤ò¾å½ñ¤­¤»¤º¤Ë¤³¤ì¤é¤ÎÊÑ¿ô¤òÊѹ¹¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. PKG_ARGS ¤òÊѹ¹¤¹¤ë¤È, ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï port ¤«¤éÀµ¤·¤¯ /var/db/pkg ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹.


Chapter 13. ¥é¥¤¥»¥ó¥¹¾å¤ÎÌäÂê

¥½¥Õ¥È¥¦¥§¥¢¤Ë¤è¤Ã¤Æ¤Ï, À©Ìó¤Î¸·¤·¤¤¥é¥¤¥»¥ó¥¹¾ò·ï¤¬ Äê¤á¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¤·, ¹ñ¤Ë¤è¤Ã¤Æ¤Ï (ÆÃµö¸¢¤Î¿¯³²¤Ê¤É¤Ç) ˡΧŪ¤ËÌäÂ꤬¤¢¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹. ¤½¤ì¤é¤ò¤É¤¦°·¤¨¤Ð¤¤¤¤¤«¤Ï, ¤½¤ì¤¾¤ì¤Î¥é¥¤¥»¥ó¥¹¤ÎʸÌ̤ˤè¤Ã¤Æ Â礭¤¯°Û¤Ê¤ê¤Þ¤¹.

Note: ¥½¥Õ¥È¥¦¥§¥¢°Ü¿¢¼Ô¤È¤·¤Æ, ¤¢¤Ê¤¿¤Ë¤Ï¥é¥¤¥»¥ó¥¹¤ò¤è¤¯ÆÉ¤ß FreeBSD ¥×¥í¥¸¥§¥¯¥È¤¬ FTP ¤Þ¤¿¤Ï CD-ROM ¤ÇÇÛÉÛ¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¥½¥Õ¥È¥¦¥§¥¢¤òÇÛÉÛ¤·¤Æ¤·¤Þ¤¦¤³¤È¤Î¤Ê¤¤¤è¤¦Ãí°Õ¤¹¤ëµÁ̳¤¬¤¢¤ê¤Þ¤¹. ²¿¤«µ¿Ì䤬¤¢¤ë¾ì¹ç¤Ë¤Ï FreeBSD ports ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤Ëʹ¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤.

¤è¤¯¸«¤é¤ì¤ë¥±¡¼¥¹¤ËÂн褹¤ë¤¿¤á¤Ë, Makefile ¤Ë»ØÄê¤Ç¤­¤ëÆó¤Ä¤ÎÊÑ¿ô¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹.

  1. ¥½¥Õ¥È¥¦¥§¥¢¤Ë``Í­½þºÆÇÛÉÛ¤ò¶Ø¤º¤ë''¤È¤¤¤¦¼ñ»Ý¤Î¥é¥¤¥»¥ó ¥¹¤¬¤Ä¤¤¤Æ¤­¤¿¾ì¹ç¤Ë¤Ï, NO_CDROM ¤È¤¤¤¦ÊÑ¿ô¤Ë¤½¤ÎÍýͳ¤òµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤. ¤ï¤¿¤·¤¿¤Á¤Ï¤³¤ì¤¬¤Ä¤¤¤Æ¤¤¤ë port ¤ò CDROM ¥ê¥ê¡¼¥¹¤ËÆþ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¤¬, ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È package ¤ò FTP ¤Ç¼è¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤­¤Þ¤¹.

  2. ¤â¤·À¸À®¤µ¤ì¤ë package ¤¬¸Ä¡¹¤Î¥µ¥¤¥È¤ÇÆÈ¼«¤Ë¹½ÃÛ¤µ¤ì¤ëɬÍפ¬¤¢¤Ã¤¿¤ê, ¥é¥¤¥»¥ó¥¹¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥Ð¥¤¥Ê¥ê¤¬ÇÛÉۤǤ­¤Ê¤¤¾ì¹ç¤Ë¤Ï NO_PACKAGE ÊÑ¿ô¤Ë¤½¤ÎÍýͳ¤òµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤. ¤½¤Î¤è¤¦¤Ê package ¤Ï FTP ¥µ¥¤¥È¤ËÃÖ¤«¤ì¤¿¤ê, ¥ê¥ê¡¼¥¹ »þ¤Î CDROM ¤ØÆþ¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹. ¤¿¤À¤·, ¤¤¤º¤ì¤Î¾ì¹ç¤â ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï (FTP ¤ä CD-ROM ¤Ë) ´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹.

  3. (ÆÃµö¤Ê¤É¤Î´Ø·¸¤Ç) »ÈÍѼԤˤè¤Ã¤Æ¤ÏˡΧ¾å¤ÎÌäÂ꤬À¸¤¸¤¿¤ê, ``¾¦ÍÑÍøÍѤò¶Ø¤º¤ë''¥é¥¤¥»¥ó¥¹¤ò»ý¤Ä port ¤Î¾ì¹ç¤Ë¤Ï, ¤½¤ÎÍýͳ¤ò RESTRICTED ¤È¤¤¤¦ÊÑ¿ô¤ËÆþ¤ì¤Æ¤¯¤À¤µ¤¤. ¤³¤Î¤è¤¦¤Ê port ¤Î¾ì¹ç¤Ë¤Ï, ÇÛÉÛ¥Õ¥¡¥¤¥ë¤ä package ¤â FreeBSD ¤Î FTP ¥µ¥¤¥È¤ËÃÖ¤«¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹.

Note: GNU °ìÈ̸øÍ­»ÈÍѵöÂú½ñ (GPL) ¤Ï, ¥Ð¡¼¥¸¥ç¥ó 1, 2 ¤È¤â port ºîÀ®¾å²¿¤éÌäÂê¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó.

Note: ¤â¤·¤¢¤Ê¤¿¤¬¥½¡¼¥¹¥Ä¥ê¡¼´ÉÍý¼Ô (committer) ¤Ç¤¢¤ì¤Ð, ¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤³¤Î¤è¤¦¤Ê port ¤òÆþ¤ì¤ëºÝ¤Ë ports/LEGAL ¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤ë¤Î¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.


Chapter 14. ¥¢¥Ã¥×¥°¥ì¡¼¥É

port ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¸¶ºî¼Ô¤«¤é¤Î¤â¤Î¤ËÈæ¤Ù¤Æ¸Å¤¤¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¤é, ¤Þ¤º¤Ï¤¢¤Ê¤¿¤Î»ý¤Ã¤Æ¤¤¤ë port ¤¬»ä¤¿¤Á¤ÎºÇ¿·¤Î¤â¤Î (FTP ¥ß¥é¡¼¥µ¥¤¥È¤Î ports/ports-current ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹) ¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. ¤Þ¤¿, Ports Collection Á´ÂΤòºÇ¿·¤Î¾õÂÖ¤ËÊݤĤ¿¤á¤Ë CVSup ¤òÍøÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹. ¾Ü¤·¤¯¤Ï FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯¤ò¤´Í÷¤¯¤À¤µ¤¤.

¼¡¤Ë port ¤Î Makefile ¤Ë MAINTAINER (ÊݼéôÅö¼Ô) ¤Î¥¢¥É¥ì¥¹¤¬½ñ¤¤¤Æ¤¢¤ë¾ì¹ç¤Ë¤Ï, ¤½¤Î¿Í¤Ë¥á¡¼¥ë¤ò½Ð¤·¤Æ¤ß¤Þ¤·¤ç¤¦. ÊݼéôÅö¼Ô¤Î¿Í¤¬¤¹¤Ç¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î½àÈ÷¤ò¤·¤Æ¤¤¤ë¤«¤âÃΤì¤Þ¤»¤ó¤·, (¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î°ÂÄêÅÙ¤ËÌäÂ꤬¤¢¤ë¤Ê¤É) ¤¢¤¨¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¤·¤Ê¤¤Íýͳ¤¬¤¢¤ë¤Î¤«¤âÃΤì¤Þ¤»¤ó.

ÊݼéôÅö¼Ô¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¤·¤Æ¤¯¤ì¤ÈÍê¤Þ¤ì¤¿¾ì¹ç, ¤¢¤ë¤¤¤Ï, ¤½¤â¤½¤â port ¤Î Makefile ¤ËÊݼéôÅö¼Ô¤¬½ñ¤¤¤Æ¤Ê¤¤¾ì¹ç¤Ê¤É¤Ï, ¤¢¤Ê¤¿¤¬¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¤·¤Æ¤¯¤À¤µ¤ë¤È½õ¤«¤ê¤Þ¤¹. ¤½¤Î¾ì¹ç¤Ë¤Ï¥¢¥Ã ¥×¥°¥ì¡¼¥É¤ò¤·¤¿¸å, Êѹ¹Á°¤ÈÊѹ¹¸å¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÆµ¢Åª diff (unified diff ¤È context diff ¤Î¤É¤Á¤é¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬, port ¤Î¥³¥ß¥Ã¥¿¡¼Ã£¤Ï unified diff ¤ÎÊý¤ò¹¥¤à¤è¤¦¤Ç¤¹) ¤ò¤È¤Ã¤ÆÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤ (¤¿¤È¤¨¤ÐÊѹ¹Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬ superedit.bak ¤È¤¤¤¦Ì¾Á°¤Ç¤È¤Ã¤Æ¤¢¤ê, Êѹ¹¸å¤Î¤â¤Î¤¬ superedit ¤ËÆþ¤Ã¤Æ¤¤¤ë¤Ê¤é, diff -ruN superedit.bak superedit ¤Î·ë²Ì¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤). diff ¤Î½ÐÎϤò¸«¤Æ, ¤¹¤Ù¤Æ¤ÎÊѹ¹¤¬Àµ¤·¤¯¤Ê¤µ¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. Êѹ¹²Õ½ê¤Ë¤Ä¤¤¤Æ¤Ï, send-pr(1) (¥«¥Æ¥´¥ê¤Ï ports) ¤Ë diff ¤Î½ÐÎÏ·ë²Ì¤òꤍ¤Æ, ¤ï¤¿¤·¤¿¤Á¤ËÁ÷¤Ã¤Æ¤â¤é¤¦¤Î¤¬°ìÈÖÎɤ¤¤Ç¤¹. commit ¤¹¤ëºÝ¤Ë CVS ¤ËÌÀ³Î¤Ëµ­½Ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç, ÉÕ¤±²Ã¤¨¤¿¤êºï½ü¤·¤¿¤ê¤·¤¿¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¤½¤ì¤Ë¤Ä¤¤¤Æ½ñ¤¤¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤. ¤â¤· diff ¤ÎÂ礭¤µ¤¬ 20 KB ÄøÅÙ¤òͤ¨¤ë¤è¤¦¤Ç¤¢¤ì¤Ð, °µ½Ì¤·¤¿¤â¤Î¤ò uuencode ¤·¤Æ¤¯¤À¤µ¤¤. ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¤½¤Î¤Þ¤Þ PR ¤ËÆþ¤ì¤ë¤À¤±¤Ç¹½¤¤¤Þ¤»¤ó.

Note: ·«¤êÊÖ¤·¤Ë¤Ê¤ê¤Þ¤¹¤¬, ´û¸¤Î ports ¤ÎÊѹ¹¤òÁ÷¤ë¤È¤­¤Ë¤Ï shar(1) ¤Ç¤Ï¤Ê¤¯ diff(1) ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤!


Chapter 15. ¤ä¤Ã¤Æ¤¤¤¤¤³¤È¤È¤¤¤±¤Ê¤¤¤³¤È

¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¥½¥Õ¥È¥¦¥§¥¢¤ò port ¤¹¤ë¾å¤Ç, Îɤ¯¤¢¤ëÍ·ê¤Ê¤É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹. ¤³¤Î¥ê¥¹¥È¤ò»È¤Ã¤Æ¤¢¤Ê¤¿¼«¿È¤¬ºîÀ®¤·¤¿ port ¤Î¥Á¥§¥Ã¥¯¤Ï¤â¤È¤è¤ê, PR ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¢¤ë, ¾¤Î¿Í¤¬ºîÀ®¤·¤¿ port ¤Î¥Á¥§¥Ã¥¯¤â¤Ç¤­¤Þ¤¹. ¤¢¤Ê¤¿¤¬¥Á¥§¥Ã¥¯¤·¤¿ port ¤Ë¤Ä¤¤¤Æ¤Î¥³¥á¥ó¥È¤ò¥Ð¥°Êó¹ð¤È°ìÈÌŪ¤ÊÏÀɾ¤Ë¤·¤¿¤¬¤Ã¤ÆÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤. PR ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¢¤ë port ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤È, ¤ï¤¿¤·¤¿¤Á¤¬¤½¤ì¤é¤ò commit ¤¹¤ë¤Î¤òÁ᤯¤·, ¤¢¤Ê¤¿¤¬²¿¤ò¤·¤Æ¤¤¤ë¤«Íý²ò¤·¤Æ¤¤¤ë¤³¤È¤â¼¨¤·¤Þ¤¹.


15.1. ¥Ð¥¤¥Ê¥ê¤Î strip

¥Ð¥¤¥Ê¥ê¤Ï strip ¤·¤Æ¤¯¤À¤µ¤¤. ¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¤¬¥Ð¥¤¥Ê¥ê¤ò strip ¤·¤Æ¤¯¤ì¤ë¾ì¹ç¤ÏÎɤ¤¤Ç¤¹¤¬, ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï port ¤Î Makefile ¤¬ install ¥¿¡¼¥²¥Ã¥È¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é BSD_INSTALL_PROGRAM ¤ò, »ý¤Ã¤Æ¤¤¤Ê¤¤¤Ê¤é strip ¤¹¤ë¤¿¤á¤Î post-install ¥ë¡¼¥ë¤òÄɲä·¤Æ strip ¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦. ¤¿¤È¤¨¤Ð¤³¤ó¤ÊÉ÷¤Ë¤Ê¤ê¤Þ¤¹:

post-install:
        strip ${PREFIX}/bin/xdl

¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¼Â¹Ô·Á¼°¤¬¤¹¤Ç¤Ë strip ¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï file ¥³¥Þ¥ó¥É¤Ç³Îǧ¤Ç¤­¤Þ¤¹. ``not stripped'' ¤Èɽ¼¨¤µ¤ì¤Ê¤±¤ì¤Ð strip ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹.


15.2. INSTALL_* ¥Þ¥¯¥í

¤¢¤Ê¤¿¼«¿È¤Î *-install ¥¿¡¼¥²¥Ã¥È¤Ç¥Õ¥¡¥¤¥ë¤ÎÀµ¤·¤¤¥â¡¼¥É¤È¥ª¡¼¥Ê¤òÊݾڤ¹¤ë¤¿¤á¤Ë, ɬ¤º bsd.port.mk ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¥Þ¥¯¥í¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤.

  • ${INSTALL_PROGRAM} ¤Ï¼Â¹Ô²Äǽ¤Ê¥Ð¥¤¥Ê¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë (¤·, ¤½¤Î²áÄø¤Ç strip ½èÍý)¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹.

  • ${INSTALL_SCRIPT} ¤Ï¼Â¹Ô²Äǽ¤Ê¥¹¥¯¥ê¥×¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹.

  • ${INSTALL_DATA} ¤Ï¶¦Í­²Äǽ¤Ê¥Ç¡¼¥¿¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹.

  • ${INSTALL_MAN} ¤Ï¥Þ¥Ë¥å¥¢¥ë¤È¤½¤Î¾¤Îʸ½ñ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹ (°µ½Ì¤Ï¤·¤Þ¤»¤ó).

¤³¤ì¤é¤Ï´ðËÜŪ¤Ë install ¥³¥Þ¥ó¥É¤ËŬÀڤʥե饰¤òÍ¿¤¨¤¿¤â¤Î¤Ç¤¹. ¤½¤ì¤é¤Ï distfile ¤Î Makefile ¤Ç, Ƭ¤Ë ``BSD_'' ¤¬ÉÕ¤±¤é¤ì¤¿ (¤Ä¤Þ¤ê BSD_INSTALL_PROGRM ¤È¤¤¤¦¤è¤¦¤Ê) ·Á¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¤É¤Î¤è¤¦¤Ë¤³¤ì¤é¤ò»ÈÍѤ¹¤ë¤«¤Ï°Ê²¼¤ÎÎã¤ò¸«¤Æ¤¯¤À¤µ¤¤.


15.3. WRKDIR

WRKDIR ¤Î³°¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ï ²¿¤â½ñ¤­¹þ¤ó¤Ç¤Ï¤¤¤±¤Þ¤»¤ó. port ¤Î¥Ó¥ë¥ÉÃæ¤Ë½ñ¤­¹þ¤ß²Äǽ¤Ê¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¤Î¤Ï WRKDIR ¤ÎÃæ¤À¤±¤Ç¤¹ (½ñ¤­¹þ¤ßÉԲĤΥĥ꡼¾å¤Ç¤Î port ¥Ó¥ë¥É¤ÎÎã¤Ë¤Ä¤¤¤Æ¤Ï, CDROM ¤«¤é¤Î ports ¤Î¥³¥ó¥Ñ¥¤¥ë ¤ò»²¾È¤Î¤³¤È). pkg-* ¥Õ¥¡¥¤¥ë¤ò Êѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï, ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯ ÊÑ¿ô¤ÎºÆÄêµÁ¤Ë¤è¤ê ¹Ô¤Ê¤¦¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.


15.4. WRKDIRPREFIX

WRKDIRPREFIX ¤òº½Å¤·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤. ÆÃ¤Ë, Ê̤Πport ¤Î WRKDIR ¤ò»²¾È¤·¤Æ¤¤¤ë¤È¤­¤Ë¤Ïµ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤. Àµ¤·¤¤¾ì½ê¤Ï, WRKDIRPREFIXPORTSDIR/subdir/name/work ¤Ç¤¹, PORTSDIR/subdir/name/work ¤ä .CURDIR/../../subdir/name/work ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó.

¤Þ¤¿, ¼«Ê¬¤Ç WRKDIR ÄêµÁ¤¹¤ë¤È¤­¤Ë¤ÏÀèÆ¬¤Ë ${WRKDIRPREFIX}${.CURDIR} ¤¬ÉÕ¤¤¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤.


15.5. OS ¤Î¼ïÎà¤ä¥Ð¡¼¥¸¥ç¥ó¤Î¼±ÊÌ

¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Unix ¤Çư¤«¤¹¤«¤Ë¤è¤Ã¤Æ, Êѹ¹¤ä ¾ò·ï¤Ä¤­¥³¥ó¥Ñ¥¤¥ë¤¬É¬Íפʥ³¡¼¥É¤Ë½Ð¤¯¤ï¤¹¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦. ¤½¤Î¤è¤¦¤ÊÊѹ¹¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ë¤Ï, FreeBSD 1.x ¥·¥¹¥Æ¥à¤Ø¤Î¥Ð¥Ã¥¯¥Ý¡¼¥È¤ä, CSRG ¤Î 4.4BSD, BSD/386, 386BSD, NetBSD, OpenBSD Åù, ¾¤Î BSD ¥·¥¹¥Æ¥à¤Ø¤Î°Ü¿¢¤¬²Äǽ¤Ê¤è¤¦¤Ë, ¤Ç¤­¤ë¤À¤±ÈÆÍÑŪ¤ÊÊѹ¹¤ò¹Ô¤Ê¤¦¤³¤È¤ò¿´¤¬¤±¤Æ¤¯¤À¤µ¤¤.

4.3BSD/Reno (1990) ¤È, ¤½¤ì¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î BSD ¥³¡¼¥É¤ò ¶èÊ̤¹¤ë¤Ë¤Ï, <sys/param.h> ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë BSD ¥Þ¥¯¥í¤òÍøÍѤ¹¤ë¤Î¤¬¤è¤¤¤Ç¤·¤ç¤¦. ¤³¤Î¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤Æ¤¤¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¤¬, ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï, ¤½¤Î .c ¥Õ¥¡¥¤¥ë¤Î ŬÅö¤Ê¾ì½ê¤Ë°Ê²¼¤Î¥³¡¼¥É¤òÄɲ䷤Ƥ¯¤À¤µ¤¤.

#if (defined(__unix__) || defined(unix)) && !defined(USG)
#include <sys/param.h>
#endif

¤³¤ì¤é¤ÎÆó¤Ä¤Î¥·¥ó¥Ü¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ë¤Ïɬ¤º sys/param.h ¤¬¤¢¤ë¤Ï¤º¤Ç¤¹. ¤â¤·¤½¤¦¤Ç¤Ê¤¤¥·¥¹¥Æ¥à¤òȯ¸«¤·¤¿¤é, FreeBSD ports ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È ¤Þ¤Ç¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤ï¤¿¤·¤¿¤Á¤ËÅÁ¤¨¤Æ¤¯¤À¤µ¤¤.

¤¢¤ë¤¤¤Ï, GNU Autoconf ¤Î¥¹¥¿¥¤¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹,

#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif

¤³¤ÎÊýË¡¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¤Ï, Makefile Ãæ¤Î CFLAGS¤Ë -DHAVE_SYS_PARAM_H ¤ò²Ã¤¨¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

¤¤¤Ã¤¿¤ó sys/param.h ¤¬¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤ë¤È,

#if (defined(BSD) && (BSD >= 199103))

¤³¤Î¤è¤¦¤Ë¤·¤Æ¤½¤Î¥³¡¼¥É¤¬ 4.3 Net2 ¥³¡¼¥É¥Ù¡¼¥¹, ¤Þ¤¿¤Ï¤½¤ì¤è¤ê¿·¤·¤¤¤â¤Î (Îã: FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386 1.1 ¤È¤½¤ì°ÊÁ°) ¤Î¾å¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤ò¸¡½Ð¤Ç¤­¤Þ¤¹.

#if (defined(BSD) && (BSD >= 199306))

¤³¤ì¤Ï, 4.4¥³¡¼¥É¥Ù¡¼¥¹, ¤Þ¤¿¤Ï¤½¤ì¤è¤ê¿·¤·¤¤¤â¤Î (Îã: FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 ¤È¤½¤ì°Ê¸å) ¤Î¾å¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¸¡½Ð¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤Þ¤¹.

4.4BSD-Lite2 ¥³¡¼¥É¥Ù¡¼¥¹¤Ç¤Ï BSD ¥Þ¥¯¥í¤ÎÃÍ¤Ï 199506 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹. ¤³¤ì¤Ï»²¹ÍÄøÅ٤ΰÕÌ£¹ç¤¤¤·¤«¤¢¤ê¤Þ¤»¤ó. 4.4-Lite ¥Ù¡¼¥¹¤Î FreeBSD ¤È 4.4-Lite2 ¤Ç¤ÎÊѹ¹¤¬¥Þ¡¼¥¸¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤È¤ò¶èÊ̤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¤Ù¤­¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. ¤³¤ÎÌÜŪ¤Î¤¿¤á¤Ë¤Ï¤«¤ï¤ê¤Ë __FreeBSD__ ¥Þ¥¯¥í¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤.

°Ê²¼¤Ï¹µ¤¨Ìܤ˻ȤäƤ¯¤À¤µ¤¤.

  • __FreeBSD__ ¤ÏFreeBSD¤Î¤¹¤Ù¤Æ¤ÎÈǤÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹. Êѹ¹¤¬ FreeBSD ¤À¤±¤ËŬÍѤµ¤ì¤ë¤È¤­°Ê³°¤Ï»ÈÍѤ·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤. port ¤Ç¤è¤¯¤¢¤ë strerror() ¤Ç¤Ï¤Ê¤¯ sys_errlist[] ¤ò»È¤¦¤Ê¤É¤Ï FreeBSD¤Ç¤ÎÊѹ¹¤Ç¤Ï¤Ê¤¯ BSD ¤Îήµ·¤Ç¤¹.

  • FreeBSD 2.x¤Ç¤Ï __FreeBSD__ ¤¬ 2 ¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹. ¤½¤ì°ÊÁ°¤ÎÈÇ¤Ç¤Ï 1 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹. ¤½¤Î¸å¤ÎÈǤǤϤ½¤Î¥á¥¸¥ã¡¼ÈÖ¹æ¤Ë¹ç¤¦¤è¤¦¤Ë¾å¤¬¤Ã¤Æ¤¤¤­¤Þ¤¹.

  • ¤â¤· FreeBSD 1.x ¥·¥¹¥Æ¥à¤È FreeBSD 2.x, ¤¢¤ë¤¤¤Ï FreeBSD 3.x ¥·¥¹¥Æ¥à¤ò¶èÊ̤¹¤ëɬÍפ¬¤¢¤ì¤Ð, ¾å¤Ç½Ò¤Ù¤¿ BSD ¥Þ¥¯¥í¤ò»ÈÍѤ¹¤ë¤Î¤¬ÂçÄñ¤Î¾ì¹ç¤Ë¤ª¤¤¤ÆÀµ¤·¤¤Åú¤Ç¤¹. ¤â¤· FreeBSD ÆÃÍ­¤ÎÊѹ¹¤Ç¤¢¤ì¤Ð (ld ¤ò»È¤¦¤È¤­¤Î¶¦Í­¥é¥¤¥Ö¥é¥êÍѤΥª¥×¥·¥ç¥ó¤Ê¤É), __FreeBSD__¤ò»È¤¤ #if __FreeBSD__ > 1 ¤Î¤è¤¦¤ËFreeBSD 2.x ¤ª¤è¤Ó, ¤½¤ì°Ê¹ß¤Î¥·¥¹¥Æ¥à¤ò¸¡½Ð¤¹¤ë¤Î¤Ï¤«¤Þ¤¤¤Þ¤»¤ó. ¤â¤· 2.0-RELEASE °Ê¹ß¤Î FreeBSD ¥·¥¹¥Æ¥à¤òºÙ¤«¤¯¸¡½Ð¤·¤¿¤±¤ì¤Ð, °Ê²¼¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.

    #if __FreeBSD__ >= 2
    #include <osreldate.h>
    #    if __FreeBSD_version >= 199504
             /* 2.0.5+ release specific code here */
    #    endif
    #endif
    
    Release __FreeBSD_version
    2.0-RELEASE 119411
    2.1-CURRENT 199501, 199503
    2.0.5-RELEASE 199504
    2.1 °ÊÁ°¤Î 2.2-CURRENT 199508
    2.1.0-RELEASE 199511
    2.1.5 °ÊÁ°¤Î 2.2-CURRENT 199512
    2.1.5-RELEASE 199607
    2.1.6 °ÊÁ°¤Î 2.2-CURRENT 199608
    2.1.6-RELEASE 199612
    2.1.7-RELEASE 199612
    2.2-RELEASE 220000
    2.2.1-RELEASE 220000 (Êѹ¹¤Ê¤·)
    2.2.1-RELEASE °Ê¹ß¤Î 2.2-STABLE 220000 (Êѹ¹¤Ê¤·)
    texinfo-3.9 °Ê¹ß¤Î 2.2-STABLE 221001
    top ƳÆþ°Ê¹ß¤Î 2.2-STABLE 221002
    2.2.2-RELEASE 222000
    2.2.2-RELEASE °Ê¹ß¤Î 2.2-STABLE 222001
    2.2.5-RELEASE 225000
    2.2.5-RELEASE °Ê¹ß¤Î 2.2-STABLE 225001
    ldconfig -R ¥Þ¡¼¥¸°Ê¹ß¤Î 2.2-STABLE 225002
    2.2.6-RELEASE 226000
    2.2.7-RELEASE 227000
    2.2.7-RELEASE °Ê¹ß¤Î 2.2-STABLE 227001
    semctl(2) Êѹ¹°Ê¹ß¤Î 2.2-STABLE 227002
    2.2.8-RELEASE 228000
    2.2.8-RELEASE °Ê¹ß¤Î 2.2-STABLE 228001
    mount(2) Êѹ¹°ÊÁ°¤Î 3.0-CURRENT 300000
    mount(2) Êѹ¹°Ê¹ß¤Î 3.0-CURRENT 300001
    semctl(2) Êѹ¹°Ê¹ß¤Î 3.0-CURRENT 300002
    ioctl °ú¿ôÊѹ¹°Ê¹ß¤Î 3.0-CURRENT 300003
    ELF ²½°Ê¹ß¤Î 3.0-CURRENT 300004
    3.0-RELEASE 300005
    3.0-RELEASE °Ê¹ß¤Î 3.0-CURRENT 300006
    3/4 ¤Îʬ´ô°Ê¹ß¤Î 3.0-STABLE 300007
    3.1-RELEASE 310000
    3.1-RELEASE °Ê¹ß¤Î 3.1-STABLE 310001
    C++ ¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿½ç½øÊѹ¹¤Î¸å¤Î 3.1-STABLE 310002
    3.2-RELEASE 320000
    3.2-STABLE 320001
    ¥Ð¥¤¥Ê¥ê¸ß´¹À­¤Î¤Ê¤¤ IPFW ¤È¥½¥±¥Ã¥È¤ÎÊѹ¹¸å¤Î 3.2-STABLE 320002
    3.3-RELEASE 330000
    3.3-STABLE 330001
    libc ¤Ë mkstemp(3) ¤¬Äɲ䵤줿¸å¤Î 3.3-STABLE 330002
    3.4-RELEASE 340000
    3.4-STABLE 340001
    3.4 ¤¬Ê¬´ô¤·¤¿¸å¤Î 4.0-CURRENT 400000
    dynamic linker ¤ÎÊѹ¹¸å¤Î 4.0-CURRENT 400001
    C++ ¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿½ç½øÊѹ¹¤Î¸å¤Î 4.0-CURRENT 400002
    dladdr(3) µ¡Ç½Äɲøå¤Î 4.0-CURRENT 400003
    __deregister_frame_info dynamic linker ¤Î¥Ð¥°½¤Àµ, EGCS 1.1.2 ƳÆþ¸å¤Î 4.0-CURRENT 400004
    suser(9) ¤Î API Êѹ¹, newbus ²½ °Ê¹ß¤Î 4.0-CURRENT 400005
    cdevsw ÅÐÏ¿ÊýË¡¤ÎÊѹ¹¸å¤Î 4.0-CURRENT 400006
    ¥½¥±¥Ã¥È¥ì¥Ù¥ë¤Î¾ÚÌÀ½ñ (credential) ¤Î¤¿¤á¤Ë so_cred ¤¬Äɲ䵤줿¸å¤Î 4.0-CURRENT 400007
    libc_r ¤Ø¤Î poll syscall ¥é¥Ã¥Ñ¡¼Äɲøå¤Î 4.0-CURRENT 400008
    kernel ¤Î dev_t ·¿¤«¤é struct spacinfo ¥Ý¥¤¥ó¥¿¤Ø¤Î Êѹ¹¸å¤Î 4.0-CURRENT 400009
    jail(2) ¤Î¥»¥­¥å¥ê¥Æ¥£¥Û¡¼¥ë ½¤Àµ¸å¤Î 4.0-CURRENT 400010
    sigset_t ¤Î ¥Ç¡¼¥¿·¿Êѹ¹¸å¤Î 4.0-CURRENT 400011
    ¥·¥¹¥Æ¥à¥³¥ó¥Ñ¥¤¥é¤ò gcc 2.95.2 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿ ¸å¤Î 4.0-CURRENT 400012
    ưŪÁȤ߹þ¤ß²Äǽ¤Ê Linux ¥â¡¼¥É¤Î ioctl ¥Ï¥ó¥É¥é¤¬ Äɲ䵤줿¸å¤Î 4.0-CURRENT 400013
    OpenSSL ƳÆþ¸å¤Î 4.0-CURRENT 400014
    GCC 2.95.2 ¤Î C++ ABI Êѹ¹¤Ç, ¥Ç¥Õ¥©¥ë¥È¤ò -fvtable-thunks ¤«¤é -fno-vtable-thunks ¤Ë Êѹ¹¤·¤¿¸å¤Î 4.0-CURRENT 400015
    OpenSSH ƳÆþ¸å¤Î 4.0-CURRENT 400016
    4.0-RELEASE 400017
    4.0-RELEASE °Ê¹ß¤Î 4.0-STABLE 400018
    libxpg4 ¤¬ libc ¤Ë¥Þ¡¼¥¸¤µ¤ì¤¿¸å¤Î 4.0-STABLE 400020
    Binutils ¤ò 2.10.0 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·, ELF ¥Ð¥¤¥Ê¥ê¤Î¥Þ¡¼¥¯ÉÕ¤± (branding) ÊýË¡¤òÊѹ¹¤·, tcsh ¤ò¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ËƳÆþ¤·¤¿¸å¤Î 4.0-STABLE 400021
    4.1-RELEASE 410000
    4.1-RELEASE °Ê¹ß¤Î 4.1-STABLE 410001
    setproctitle(3) ¤¬ libutil ¤«¤é libc ¤Ë °Üư¤·¤¿¸å¤Î 4.1-STABLE 410002
    4.1.1-RELEASE 411000
    4.1.1-RELEASE °Ê¹ß¤Î 4.1.1-STABLE 411001
    4.2-RELEASE 420000
    libgcc.a ¤È libgcc_r.a ¤Î·ë¹ç¤ª¤è¤Ó, ´ØÏ¢¤¹¤ë GCC linkage Êѹ¹¤¬¹Ô¤Ê¤ï¤ì¤¿¸å¤Î 4.2-STABLE 420001
    4.3-RELEASE 430000
    wint_t ƳÆþ¸å¤Î 4.3-STABLE 430001
    PCI ¥Ñ¥ï¡¼¥¹¥Æ¡¼¥È API ¥Þ¡¼¥¸¸å¤Î 4.3-STABLE 430002
    5.0-CURRENT 500000
    ELF ¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤ÎÄÉ²Ã¤È ELF ¥Ð¥¤¥Ê¥ê¤Î¥Þ¡¼¥¯ÉÕ¤± (branding) ÊýË¡¤ÎÊѹ¹¸å¤Î 5.0-CURRENT 500001
    kld ¥á¥¿¥Ç¡¼¥¿Êѹ¹¸å¤Î 5.0-CURRENT 500002
    buf/bio Êѹ¹¸å¤Î 5.0-CURRENT 500003
    binutils ¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¤Î 5.0-CURRENT 500004
    libxpg4 ¥³¡¼¥É¤Î libc ¤Ø¤Î¥Þ¡¼¥¸¤È, TASKQ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ÎƳÆþ¸å¤Î 5.0-CURRENT 500005
    AGP ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Äɲøå¤Î 5.0-CURRENT 500006
    Perl ¤ò 5.6.0 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¸å¤Î 5.0-CURRENT 500007
    KAME ¥³¡¼¥É¤ò 2000/07 ÈǤΥ½¡¼¥¹¤Ë¹¹¿·¤·¤¿¸å¤Î 5.0-CURRENT 500008
    ether_ifattach() ¤ª¤è¤Ó ether_ifdetach() Êѹ¹¸å¤Î 5.0-CURRENT 500009
    mtree ¤Î¥Ç¥Õ¥©¥ë¥È¤ò¥ª¥ê¥¸¥Ê¥ë¤ÎÊѼï¤ËÌᤷ, ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë -L ¥ª¥×¥·¥ç¥ó¤òÄɲä·¤¿¸å¤Î 5.0-CURRENT 500010
    kqueue API Êѹ¹¸å¤Î 5.0-CURRENT 500011
    setproctitle(3) ¤¬ libutil ¤«¤é libc ¤Ø°Üư¤·¤¿¸å¤Î 5.0-CURRENT 500012
    ºÇ½é¤Î SMPng ¤¬¥³¥ß¥Ã¥È¤µ¤ì¤¿¸å¤Î 5.0-CURRENT 500013
    <sys/select.h> ¤¬ <sys/selinfo.h> ¤Ë °Üư¤·¤¿¸å¤Î 5.0-CURRENT 500014
    libgcc.a ¤È libgcc_r.a ¤Î·ë¹ç¤ª¤è¤Ó´ØÏ¢¤¹¤ë GCC linkage Êѹ¹¤¬¹Ô¤Ê¤ï¤ì¤¿¸å¤Î 5.0-CURRENT 500015
    libc ¤È libc_r ¤Îº®¹ç¥ê¥ó¥¯¤òµö¤·, -pthread ¥ª¥×¥·¥ç¥ó¤ò deprecate ¤¹¤ë Êѹ¹¸å¤Î 5.0-CURRENT 500016
    mountd Åù¤¬»ÈÍѤ¹¤ë kernel-exported API ¤Î °ÂÄê²½¤Î¤¿¤á, ucred ¹½Â¤ÂΤ«¤é xucred ¹½Â¤ÂÎ¤Ø °Ü¹Ô¤·¤¿¸å¤Î 5.0-CURRENT 500017
    CPU °Í¸¤ÎºÇŬ²½¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î make ÊÑ¿ô CPUTYPE ¤¬Äɲ䵤줿¸å¤Î 5.0-CURRENT 500018
    <machine/ioctl_fd.h> ¤¬ <sys/fdcio.h> ¤Ë°Üư¤·¤¿¸å¤Î 5.0-CURRENT 500019
    ¥í¥±¡¼¥ë̾Êѹ¹¤Î¸å¤Î 5.0-CURRENT 500020
    Bzip2 ƳÆþ¸å¤Î 5.0-CURRENT 500021
    SSE ¥µ¥Ý¡¼¥È¸å¤Î 5.0-CURRENT 500022

Note: (2.2-STABLE ¤Ï 2.2.5-RELESE °Ê¸å, ``2.2.5-STABLE'' ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹.) ¸«¤Æ¤Î¤È¤ª¤ê¤³¤ì¤Ïǯ¡¦·î¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬, ¥Ð¡¼¥¸¥ç¥ó 2.2 ¤«¤é¤è¤êľÀÜŪ¤Ë¥á¥¸¥ã¡¼/¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ò»È¤¦¤è¤¦¤ËÊѹ¹¤Ë¤Ê¤ê¤Þ¤·¤¿. ʹԤ·¤Æ¤¤¤¯¤Ä¤«¤Î¥Ö¥é¥ó¥Á (»Þʬ¤«¤ì¤·¤¿¥Ð¡¼¥¸¥ç¥ó) ¤ò³«È¯¤¹¤ë¾ì¹ç¤Ë¤Ï, ¥ê¥ê¡¼¥¹¤µ¤ì¤¿ÆüÉդǤ½¤ì¤é¤Î¥ê¥ê¡¼¥¹¤òʬÎह¤ë¤³¤È¤¬ÉÔ²Äǽ¤À¤«¤é¤Ç¤¹ (¤¢¤Ê¤¿¤¬º£ port ¤òºîÀ®¤¹¤ë¤È¤­¤Ë, ¸Å¤¤ -CURRENT ã¤Ë¤Ä¤¤¤Æ¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó. ¤³¤ì¤Ï»²¹Í¤Î¤¿¤á¤Ëµó¤²¤é¤ì¤Æ¤¤¤ë¤Ë²á¤®¤Ê¤¤¤«¤é¤Ç¤¹).

¤³¤ì¤Þ¤Ç, ²¿É´¤â¤Î port ¤¬ºî¤é¤ì¤Æ¤­¤Þ¤·¤¿¤¬, __FreeBSD__ ¤¬Àµ¤·¤¯»È¤ï¤ì¤¿¤Î¤Ï°ì¤Ä¤«Æó¤Ä¤Î¾ì¹ç¤À¤±¤Ç¤·¤ç¤¦. °ÊÁ°¤Î port ¤¬¸í¤Ã¤¿¾ì½ê¤Ç¤½¤Î¥Þ¥¯¥í¤ò»È¤Ã¤Æ¤¤¤ë¤«¤é¤È¤¤¤Ã¤Æ, ¤½¤ì¤ò¤Þ¤Í¤¹¤ëÍýͳ¤Ï¤¢¤ê¤Þ¤»¤ó.


15.6. bsd.port.mk ¤Î¸å¤Ë½ñ¤¯¤³¤È

.include <bsd.port.mk> ¤Î¹Ô¤Î¸å¤Ë¤Ï²¿¤â½ñ¤«¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ÂçÄñ¤Î¾ì¹ç¤Ï Makefile ¤ÎÃæÄø¤Î¤É¤³¤«¤Ç bsd.port.pre.mk ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ, ºÇ¸å¤Ë bsd.port.pre.mk ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹.

Note: pre.mk/post.mk ¤Î¥Ú¥¢¤« bsd.port.mk ¤À¤±¤Î¤É¤Á¤é¤«¤À¤±¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·, Æó¤Ä¤òº®¤¼¤Ê¤¤¤Ç¤¯¤À¤µ¤¤.

Á°¼Ô¤Ï¤¤¤¯¤Ä¤«¤ÎÊÑ¿ô¤ÎÄêµÁ¤À¤±¤ò¤·¤Æ Makefile ¤Ç¤Î¥Æ¥¹¥È¤Ë»ÈÍѤ·, ¸å¼Ô¤Ï»Ä¤ê¤òÄêµÁ¤·¤Þ¤¹.

°Ê²¼¤Ï bsd.port.pre.mk ¤ÇÄêµÁ¤µ¤ì¤ë½ÅÍפÊÊÑ¿ô¤Ç¤¹ (¤³¤ì¤Ï, ¤¹¤Ù¤Æ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. ´°Á´¤Ê¥ê¥¹¥È¤Ï bsd.port.mk ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤).

ÊÑ¿ô̾ ²òÀâ
ARCH uname -m ¤ÇÊÖ¤µ¤ì¤ë ¥¢¡¼¥­¥Æ¥¯¥Á¥ã. (Îã, i386).
OPSYS uname -s ¤ÇÊÖ¤µ¤ì¤ë ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à (Îã, FreeBSD).
OSREL ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î ¥ê¥ê¡¼¥¹¥Ð¡¼¥¸¥ç¥ó (Îã., 2.1.5, 2.2.7).
OSVERSION ¿ô»ú·Á¼°¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à ¤Î¥Ð¡¼¥¸¥ç¥ó, ¾åµ­¤Î __FreeBSD_version ¤ÈƱ¤¸¤Ç¤¹.
PORTOBJFORMAT ¥·¥¹¥Æ¥à¤Î¥ª¥Ö¥¸¥§¥¯¥È ¥Õ¥©¡¼¥Þ¥Ã¥È (aout ¤¢¤ë¤¤¤Ï elf).
LOCALBASE ``local'' ¥Ä¥ê¡¼¤Î¥Ù¡¼¥¹. (Îã, /usr/local/).
X11BASE ``X11'' ¥Ä¥ê¡¼¤Î¥Ù¡¼¥¹. (Îã, /usr/X11R6/).
PREFIX ports ¤Î¥¤¥ó¥¹¥È¡¼¥ëÀè ( PREFIX¤Ë¤Ä¤¤¤Æ¤ò»²¾È).

Note: USE_IMAKE, USE_X_PREFIX ¤¢¤ë¤¤¤Ï MASTERDIR ¤Ê¤É¤ÎÊÑ¿ô¤òÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï, bsd.port.pre.mk ¤ò¥¤¥ó¥¯¥ë¡¼¥ÉÁ°¤ËÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤. ¾¤Î¤â¤Î¤Ï bsd.port.pre.mk ¤ÎÁ°¤Ç¤â¸å¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó.

°Ê²¼¤Ï bsd.port.pre.mk ¤Î¸å¤Ë½ñ¤±¤ë¤â¤Î¤ÎÎã¤Ç¤¹.

# no need to compile lang/perl5 if perl5 is already in system
.if ${OSVERSION} > 300003
BROKEN= perl is in system
.endif

# only one shlib version number for ELF
.if ${PORTOBJFORMAT} == "elf"
TCL_LIB_FILE=  ${TCL_LIB}.${SHLIB_MAJOR}
.else
TCL_LIB_FILE=  ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR}
.endif

# software already makes link for ELF, but not for a.out
post-install:
.if ${PORTOBJFORMAT} == "aout"
       ${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so
.endif

15.7. ÉÕ²ÃŪ¤Êʸ½ñ¤Î¥¤¥ó¥¹¥È¡¼¥ë

ÉáÄ̤Υޥ˥奢¥ë¤ä info ¥Õ¥¡¥¤¥ë¤Î¾¤Ë¥æ¡¼¥¶¤Ë¤È¤Ã¤ÆÍ­ÍѤÀ¤È»×¤¨¤ë¤è¤¦¤Êʸ½ñ¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï, PREFIX/share/doc ¤Î²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤ì¤ÏÁ°µ­¤ÈƱÍÍ post-install ¥¿¡¼¥²¥Ã¥È¤ÎÃæ¤«¤é¹Ô¤Ê¤¦¤ÈÎɤ¤¤Ç¤·¤ç¤¦.

¤Þ¤º, ¤¢¤Ê¤¿¤Î port ¤Î¤¿¤á¤Ë¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ê¤Þ¤¹. ¤É¤Î port ¤Îʸ½ñ¤«´Êñ¤Ë¤ï¤«¤ë¤è¤¦¤Ê̾Á°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç, ÉáÄÌ¤Ï PORTNAME ¤ò»È¤¦¤ÈÎɤ¤¤Ç¤·¤ç¤¦. ¤â¤Á¤í¤ó, ¥æ¡¼¥¶¤¬°Û¤Ê¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¤â¤Î¤òƱ»þ¤Ë»È¤¦¤³¤È¤¬Í½ÁÛ¤µ¤ì¤ë port ¤Î¾ì¹ç¤Ë¤Ï PKGNAME ¤ò¤½¤Î¤Þ¤Þ»È¤Ã¤Æ¤â¹½¤¤¤Þ¤»¤ó.

¥æ¡¼¥¶¤¬ /etc/make.conf ¤Ç¤³¤ÎÉôʬ¤ò¶Ø»ß¤¹¤ë¤¿¤á¤Ë NOPORTDOCS ¤È¤¤¤¦ÊÑ¿ô¤ò¥»¥Ã¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï, ¤³¤ì¤é¤Îʸ½ñ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤³¤ó¤Ê¶ñ¹ç¤Ç¤¹.

post-install:
.if !defined(NOPORTDOCS)
        ${MKDIR} ${PREFIX}/share/doc/xv
        ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv
.endif

ʸ½ñ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¹¤Ù¤Æ pkg-plist ¤ÎÃæ¤Ë %%PORTDOCS%% ¤òƬ¤Ë¤Ä¤±¤Æ½ñ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹. ¤¿¤È¤¨¤Ð, ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤.

%%PORTDOCS%%share/doc/pure-ftpd/AUTHORS
%%PORTDOCS%%share/doc/pure-ftpd/CONTACT
%%PORTDOCS%%@dirrm share/doc/pure-ftpd

¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë pkg-message ¥Õ¥¡¥¤¥ë¤òÍøÍѤ·¤Æ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹. ¾ÜºÙ¤Ï pkg-message ¤ò»È¤¦¤Î¥»¥¯¥·¥ç¥ó¤ò »²¾È¤·¤Æ¤¯¤À¤µ¤¤.

Note: pkg-message ¥Õ¥¡¥¤¥ë¤ò pkg-plist ¤Ë²Ã¤¨¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó.


15.8. DIST_SUBDIR

/usr/ports/distfiles ¥Ç¥£¥ì¥¯¥È¥êÆâ¤ò¤¢¤Þ¤ê»¶¤é¤«¤µ¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤. ¤¿¤¯¤µ¤ó¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤Ã¤Æ¤¯¤ë port ¤ä, ¿ô¤Ï¾¯¤Ê¤¯¤Æ¤â¾¤Î port ¤Î¥Õ¥¡¥¤¥ë¤Èº®Æ±¤µ¤ì¤ë¶²¤ì¤¬¤¢¤ë¥Õ¥¡¥¤¥ë (Makefile ¤Ê¤É) ¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï, DIST_SUBDIR ¤Ë port ¤Î̾Á° (${PORTNAME} ¤« ${PKGNAMEPREFIX}${PORTNAME} ¤ò»È¤¦¤È¤¤¤¤¤Ç¤·¤ç¤¦) ¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤. ¤¹¤ë¤È DISTDIR ¤¬¥Ç¥Õ¥©¥ë¥È¤Î /usr/ports/distfiles ¤«¤é /usr/ports/distfiles/DIST_SUBDIR ¤ËÊѹ¹¤µ¤ì, ¼è¤Ã¤Æ¤­¤¿¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ù¤Æ¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤ËÃÖ¤«¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹.

¤Þ¤¿, ¥Õ¥¡¥¤¥ë¤ò¼è¤Ã¤Æ¤¯¤ë¤È¤­¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¥µ¥¤¥È¤È¤·¤Æ»È¤ï¤ì¤ë ftp.FreeBSD.org ¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤Ë¤â¤³¤ÎÊÑ¿ô¤ÎÃͤ¬»È¤ï¤