´ÙÀ½Àº Æ÷Æà °úÁ¤¿¡¼ ¸¸³ª°Ô µÉ ÈçÇÑ ÁÖÀÇÁ¡ÀÇ ¸ñ·ÏÀÔ´Ï´Ù. ¿©·¯ºÐÀÇ Æ÷Æ®¸¦ ÀÌ ¸ñ·Ï¿¡ ´ëÇØ °Ë»çÇØ º¸¾Æ¾ß ÇÏÁö¸¸, ´Ù¸¥ »ç¶÷ÀÌ º¸³½ °Íµµ PR µ¥ÀÌÅͺ£À̽º¿¡¼ °Ë»çÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÌ °Ë»çÇÑ Æ÷Æ®¿¡ ´ëÇÑ ÀÇ°ßÀº ¹ö±× ¸®Æ÷Æ®¿Í ÀϹÝÀûÀÎ ÀÇ°ß¿¡¼ ¼³¸íÇÑ ´ë·Î º¸³»¼¼¿ä. PR µ¥ÀÌÅͺ£À̽ºÀÇ Æ÷Æ®¸¦ °Ë»çÇÏ´Â °ÍÀº ¿ì¸®°¡ ±× Æ÷Æ®¸¦ »¡¸® µî·ÏÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í, ¿©·¯ºÐÀÌ ¾î¶»°Ô ÇÏ°í ÀÖ´ÂÁö ¾È´Ù´Â °ÍÀ» Áõ¸íÇØ ÁÝ´Ï´Ù.
¹ÙÀ̳ʸ®¸¦ ÀÛ°Ô ¸¸µå¼¼¿ä. ¿øº» ¼Ò½º°¡ ÀÌ¹Ì ¹ÙÀ̳ʸ® ½ºÆ®¸³
(¿ªÁÖ: `strip'¸í·ÉÀ¸·Î ½Éº¼ Å×À̺íÀ̳ª ±âŸ ½ÇÇà¿¡ ÇÊ¿äÇÏÁö
¾Ê´Â Á¤º¸¸¦ »èÁ¦ÇÏ´Â ÀÏ)À» ÇÑ´Ù¸é, µÆ½À´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é
post-install
±ÔÄ¢¿¡ Á÷Á¢ ÇÏ´Â ¹æ¹ýÀ» Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
¿©±â ¿¹¸¦ º¸¼¼¿ä:
post-install:
strip ${PREFIX}/bin/xdl
file
¸í·ÉÀ» ¼³Ä¡µÈ ½ÇÇà ÆÄÀÏ¿¡ »ç¿ëÇؼ
¹ÙÀ̳ʸ®°¡ ½ºÆ®¸³µÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ ¾Ë¾Æº¼ ¼ö ÀÖ½À´Ï´Ù.
±× ¸í·ÉÀÌ `not stripped(½ºÆ®¸³ ¾È µÇ¾úÀ½)'À̶ó°í ÇÏÁö ¾Ê´Â´Ù¸é,
½ºÆ®¸³ µÈ °ÍÀÔ´Ï´Ù.
bsd.port.mk
¿¡¼ Á¦°øÇÏ´Â ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ¿©
¿©·¯ºÐÀÇ *-install Ÿ°Ù¿¡¼ ¿Ã¹Ù¸¥ ¸ðµå¿Í ¼ÒÀ¯ÀÚ¸¦ ¼³Á¤Çϵµ·Ï
È®ÀÎÇϼ¼¿ä. À̰͵éÀº ´ÙÀ½°ú °°½À´Ï´Ù:
${INSTALL_PROGRAM}
˼
¹ÙÀ̳ʸ® ½ÇÇà ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.${INSTALL_SCRIPT}
´Â
½ÇÇà °¡´ÉÇÑ ½ºÅ©¸³Æ®¸¦ ¼³Ä¡ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.${INSTALL_DATA}
´Â
°øÀ¯ÇÒ ¼ö ÀÖ´Â ÀڷḦ ¼³Ä¡ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.${INSTALL_MAN}
˼
¸Å´º¾ó ÆäÀÌÁö¿Í ´Ù¸¥ ¹®¼¸¦ ¼³Ä¡ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù
(¾Æ¹«°Íµµ ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù).À̵éÀº ±âº»ÀûÀ¸·Î ÀûÀýÇÑ Àμö¸¦ ÁöÁ¤ÇÑ install
¸í·ÉÀÔ´Ï´Ù. ¾Æ·¡ ¿¹Á¦¿¡¼ »ç¿ë ¹æ¹ýÀ» º¸¼¼¿ä.
º¯°æÇØ¾ß Çϰųª µ¿ÀÛÇÏ´Â 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
.c
ÆÄÀÏ ¾ÈÀÇ Àû´çÇÑ °÷¿¡ Ãß°¡Çϼ¼¿ä. À̵éÀ» ½Éº¼·Î Á¤ÀÇÇÏ´Â
¸ðµç ½Ã½ºÅÛÀº sys/param.hÀ» °®°í ÀÖ´Ù°í ¹Ï½À´Ï´Ù. ±×·¸Áö ¾ÊÀº ½Ã½ºÅÛÀ»
¾Ë°í ÀÖ´Ù¸é, ¾Ë·Á ÁÖ¼¼¿ä. FreeBSD Æ÷Æ® ¸ÞÀϸµ ¸®½ºÆ®
<freebsd-ports@FreeBSD.ORG>
¿¡ ÀüÀÚ¿ìÆíÀ» º¸³» Áֽñ⠹ٶø´Ï´Ù.
´Ù¸¥ ¹æ¹ýÀº 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 ÀÌ»ó).
BSD ¸ÅÅ©·ÎÀÇ °ªÀº 4.4BSD-Lite2 ÄÚµå ±â¹Ý¿¡¼´Â 199506ÀÔ´Ï´Ù. ÀÌ´Â Á¤º¸ Á¦°øÀÇ ¸ñÀûÀ¸·Î¸¸ »ç¿ëµË´Ï´Ù. ÀÌ °ªÀº 4.4-Lite¿¡¸¸ ±â¹ÝÀ» µÐ FreeBSD ¹öÀü°ú 4.4-Lite2ÀÇ º¯°æ»çÇ×À» Æ÷ÇÔÇÏ´Â FreeBSD ¹öÀü °£ÀÇ ºñ±³¿¡ »ç¿ëµÇ¾î¼´Â ¾ÈµË´Ï´Ù. ´ë½Å¿¡ __FreeBSD__ ¸ÅÅ©·Î¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
µå¹°°Ô´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÕ´Ï´Ù:
__FreeBSD__
´Â ¸ðµç ¹öÀüÀÇ FreeBSD¿¡¼ Á¤ÀǵǾî
ÀÖ½À´Ï´Ù. FreeBSD¿¡¸¸ ¿µÇâÀ» ÁÖ´Â º¯°æÀ» ÇÏ°í ÀÖ´Ù¸é ÀÌ°ÍÀ»
»ç¿ëÇϼ¼¿ä. sys_errlist[]
¿Í strerror()
¸¦
»ç¿ëÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ Æ÷Æà ¹®Á¦´Â ¹öŬ¸®ÁÖÀÇÁö FreeBSD¿¡¼ÀÇ
º¯°æ»çÇ×ÀÌ ¾Æ´Õ´Ï´Ù.
__FreeBSD__
°¡ 2·Î Á¤ÀǵǾî
ÀÖ½À´Ï´Ù. ÀÌÀü ¹öÀü¿¡¼´Â 1
ÀÔ´Ï´Ù. ³ªÁß ¹öÀüµµ °¢°¢ÀÇ
ÁÖ ¹öÀü ¹øÈ£¿¡ ¸Âµµ·Ï ¿Ã¶ó°¥ °ÍÀÔ´Ï´Ù.
BSD
¸ÅÅ©·Î¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ½ÇÁ¦ÀûÀ¸·Î
FreeBSD¿¡¸¸ ÇØ´çÇÏ´Â º¯°æÀÌ ÀÖ¾ú´Ù¸é(`ld
'¸¦ »ç¿ëÇÒ ¶§ÀÇ
Ưº°ÇÑ °øÀ¯ ¶óÀ̺귯¸® ¿É¼Ç°ú °°Àº) FreeBSD 2.x¿Í ±× ÀÌ»ó
½Ã½ºÅÛÀ» ŽÁöÇϱâ À§ÇØ __FreeBSD__
¿Í `#if __FreeBSD__ >
1
'¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
2.0-RELEASEÀÌÈÄÀÇ FreeBSD½Ã½ºÅÛÀ» ÀÚ¼¼È÷ ¾Ë¾Æ³»°í ½Í´Ù¸é
´ÙÀ½À» »ç¿ëÇϼ¼¿ä:
#if __FreeBSD__ >= 2
#include <osreldate.h>
# if __FreeBSD_version >= 199504
/* 2.0.5+ ¸±¸®Áî¿¡ ƯÁ¤ÇÑ ÄÚµå´Â ¿©±â¿¡ */
# endif
#endif
__FreeBSD_version
°ª:
2.0-RELEASE: 199411
2.1-current's: 199501, 199503
2.0.5-RELEASE: 199504
2.2-current(2.1 ÀÌÀü): 199508
2.1.0-RELEASE: 199511
2.2-current(2.1.5 ÀÌÀü): 199512
2.1.5-RELEASE: 199607
2.2-current(2.1.6 ÀÌÀü): 199608
2.1.6-RELEASE: 199612
2.1.7-RELEASE: 199612
2.2-RELEASE: 220000
2.2.1-RELEASE: 220000 (¿¹, º¯°æ ¾ø½À´Ï´Ù)
2.2-STABLE (2.2.1-RELEASE ÀÌÈÄ): 220000 (¿¹, ±×·¡µµ º¯°æ ¾ø½À´Ï´Ù)
2.2-STABLE (texinfo-3.9 ÀÌÈÄ): 221001
2.2-STABLE (top ÀÌÈÄ): 221002
2.2.2-RELEASE: 222000
2.2-STABLE (2.2.2-RELEASE ÀÌÈÄ): 222001
2.2.5-RELEASE: 225000
2.2-STABLE (2.2.5-RELEASE ÀÌÈÄ): 225001
2.2-STABLE (ldconfig -R ÅëÇÕ ÀÌÈÄ): 225002
2.2.6-RELEASE: 226000
2.2.7-RELEASE: 227000
2.2-STABLE (2.2.7-RELEASE ÀÌÈÄ): 227001
2.2-STABLE (semctl(2) º¯°æ ÀÌÈÄ): 227002
3.0-current (mount(2) º¯°æ ÀÌÀü): 300000
3.0-current (mount(2) º¯°æ ÀÌÈÄ): 300001
3.0-current (semctl(2) º¯°æ ÀÌÈÄ): 300002
3.0-current (ioctl Àμö º¯°æ ÀÌÈÄ): 300003
3.0-current (ELFº¯È¯ ÀÌÈÄ): 300004
3.0-RELEASE: 300005
3.0-current (3.0-RELEASE ÀÌÈÄ): 300006
(2.2-STABLEÀº Á¾Á¾ 2.2.[567]-RELEASEÀÌÈÄ¿¡µµ ÀÚ½ÅÀ»
2.2.5-STABLEÀ̶ó°í ³ªÅ¸³»´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä)
ÀÌ ÇüÅ´ ¿¬µµ ´ÙÀ½¿¡ ¿ùÀ» ³ªÅ¸³»´Â °ÍÀ̾úÁö¸¸ 2.2 ºÎÅÍ
½ÃÀÛÇÏ´Â Á¶±Ý ´õ °£´ÜÇÑ ÁÖ/ºÎ ½Ã½ºÅÛÀÇ ½ÃÀÛ¿¡ ¸ÂÃß¾î
¹Ù²Ù¾ú½À´Ï´Ù. ÀÌ´Â ¿©·¯°¡Áö °¡Áö¿¡¼ÀÇ º´·Ä °³¹ß¿¡¼´Â ½ÇÁ¦
¸±¸®Áî ³¯Â¥·Î ´Ü¼øÇÏ°Ô ¸±¸®Á ÆǺ°Çϱ⿡´Â ºÒ°¡´ÉÇϱâ
¶§¹®ÀÔ´Ï´Ù.
(Áö±Ý Æ÷Æ®¸¦ ¸¸µé°í ÀÖ´Ù¸é ÀÌÀü -current¿¡ ´ëÇؼ´Â °ÆÁ¤ÇÏÁö
¾Ê¾Æµµ µË´Ï´Ù. À̰͵éÀº ´Ü¼øÈ÷ ÂüÁ¶Ç϶ó°í ³ª¿ÇØ ³õÀº
°ÍÀÔ´Ï´Ù).
ÀÌ¹Ì ¸¸µé¾îÁø ¼ö¹é°¡Áö Æ÷Æ®¿¡¼ __FreeBSD__
¸¦ »ç¿ëÇؾ߸¸ ÇÏ´Â
°æ¿ì´Â ´ÜÁö Çѵΰ¡ÁöÀÏ »ÓÀÔ´Ï´Ù. ÀÌÀü¿¡ Æ÷Æ®¸¦ À߸ø ¸¸µé¾î¼ À߸øµÈ
°÷¿¡¼ À̸¦ »ç¿ëÇß´Ù´Â »ç½Ç ¶§¹®¿¡ ¿©·¯ºÐµµ ±×·¡¾ß ÇÑ´Ù´Â °ÍÀ»
ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù
ÀÌ ¼ÒÇÁÆ®¿þ¾î¿¡
Ç¥ÁØ ¸Þ´º¾ó ÆäÀÌÁö¿Í info ÆäÀÌÁö ÀÌ¿Ü¿¡ »ç¿ëÀÚ¿¡°Ô À¯¿ëÇϸ®¶ó
»ý°¢ÇÏ´Â ¹®¼°¡ ÀÖ´Ù¸é, ${PREFIX}/share/doc
¾Æ·¡¿¡ ¼³Ä¡Çϼ¼¿ä. ÀÌÀü °Íµé ó·³ post-install
Ÿ°Ù¿¡¼
ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Æ÷Æ®¸¦ À§ÇØ »õ µð·ºÅ丮¸¦ ¸¸µå¼¼¿ä. µð·ºÅ丮 À̸§Àº
Æ÷Æ®°¡ ¹«¾ùÀÎÁö¸¦ ¹Ý¿µÇØ¾ß ÇÕ´Ï´Ù. ÀÌ´Â º¸Åë
${PKGNAME}
¿¡¼ ¹öÀü ºÎ¸¦ »« °ÍÀÔ´Ï´Ù.
±×·¯³ª »ç¿ëÀÚ°¡ µ¿½Ã¿¡ Æ÷Æ®ÀÇ ¿©·¯ ¹öÀüÀ» ÇÊ¿ä·Î ÇÒ °ÍÀ̶ó
»ý°¢µÇ¸é Àüü ${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
¿¡ Ãß°¡ÇÏ´Â °ÍÀ» ÀØÁö ¸¶¼¼¿ä!
(¿©±â¿¡¼± NOPORTDOCS
¿¡ ´ëÇØ °ÆÁ¤ÇÏÁö ¸¶¼¼¿ä.
ÇöÀç·Î¼´Â ÆÐÅ°Áö°¡ /etc/make.conf
¿¡¼ º¯¼ö¸¦ Àеµ·Ï
ÇÏ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.)
¶ÇÇÑ, pkg/MESSAGE
ÆÄÀÏÀ» »ç¿ëÇؼ ¼³Ä¡ ÈÄ¿¡
¸Þ½ÃÁö¸¦ Ç¥½ÃÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¼¼ÇÑ °ÍÀº
pkg/MESSAGE »ç¿ë
À» º¸¼¼¿ä.
Æ÷Æ®°¡ /usr/ports/distfiles
¸¦ ³ÀâÇÏ°Ô ¸¸µéµµ·Ï ÇÏÁö
¸¶¼¼¿ä. Æ÷Æ®°¡ ¸¹Àº ÆÄÀÏÀ» ¾ò¾î¿Í¾ß Çϰųª, ´Ù¸¥ Æ÷Æ®¿Í Ãæµ¹ÇÒ ¸¸ÇÑ
À̸§À» °¡Áø ÆÄÀÏÀ» ¾ò¾î¿Í¾ß ÇÑ´Ù¸é(¿¹: `Makefile'),
${DIST_SUBDIR}
À» Æ÷Æ®ÀÇ À̸§
(¹öÀü ¹øÈ£¸¦ Á¦¿ÜÇÑ ${PKGNAME}
¸é µË´Ï´Ù)À¸·Î
ÁöÁ¤Çϼ¼¿ä. ÀÌ°ÍÀº ${DISTDIR}
À» ±âº»°ªÀÎ
/usr/ports/distfiles
¿¡¼
/usr/ports/distfiles/${DIST_SUBDIR}
·Î ¹Ù²Ù¸ç,
°á°úÀûÀ¸·Î ¿©·¯ºÐÀÇ Æ÷Æ®¿¡¼ ÇÊ¿äÇÑ ¸ðµç °ÍÀ» ±× ºÎµð·ºÅ丮¿¡
³Öµµ·Ï ÇÕ´Ï´Ù.
¶ÇÇÑ ftp.freebsd.org
ÀÇ ¹é¾÷ ¸¶½ºÅÍ »çÀÌÆ®ÀÇ °°Àº À̸§À¸·Î
µÈ ºÎµð·ºÅ丮µµ »ìÆ캾´Ï´Ù.
(${DISTDIR}
À» ¸í½ÃÀûÀ¸·Î Makefile¿¡ ÁöÁ¤Çϸé
±×·¸°Ô µÇÁö ¾ÊÀ¸¹Ç·Î, ${DIST_SUBDIR}
À» ²À ¾²¼¼¿ä)
ÀÌ°ÍÀº Makefile¿¡¼ Á¤ÀÇÇÑ ${MASTER_SITES}
¿¡´Â
¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä.
RCS ¹®ÀÚ¿À» ÆÐÄ¡¿¡ ³ÖÁö ¸¶¼¼¿ä. CVS´Â ÆÄÀÏÀ» Æ÷Æ® Æ®¸®¿¡
³ÖÀ» ¶§ ±× ºÎºÐÀ» ¸Á°¡¶ß¸± °ÍÀ̸ç, ³ªÁß¿¡ ´Ù½Ã ²¨³¾ ¶§
´Ù¸£°Ô ³ª¿Í¼ ÆÐÄ¡°¡ ½ÇÆÐÇÒ °ÍÀÔ´Ï´Ù. RCS ¹®ÀÚ¿Àº
´Þ·¯ ±âÈ£ (`$
')·Î µÑ·¯½×¿© ÀÖÀ¸¸ç,
º¸Åë `$Id
'³ª `$RCS
'·Î
½ÃÀÛÇÕ´Ï´Ù.
ÆÐÄ¡¸¦ ¸¸µé±â À§ÇØ diff
ÀÇ Àç±Í (`-r
')¿É¼ÇÀ»
¾²´Â °ÍÀº ÁÁ½À´Ï´Ù¸¸, ÆÐÄ¡ÀÇ °á°ú°¡ ºÒÇÊ¿äÇÑ ¾²·¹±â¸¦ ¸¸µé¾î³»Áö
¾Ê´ÂÁö È®ÀÎÇØ ÁÖ¼¼¿ä. ƯÈ÷, µÎ ¹é¾÷ ÆÄÀÏ »çÀÌ, Æ÷Æ®°¡ Imake³ª
GNU configure
µîÀ» »ç¿ëÇÒ ¶§ÀÇ Makefile »çÀÌÀÇ diff´Â ºÒÇÊ¿äÇϸç
Áö¿ö¾ß ÇÕ´Ï´Ù.
configure.in
À» °íÃļ configure
¸¦ Àç»ý¼ºÇϱâ À§ÇØ
autoconf
¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù¸é, configure
ÀÇ diff¸¦ ¾òÁö ¸¶¼¼¿ä
(Á¾Á¾ ¼öõ¶óÀÎÀÌ µÇ±âµµ ÇÕ´Ï´Ù!). USE_AUTOCONF=yes
¸¦ ÁöÁ¤ÇÏ°í
configure.in
ÀÇ diff¸¦ ¾òÀ¸¼¼¿ä.
¶ÇÇÑ ÆÄÀÏÀ» Áö¿ö¾ß ÇÒ ¶§¿¡´Â ÆÐÄ¡ÀÇ ÀϺο¡¼º¸´Ù´Â
post-extract
Ÿ°Ù¿¡¼ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÏ´Ü diffÀÇ °á°ú¿¡
¸¸Á·ÇÑ´Ù¸é, ÆÐÄ¡ ÆÄÀÏ´ç ÇϳªÀÇ ¼Ò½º ÆÄÀÏÀÌ µÇµµ·Ï ³ª´² ÁÖ¼¼¿ä.
Æ÷Æ®ÀÇ ¼³Ä¡°¡ ${PREFIX}
¿¡ »ó´ëÀûÀ̵µ·Ï Çϼ¼¿ä.
(ÀÌ º¯¼öÀÇ °ªÀº ${LOCALBASE}
(±âº»°ªÀº
/usr/local
)À̸ç, ${USE_X_PREFIX}
À̳ª ${USE_IMAKE}
ÀÌ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é,
${X11BASE}
ÀÔ´Ï´Ù(±âº»°ª /usr/X11R6
).)
`/usr/local
'À̳ª `/usr/X11R6
'ÀÌ ¼Ò½ºÀÇ
¾îµð¿¡¼µµ ÇϵåÄÚµùµÇÁö ¾Êµµ·Ï ÇØ¾ß Æ÷Æ®°¡ ´õ À¯¿¬ÇØÁö°í
´Ù¸¥ »çÀÌÆ®ÀÇ ÇÊ¿ä¿¡µµ ¸Â°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.
imake¸¦ »ç¿ëÇÏ´Â X Æ÷Æ®¿¡¼´Â, ÀÚµ¿ÀûÀ¸·Î µË´Ï´Ù.
±×·¸Áö ¾ÊÀ¸¸é, Æ÷Æ®ÀÇ ¿©·¯°¡Áö ½ºÅ©¸³Æ®/Makefile¿¡¼
`/usr/local
'ÀÌ ³ª¿À´Â ºÎºÐÀ»
(imake¸¦ »ç¿ëÇÏÁö ¾Ê´Â X Æ÷Æ®µéÀº `/usr/X11R6
')
`${PREFIX}
'·Î ´Ü¼øÈ÷ ¹Ù²Ù±â¸¸ ÇÏ¸é µË´Ï´Ù.
ÀÌ º¯¼öµéÀº ÄÄÆÄÀÏ°ú ¼³Ä¡ °úÁ¤ÀÇ ¸ðµç ´Ü°è¿¡¼ ÀÚµ¿ÀûÀ¸·Î
¾Æ·¡·Î Àü´ÞµË´Ï´Ù.
Æ÷Æ®°¡ Á¤¸» USE_X_PREFIX
À» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù¸é
ÁöÁ¤ÇÏÁö ¸¶¼¼¿ä
(¿¹. X ¶óÀ̺귯¸®¸¦ ¸µÅ©Çϰųª ${X11BASE}
ÀÇ
ÆÄÀÏÀ» ÂüÁ¶ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì).
${PREFIX}
º¯¼ö´Â MakefileÀ̳ª »ç¿ëÀÚÀÇ È¯°æ¿¡¼
Àç¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, °³º° Æ÷Æ®°¡ ÀÌ º¯¼ö¸¦ ¸í½ÃÀûÀ¸·Î
Makefile¿¡¼ ÁöÁ¤ÇÏ´Â °ÍÀº Á¤¸» ±ÇÀåÇÏÁö ¾Ê½À´Ï´Ù.
¶ÇÇÑ, ¸í½ÃÀûÀÎ °æ·Î¸íÀÌ ¾Æ´Ñ À§¿¡¼ ¾ð±ÞÇÑ º¯¼ö¸¦ »ç¿ëÇÏ¿©
´Ù¸¥ Æ÷Æ®ÀÇ ÇÁ·Î±×·¥/ÆÄÀÏÀ» ÂüÁ¶Çϼ¼¿ä. ¿¹¸¦ µé¸é,
Æ÷Æ®°¡ less
ÀÇ Àüü °æ·Î¸íÀ» ¾ò±â À§ÇØ
PAGER
¸ÅÅ©·Î¸¦ ÇÊ¿ä·Î ÇÑ´Ù¸é, ´ÙÀ½ ÄÄÆÄÀÏ·¯ Ç÷¡±×¸¦
»ç¿ëÇϼ¼¿ä:
-DPAGER=\"${PREFIX}/bin/less\"À̳ª X Æ÷Æ®ÀÎ °æ¿ì
-DPAGER=\"/usr/local/bin/less\"´ë½Å
-DPAGER=\"${LOCALBASE}/bin/less\"
ÀÌ ¹æ¹ýÀº ½Ã½ºÅÛ °ü¸®ÀÚ°¡ `/usr/local' Æ®¸®¸¦ ´Ù¸¥ °÷À¸·Î ¿Å°åÀ» °æ¿ì¿¡µµ µ¿ÀÛÇÒ ±âȸ¸¦ ´õ ÁÙ °ÍÀÔ´Ï´Ù.
Æ÷Æ®°¡ ${PREFIX}
ÀÇ ¿Ã¹Ù¸¥ ºÎµð·ºÅ丮¿¡
¼³Ä¡Çϵµ·Ï Çϼ¼¿ä. ¾î¶² Æ÷Æ®´Â ¸ðµç °ÍÀ» ´Ù ¹¾î¼
Æ÷Æ®ÀÇ À̸§À¸·Î µÈ ºÎµð·¹°ÔÅ丮¿¡ ¸ðµç °ÍÀ» ³Ö½À´Ï´Ù¸¸,
ÀÌ°ÍÀº À߸øµÈ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ¿©·¯ Æ÷Æ®´Â ¹ÙÀ̳ʸ®,
Çì´õ ÆÄÀÏ, ¸Å´º¾ó ÆäÀÌÁö¸¦ Á¦¿ÜÇÑ ¸ðµç °ÍÀ»
`lib
' ºÎµð·ºÅ丮¿¡ ³Ö½À´Ï´Ù¸¸, ÀÌ´Â BSD Æз¯´ÙÀÓ¿¡´Â
Àß ¸ÂÁö ¾Ê½À´Ï´Ù. ¸¹Àº ÆÄÀÏÀº ´ÙÀ½ À§Ä¡·Î ¿Å°Ü¾ß ÇÕ´Ï´Ù:
`etc
' (¼Â¾÷/¼³Á¤ ÆÄÀÏ),
`libexec
' (³»ºÎÀûÀ¸·Î ½ÃÀÛÇÏ´Â ½ÇÇà ÆÄÀÏ),
`sbin
' (¼öÆÛÀ¯Àú/°ü¸®ÀÚ¿ë ½ÇÇà ÆÄÀÏ),
`info
' (info ºê¶ó¿ìÀúÀÇ ¹®¼),
`share
' (¾ÆÅ°ÅØó µ¶¸³ÀûÀÎ ÆÄÀÏ).
ÀÚ¼¼ÇÑ °ÍÀº hier(7)
À» º¸¼¼¿ä, /usr
¿¡ Àû¿ëµÇ´Â
¹ýÄ¢Àº ´ëºÎºÐ /usr/local
¿¡ Àû¿ëµË´Ï´Ù.
¿¹¿Ü´Â USENET `news'¸¦ ´Ù·ç´Â Æ÷Æ®ÀÔ´Ï´Ù. ÀÌµé °ü·Ã ÆÄÀÏÀÇ
¼³Ä¡´Â ${PREFIX}/news
À» »ç¿ëÇÕ´Ï´Ù.
»èÁ¦ÇÒ ¶§ Æ÷Æ®°¡ ½º½º·Î¸¦ ±ú²ýÀÌ Çϵµ·Ï Çϼ¼¿ä.
ÀÌ´Â Æ÷Æ®°¡ Ưº°È÷ ¸¸µé¾î³½ ¸ðµç µð·ºÅ丮¿¡ ´ëÇØ
@dirrm
ÇàÀ» Ãß°¡ÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù.
ºÎ¸ð µð·ºÅ丮¸¦ Áö¿ì±â À§Çؼ´Â ºÎµð·ºÅ丮¸¦ ¸ÕÀú Áö¿ö¾ß ÇÑ´Ù´Â
»ç½ÇÀ» ÁÖÀÇÇϼ¼¿ä. ´ÙÀ½°ú °°½À´Ï´Ù:
:
lib/X11/oneko/pixmaps/cat.xpm
lib/X11/oneko/sounds/cat.au
:
@dirrm lib/X11/oneko/pixmaps
@dirrm lib/X11/oneko/sounds
@dirrm lib/X11/oneko
±×·¯³ª, Á¾Á¾ @dirrm
Àº ´Ù¸¥ Æ÷Æ®°¡ °°Àº ºÎµð·ºÅ丮¸¦
°øÀ¯ÇÏ´Â °ü°è·Î ¿À·ù°¡ ³¯ ¼ö ÀÖ½À´Ï´Ù. °æ°í ¾øÀÌ
ºó µð·ºÅ丮¸¸À» Áö¿ì±â À§Çؼ @unexec
¿¡¼ rmdir
À»
ºÎ¸¦ ¼ö ÀÖ½À´Ï´Ù:
:
@unexec rmdir %D/share/doc/gimp 2>/dev/null || true
ÀÌ´Â ¿À·ù ¸Þ½ÃÁö¸¦ Áö¿ìÁöµµ ¾Ê°í ´Ù¸¥ Æ÷Æ®°¡
${PREFIX}/share/doc/gimp
¿¡ ¾î¶² ÆÄÀÏÀ» ¼³Ä¡Çؼ
ºñ¾î ÀÖÁö ¾Ê¾Æµµ pkg_delete
°¡ ºñÁ¤»óÀûÀ¸·Î Á¾·áÇÏÁö
¾Êµµ·Ï ÇÕ´Ï´Ù.
Æ÷Æ®°¡ ¼³Ä¡ ½Ã½ºÅÛ¿¡ ƯÁ¤ »ç¿ëÀÚ¸¦ ÇÊ¿ä·Î ÇÑ´Ù¸é,
pkg/INSTALL
½ºÅ©¸³Æ®°¡ pw
¸¦ ºÒ·¯ ÀÚµ¿ÀûÀ¸·Î
»ý¼ºÇϵµ·Ï Çϼ¼¿ä. net/cvsup-mirror
ÀÇ ¿¹¸¦ º¸¼¼¿ä.
¿©·¯ºÐÀÇ Æ÷Æ®´Â ¹ÙÀ̳ʸ® ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÒ ¶§ ÄÄÆÄÀϵɶ§¿Í °°Àº
»ç¿ëÀÚ/±×·ì ID ¹øÈ£¸¦ »ç¿ëÇÑ´Ù¸é, 50¿¡¼ 99»çÀÌÀÇ ºó UID¸¦
¼±ÅÃÇÏ°í ¾Æ·¡¿¡ µî·ÏÇϼ¼¿ä. japanese/Wnn
ÀÇ ¿¹¸¦ º¸¼¼¿ä.
½Ã½ºÅÛÀ̳ª ´Ù¸¥ Æ÷Æ®¿¡¼ ÀÌ¹Ì ±× UID¸¦ »ç¿ëÇÏÁö ¾Ê´ÂÁö È®ÀÎÇϼ¼¿ä. ´ÙÀ½Àº 50¿¡¼ 99 »çÀÌÀÇ ÇöÀç UID ¸ñ·ÏÀÔ´Ï´Ù.
majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent
gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67:X-10 daemon:/usr/local/xten:/nonexistent
pop:*:68:6:Post Office Owner (popper):/nonexistent:/nonexistent
wnn:*:69:7:Wnn:/nonexistent:/nonexistent
ifmail:*:70:66:Ifmail user:/nonexistent:/nonexistent
pgsql:*:70:70:PostgreSQL pseudo-user:/usr/local/pgsql:/bin/sh
ircd:*:72:72:IRCd hybrid:/nonexistent:/nonexistent
alias:*:81:81:QMail user:/var/qmail/alias:/nonexistent
qmaill:*:83:81:QMail user:/var/qmail:/nonexistent
qmaild:*:82:81:QMail user:/var/qmail:/nonexistent
qmailq:*:85:82:QMail user:/var/qmail:/nonexistent
qmails:*:87:82:QMail user:/var/qmail:/nonexistent
qmailp:*:84:81:QMail user:/var/qmail:/nonexistent
qmailr:*:86:82:QMail user:/var/qmail:/nonexistent
msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh
ÀÌ ¹üÀ§¿¡¼ »õ UID³ª GID¸¦ ¿¹¾àÇÏ´Â Æ÷Æ®(¶Ç´Â ¾÷±×·¹À̵å)¸¦ º¸³¾ ¶§¿¡´Â ¿ì¸®¿¡°Ô ¾Ë·ÁÁÖ¼¼¿ä. ±×·¸°Ô ÇØ¾ß ¿¹¾àµÈ IDÀÇ ¸ñ·ÏÀ» ÃÖ½ÅÀÇ °ÍÀ¸·Î À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.
MakefileÀº °£´ÜÇÏ°í ÇÕ¸®ÀûÀ¸·Î ÀÛ¾÷ÇØ¾ß ÇÕ´Ï´Ù.
ÁÙ¼ö¸¦ ÁÙÀϼö Àְųª ´õ Àб⠽±°Ô ÇÒ ¼ö ÀÖ´Ù¸é, ±×·¸°Ô Çϼ¼¿ä.
±×·± ¿¹Á¦¿¡´Â ½© `if
' ±¸Á¶ ´ë½Å makeÀÇ `.if
'
±¸Á¶¸¦ »ç¿ëÇѴٰųª, ${EXTRACT*}
¸¦ ´Ù½Ã Á¤ÀÇÇÒ
¼ö ÀÖ´Ù¸é do-extract
¸¦ ÀçÁ¤ÀÇÇÏÁö ¾Ê´Â´Ù´ø°¡,
`CONFIGURE_ARGS += --prefix=${PREFIX}
'´ë½Å
$GNU_CONFIGURE
¸¦ »ç¿ëÇÏ´Â µîÀÇ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
Æ÷Æ®´Â ¹Ýµå½Ã ÁöÁ¤µÈ ${CFLAGS}
º¯¼ö¸¦ Á¸ÁßÇؾß
ÇÕ´Ï´Ù(¿ªÁÖ: CFLAGS¸¦ º°µµ·Î ÁöÁ¤ÇÏÁö ¸¶¼¼¿ä).
±×·¸Áö ¾Ê´Ù¸é, `NO_PACKAGE=ignores cflags
'¸¦
Makefile¿¡ Ãß°¡Çϼ¼¿ä.
${PREFIX}/etc
¿¡ ¼³Á¤ ÆÄÀÏÀ» µÎ¾î¾ß ÇÑ´Ù¸é,
pkg/PLIST
¿¡ ÀûÁö ¸»°í ¼³Ä¡ÇÏÁö ¸¶¼¼¿ä.
±×·¸Áö ¾ÊÀ¸¸é »ç¿ëÀÚ°¡ ÁÖÀDZí°Ô ÆíÁýÇÑ ÆÄÀÏÀ» pkg_delete
°¡ Áö¿ì°í »õ ¼³Ä¡ ÆÄÀÏ·Î µ¤¾î¾²°Ô µÉ °ÍÀÔ´Ï´Ù.
´ë½Å, ¿¹Á¦ ÆÄÀÏÀ» Á¢µÎ»ç¸¦ ºÙ¿© ¼³Ä¡ÇÏ°í
(`<ÆÄÀϸí>.sample
'ÀÌ¸é µË´Ï´Ù)
»ç¿ëÀÚ°¡ ¼ÒÇÁÆ®¿þ¾î¸¦ µ¿ÀÛ½ÃÅ°±â Àü¿¡ ÆÄÀÏÀ» º¹»çÇÏ°í ÆíÁýÇؾß
ÇÑ´Ù´Â Á¡À» ¾Ë·ÁÁÖ´Â
¸Þ½ÃÁö¸¦ Ç¥½ÃÇØ¾ß ÇÕ´Ï´Ù.
Æ÷Æ®¸¦ ³»°Å³ª ¼Ò½º¿¡ ¹Ý¿µÇÒ ¶§ portlint·Î Æ÷Æ®¸¦ °Ë»çÇϼ¼¿ä.
ÄÚµåÀÇ ´ÙÀ½ ¸±¸®Áî¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖµµ·Ï ¿øÀúÀÚ/°ü¸®ÀÚ¿¡°Ô Àû¿ëÇÒ ¼ö ÀÖ´Â º¯°æ »çÇ×/ÆÐÄ¡¸¦ º¸³»¼¼¿ä. ÀÌ´Â ´ÙÀ½ ¸±¸®Áî¿¡¼ ¿©·¯ºÐÀÇ ÀÛ¾÷À» ´õ ÆíÇÏ°Ô ÇØ ÁÙ »ÓÀÔ´Ï´Ù.
pkg/DESCR
, pkg/COMMENT
, pkg/PLIST
´Â °¢°¢ µÎ¹ø ÀÌ»ó °Ë»çÇØ¾ß ÇÕ´Ï´Ù.
Æ÷Æ®¸¦ ´Ù½Ã º¼ ¶§ ´õ ÁÁÀº »ý°¢ÀÌ ¶°¿À¸¥´Ù¸é, ±×·¸°Ô Çϼ¼¿ä.
¿ì¸® ½Ã½ºÅÛ¿¡ GNU General Public LicenseÀÇ º¹¼öÀÇ º¹»çº»À»
µÎÁö ¸¶¼¼¿ä(¿ªÁÖ: COPYRIGHTÆÄÀÏÀ» ¼³Ä¡Çϰųª pkg/DESCR
¿¡
GNU GPLÀ» ¾²Áö ¸¶¼¼¿ä).
¹ýÀû ¹®Á¦¸¦ À̾߱âÇÒ¶§¿¡´Â ÁÖÀǸ¦ ±â¿ïÀ̼¼¿ä! ¿ì¸®°¡ ºÒ¹ýÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ ¹èÆ÷ÇÏÁö ¸øÇϵµ·Ï Çϼ¼¿ä!
¿ì¸®¿¡°Ô ¹°¾îº¸±â Àü¿¡ ±âÁ¸ÀÇ ¿¹Á¦¿Í
bsd.port.mk
ÆÄÀÏÀ» »ìÆ캸¼¼¿ä!
;)
¹®Á¦°¡ ÀÖÀ¸¸é ¿ì¸®¿¡°Ô ¹°¾îº¸¼¼¿ä! ±×³É ¸Ç¶¥¿¡ ÇصùÇÏÁö
¸¶½Ã°í¿ä! :)