¿¹, Æ÷ÆÃÀº ±×·¸°Ô °£´ÜÇÏÁö ¾È°í, µ¿ÀÛÇϱâ À§Çؼ´Â ¸î°¡Áö º¯°æÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ¼½¼Ç¿¡¼´Â ´Ü°èº°·Î Æ÷Æ® Æз¯´ÙÀÓ¿¡ ¸Â°Ô ÀÛ¾÷Çϱâ À§ÇØ ¾î¶»°Ô °íÃÄ¾ß ÇÏ´ÂÁö¸¦ ¼³¸íÇÕ´Ï´Ù.
¸ÕÀú ¼³¸íÇÒ °ÍÀº ¿©·¯ºÐÀÇ Æ÷Æ® µð·ºÅ丮¿¡¼ »ç¿ëÀÚ°¡ óÀ½¿¡
`make
'¸¦ ÀÔ·ÂÇÒ ¶§ ³ªÅ¸³ª´Â ÀÏ·ÃÀÇ »ç°ÇÀÔ´Ï´Ù. ÀÌ ±ÛÀ» ÀдÂ
µ¿¾È ´Ù¸¥ â¿¡¼ bsd.port.mk
¸¦ º¸°í ÀÖÀ¸¸é ÀÌÇØÇϴµ¥ ¸¹Àº
µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸ bsd.port.mk
ÀÌ ¾î¶»°Ô µ¹¾Æ°¡´ÂÁö¸¦ ½ÇÁ¦·Î ÀÌÇØÇÏÁö
¸øÇß´Ù°í °ÆÁ¤ÇÏÁö ¸»±â¸¦ ¹Ù¶ø´Ï´Ù. ¾Æ´Â »ç¶÷Àº ¸¹Áö
¾ÊÀ¸´Ï±î¿ä.. :>
${DISTDIR}
¿¡ Áö¿ªÀûÀ¸·Î Á¸ÀçÇÏ´ÂÁö¸¦ È®ÀÎÇÏ´Â ÀÏÀ»
ÇÕ´Ï´Ù. fetch°¡ ${DISTDIR}
¿¡¼ ÇÊ¿äÇÑ ÆÄÀÏÀ» ãÀ» ¼ö
¾øÀ¸¸é Makefile¿¡ ÁöÁ¤µÈ URL ${MASTER_SITES}
°ú
¹é¾÷À¸·Î Çã°¡¹ÞÀº ¹é¾÷À» ³õ´Â Àå¼ÒÀÎ ¿ì¸®ÀÇ
ÁÖ FTP»çÀÌÆ®ÀÎ ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/ ¸¦
ã½À´Ï´Ù. ±×¸®°í ³ª¼ ÆÄÀÏÀ» ¿äûÇÏ°í ÀÖ´Â »çÀÌÆ®°¡ ÀÎÅͳݿ¡ Á÷Á¢
Á¢¼ÓµÇ¾î ÀÖ´Ù´Â °¡Á¤ ÇÏ¿¡ ${FETCH}
À» »ç¿ëÇÏ¿© ÇØ´ç
À̸§ÀÇ ¹èÆ÷º» ÆÄÀÏÀ» ¹ÞÀ¸·Á ÇÕ´Ï´Ù. ÀÌ ÀÛ¾÷ÀÌ ¼º°øÇϸé,
${DISTDIR}
¿¡ ³ªÁß¿¡ ¾µ ¶§¸¦ ´ëºñÇÏ¿© ÆÄÀÏÀ» ÀúÀåÇÏ°í
´ÙÀ½ ¼ø¼·Î °©´Ï´Ù.
${DISTDIR}
¿¡¼ Æ÷Æ®ÀÇ
¹èÆ÷ ÆÄÀÏÀ» ã°í(º¸Åë gzipÀ¸·Î ¾ÐÃàµÈ tarball),
${WRKDIR}
¿¡ ÁöÁ¤µÈ Àӽà ºÎµð·ºÅ丮¿¡
Ç®¾î³Ö½À´Ï´Ù(±âº»°ªÀº work
).
${PATCHFILES}
¿¡ Á¤ÀǵÈ
ÆÐÄ¡¸¦ Àû¿ëÇÕ´Ï´Ù. µÎ¹ø°·Î ${PATCHDIR}
(±âº»°ªÀº
patches
ºÎµð·ºÅ丮)¿¡¼ ÆÐÄ¡¸¦ ãÀ» ¼ö ÀÖ´Ù¸é Áö±Ý ¾ËÆĺª
¼ø¼¿¡ ÀÇÇØ Àû¿ëÇÕ´Ï´Ù.
scripts/configure
°¡ Á¸ÀçÇÑ´Ù¸é ½ÇÇàÇÕ´Ï´Ù.
${HAS_CONFIGURE}
¶Ç´Â
${GNU_CONFIGURE}
°¡ ÁöÁ¤µÇ¾î ÀÖ´Ù¸é,
${WRKSRC}/configure
¸¦ ½ÇÇàÇÕ´Ï´Ù.
${USE_IMAKE}
°¡ ÁöÁ¤µÇ¸é,
${XMKMF}
(±âº»°ª: `xmkmf
-a
') À» ½ÇÇàÇÕ´Ï´Ù.
${WRKSRC}
)·Î µð·ºÅ丮¸¦ ¿Å±â°í ÇÁ·Î±×·¥À»
ÄÄÆÄÀÏÇÕ´Ï´Ù. ${USE_GMAKE}
°¡ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é, GNU
make
°¡ »ç¿ëµÇ¸ç, ´Ù¸¥ °æ¿ì¿¡´Â ½Ã½ºÅÛÀÇ make
°¡
»ç¿ëµË´Ï´Ù.
À§ÀÇ ³»¿ëÀº ±âº» µ¿ÀÛÀÔ´Ï´Ù. Ãß°¡·Î, `pre-<¾î¼±¸>
' ³ª
`post-<¾î¼±¸>
' Ÿ°ÙÀ» Á¤ÀÇÇÒ ¼ö ÀÖ°í, scripts
ºÎµð·ºÅ丮¿¡ ÀÌ·± À̸§ÀÇ ½ºÅ©¸³Æ®¸¦ ¸¸µé ¼ö ÀÖÀ¸¸ç, ±âº» µ¿ÀÛÀÌ
¼öÇàµÇ±â ÀÌÀüÀ̳ª ÀÌÈÄ¿¡ ¼öÇàµÉ °ÍÀÔ´Ï´Ù.
¿¹¸¦ µé¾î, Makefile¿¡ post-extract
Ÿ°ÙÀÌ Á¤ÀǵǾî ÀÖÀ¸¸ç
scripts
ºÎµð·ºÅ丮¿¡ pre-build
ÆÄÀÏÀÌ ÀÖÀ¸¸é,
post-extract
Ÿ°ÙÀº º¸ÅëÀÇ Ç®¾î³Ö±â µ¿ÀÛ ÈÄ¿¡ ¼öÇàµÉ °ÍÀ̸ç,
pre-build
½ºÅ©¸³Æ®´Â ±âº» ÄÄÆÄÀÏ ±ÔÄ¢ÀÌ ¼öÇàµÇ±â Àü¿¡
¼öÇàµË´Ï´Ù. µ¿ÀÛÀÌ °£´ÜÇÏ´Ù¸é Makefile Ÿ°ÙÀ» ¾µ °ÍÀ» ±ÇÀåÇϴµ¥,
Æ÷Æ®°¡ ÇÊ¿ä·Î ÇÏ´Â ±âº»ÀÌ ¾Æ´Ñ µ¿ÀÛÀÇ Á¾·ù¸¦ ½±°Ô ¾Ë¾Æ³¾ ¼ö ÀÖµµ·Ï
Çϱâ À§ÇؼÀÔ´Ï´Ù.
±âº» µ¿ÀÛÀº bsd.port.mk
¿¡ ÀÇÇؼ
`do-<¾î¼±¸>
'Ÿ°ÙÀ» ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é,
Æ÷Æ®¸¦ Ç®¾î³Ö´Â ¸í·ÉÀº `do-extract
' Ÿ°Ù¿¡ ÀÖ½À´Ï´Ù. ±âº»
Ÿ°ÙÀÌ ¸¶À½¿¡ µéÁö ¾ÊÀ¸¸é Makefile¿¡¼ `do-<¾î¼±¸>
' ¸¦
ÀçÁ¤ÀÇÇÏ¿© °íÄ¥ ¼ö ÀÖ½À´Ï´Ù.
`ÁÖ' Ÿ°Ù(e.g., extract
, configure
µîµî)Àº
ÀÌÀü±îÁöÀÇ ¸ðµç °úÁ¤ÀÌ ¿Ï·áµÇ¾ú´ÂÁö¸¦ °Ë»çÇÏ°í ½ÇÁ¦ Ÿ°ÙÀ̳ª
½ºÅ©¸³Æ®¸¦ ºÎ¸£´Â °Í¸¸ Çϸç, ¹Ù²î¾î¼´Â ¾ÈµÈ´Ù´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä.
Ç®¾î³Ö±â °úÁ¤À» °íÄ¡°í ½ÍÀ¸¸é do-extract
¸¦ °íÄ¡°í,
extract
¿¡´Â ¼Õ´ëÁö ¸¶¼¼¿ä!
ÀÌÁ¦ »ç¿ëÀÚ°¡ `make
' ¸¦ ÀÔ·ÂÇÏ¸é ¾î¶»°Ô µÇ´ÂÁö
ÀÌÇØÇÏ¿´À¸¹Ç·Î, ¿Ïº®ÇÑ Æ÷Æ®¸¦ ¸¸µé±â À§ÇÑ ±ÇÀå ´Ü°è¸¦ ¾Ë¾Æº¾½Ã´Ù.
(º¸Åë)¿øº» ¼Ò½º´Â ¾ÐÃàµÈ tarball
(<foo>.tar.gz
¶Ç´Â <foo>.tar.Z
)·Î ¹Þ¾Æ¼
${DISTDIR}
¿¡ º¹»çÇØ ³Ö½À´Ï´Ù. °¡´ÉÇÏ´Ù¸é ¾ðÁ¦³ª
¿øº» ¼Ò½º¸¦ »ç¿ëÇսôÙ.
³×Æ®¿öÅ©¿¡ Àß ¿¬°áµÈ ftp/http »çÀÌÆ®¸¦ ãÀ» ¼ö ¾ø°Å³ª ±ÍÂúÀº ºñÇ¥ÁØ
Æ÷¸ËÀ¸·Î ¾ÐÃàµÇ¾î ÀÖ´Â »çÀÌÆ®¸¸À» ã¾Ò´Ù¸é ¿©·¯ºÐÀÌ Á¦¾îÇÒ ¼ö ÀÖ´Â
¹ÏÀ» ¼ö ÀÖ´Â http³ª ftp¼¹ö¿¡ º¹»çº»À» ³õ°í ½ÍÀ» °ÍÀÔ´Ï´Ù.
(¿¹: ¿©·¯ºÐÀÇ È¨ÆäÀÌÁö) ÀÌ¿Í °°Àº ¼±ÅÃÀ» ¹Ý¿µÇϱâ À§ÇØ
MASTER_SITES
¸¦ ÁöÁ¤ÇÏ¿´´ÂÁö È®ÀÎÇϼ¼¿ä.
¹èÆ÷ ÆÄÀÏÀ» ³õÀ»¸¸ÇÑ Æí¸®ÇÏ°í ¹ÏÀ» ¸¸ÇÑ °÷À» ãÁö ¸øÇß´Ù¸é
(¿©·¯ºÐÀÌ FreeBSD Ä¿¹ÌÅͶó¸é, freefallÀÇ public_html
µð·ºÅ丮¿¡ ³õÀ¸¸é µË´Ï´Ù) ´ÙÀ½ Àå¼Ò¿¡ ³õ¾Æ¼ ¿ì¸®°¡ ½º½º·Î
`°ü¸®'ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/
ÀÌ À§Ä¡´Â ${MASTER_SITE_LOCAL}
·Î ÁöÁ¤µË´Ï´Ù. ¾î¶»°Ô
ÇØ¾ß ÇÒ Áö ¸ð¸£°Ú´Ù¸é FreeBSD Æ÷Æ® ¸ÞÀϸµ ¸®½ºÆ®
<freebsd-ports@FreeBSD.ORG>
·Î ÀüÀÚ¿ìÆíÀ» º¸³»¼¼¿ä.
Æ÷Æ®ÀÇ ¿øº» ¼Ò½º°¡ º°·Î ÁÁÁö ¾Ê´Â ÀÌÀ¯·Î ÀÎÇØ Ç×»ó ¹Ù²î°í ÀÖ´Ù¸é
¹èÆ÷ ÆÄÀÏÀ» ¿©·¯ºÐÀÇ È¨ÆäÀÌÁö¿¡ ³õ°í À̸¦ ù¹ø°ÀÇ MASTER_SITES
¿¡
±â·ÏÇϼ¼¿ä. ÀÌ´Â »ç¿ëÀÚµéÀÌ `üũ¼¶ ¸ÂÁö ¾ÊÀ½' ¿À·ù¸¦ ³»Áö ¾Êµµ·Ï
ÇÏ°í, ¿ì¸® ftp »çÀÌÆ® °ü¸®ÀÚÀÇ ÀÛ¾÷·®À» ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ, Æ÷Æ®¿¡ ´ëÇØ ¸¶½ºÅÍ »çÀÌÆ®°¡ Çϳª¶ó¸é, ¿©·¯ºÐÀÇ »çÀÌÆ®¿¡ ¹é¾÷À»
¸¸µé°í µÎ¹ø°ÀÇ MASTER_SITES
·Î ±â·ÏÇϼ¼¿ä.
¿©·¯ºÐÀÇ Æ÷Æ®°¡ ÀÎÅͳݿ¡¼ ãÀ» ¼ö ÀÖ´Â ¸î°¡Áö Ãß°¡ `ÆÐÄ¡'¸¦ ÇÊ¿ä·Î
ÇÑ´Ù¸é, ±×°Íµµ °°ÀÌ ¹Þ¾Æ¼ ${DISTDIR}
¿¡ ³ÖÀ¸¼¼¿ä. ÁÖ
¼Ò½º tarballÀ» ¹Þ´Â °÷ÀÌ ¾Æ´Ï¶óµµ ÁÁ½À´Ï´Ù. ¿ì¸®´Â ÀÌ·± °æ¿ì¸¦ ´Ù·ê ¼ö
ÀÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù(¾Æ·¡ÀÇ
${PATCHFILES} ÀÇ ¼³¸íÀ» º¸¼¼¿ä).
tarballÀÇ º¹»çº»À» °³ÀÎ µð·ºÅ丮¿¡ Ç®¾î³Ö°í FreeBSDÀÇ ÇöÀç ¹öÀü¿¡¼ ÀûÀýÇÏ°Ô ÄÄÆÄÀÏÇÒ ¼ö ÀÖµµ·Ï ÇÊ¿äÇÑ º¯°æÀ» ÇÕ´Ï´Ù. ½±°Ô ÀÚµ¿ÈÇÒ ¼ö ÀÖµµ·Ï ¿©·¯ºÐÀÌ ÇÏ´Â ÀÏÀ» Àß µû¶ó°¡µµ·Ï Çϼ¼¿ä. ¸ðµç °Í - ÆÄÀÏÀÇ »èÁ¦, Ãß°¡, º¯°æ - Àº Æ÷Æ®¸¦ ´Ù ¸¸µé¾úÀ» ¶§ ÀÚµ¿ÈµÈ ½ºÅ©¸³Æ®³ª ÆÐÄ¡ ÆÄÀÏ·Î ´Ù½Ã ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.
Æ÷Æ®°¡ ÄÄÆÄÀÏÀ̳ª ¼³Ä¡Çϱâ À§ÇØ Áß¿äÇÑ »ç¿ëÀÚ ÀÔ·Â/¸ÂÃã ÀÛ¾÷À» ÇÊ¿ä·Î ÇÒ ¶§¿¡´Â Larry WallÀÇ °íÀüÀûÀÎ Configure ½ºÅ©¸³Æ®Áß Çϳª¸¦ »ìÆ캸°Å³ª ½º½º·Î ºñ½ÁÇÑ ÀÏÀ» ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. »õ Æ÷Æ® ÄÝ·º¼ÇÀÇ ¸ñÀûÀº ÃÖ¼ÒÇÑÀÇ µð½ºÅ© °ø°£À» »ç¿ëÇÏ¿© ÃÖÁ¾ »ç¿ëÀÚ¿¡°Ô °¡´ÉÇÑ ÇÑ `Ç÷¯±×-¾Ø-Ç÷¹ÀÌ'Çϵµ·Ï Æ÷Æ®¸¦ ¸¸µå´Â °ÍÀÔ´Ï´Ù.
Âü°í: ¸í½ÃÀûÀ¸·Î ¾ð±ÞµÇÁö ¾Ê¾Ò´Ù¸é, ¿©·¯ºÐÀÌ ¸¸µé¾î¼ FreeBSD Æ÷Æ® ÄÝ·º¼Ç¿¡ ±âÁõÇÑ ÆÐÄ¡ ÆÄÀÏ, ½ºÅ©¸³Æ®, ´Ù¸¥ ÆÄÀÏÀº Ç¥ÁØ BSD ÀúÀ۱ǿ¡ µû¸¨´Ï´Ù.
Æ÷Æ®¸¦ ÁغñÇϸé¼, Ãß°¡µÇ°Å³ª º¯°æµÈ ÆÄÀÏÀº ³ªÁß¿¡ ÆÐÄ¡Çϵµ·Ï Àç±ÍÀû
diff·Î ¸¸µé ¼ö ÀÖ½À´Ï´Ù. Àû¿ëÇÒ ÆÐÄ¡ÀÇ ÁýÇÕÀº
`patch-<xx>
' ¶ó´Â À̸§ÀÇ ÆÄÀÏ¿¡ ¸ð¾Æ¾ß
ÇÕ´Ï´Ù. <xx>
´Â ÆÐÄ¡°¡ Àû¿ëµÉ ¼ø¼¸¦ ³ªÅ¸³À´Ï´Ù --
ÆÐÄ¡´Â ¾ËÆĺª ¼ø¼·Î Àû¿ëµÇ¹Ç·Î, `aa
'°¡ °¡Àå
¸ÕÀúÀÌ°í, ±× ´ÙÀ½Àº `ab
'ÀÇ ¼ø¼ÀÔ´Ï´Ù. ÀÌ ÆÄÀϵéÀº
${PATCHDIR}
¿¡ ÀúÀåµÇ¾î¾ß Çϸç, ¿©±â ÀÖ´Â °ÍµéÀº
ÀÚµ¿ÀûÀ¸·Î Àû¿ëµË´Ï´Ù. ¸ðµç ÆÐÄ¡´Â ${WRKSRC}
¿¡
»ó´ëÀûÀÌ¾ß ÇÕ´Ï´Ù(ÀϹÝÀûÀ¸·Î Æ÷Æ®ÀÇ tarballÀ» Ç®¾î³Ö´Â °÷À̸ç,
ÄÄÆÄÀÏÀ» ÇÏ´Â °÷ÀÔ´Ï´Ù). ¼öÁ¤°ú ¾÷±×·¹À̵带 Æí¸®ÇÏ°Ô Çϵµ·Ï, °°Àº
ÆÄÀÏÀ» °íÄ¡´Â ÆÐÄ¡°¡ µÎ°³ ÀÌ»ó À־ ¾ÈµË´Ï´Ù(¿¹. patch-aa¿Í
patch-ab°¡ ¸ðµÎ ${WRKSRC}
/foobar.c¸¦ ¹Ù²Ù´Â °æ¿ì).
Ãß°¡ÀûÀÎ ¸ÂÃã ÀÛ¾÷¿ë ¸í·ÉµéÀ» configure
½ºÅ©¸³Æ®¿¡ Æ÷ÇÔÇÏ°í
`scripts
' ºÎµð·ºÅ丮¿¡ ÀúÀåÇÕ´Ï´Ù. ¾Õ¿¡¼µµ ¸»ÇßµíÀÌ, ÀÌ
ÀÛ¾÷Àº Makefile Ÿ°ÙÀ¸·Îµµ ÇÒ ¼ö ÀÖ°í pre-configure
³ª
post-configure
¶ó´Â À̸§ÀÇ ½ºÅ©¸³Æ®·Îµµ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿©·¯ºÐÀÇ Æ÷Æ®°¡ ÄÄÆÄÀÏÀ̳ª ¼³Á¤ ¶Ç´Â ¼³Ä¡Çϱâ À§ÇØ »ç¿ëÀÚ ÀÔ·ÂÀ»
ÇÊ¿ä·Î Çϸé, Makefile¿¡¼ IS_INTERACTIVE
¸¦ ¼³Á¤Çϼ¼¿ä. ÀÌ´Â
»ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ È¯°æ¿¡¼ BATCH
º¯¼ö¸¦ ÁöÁ¤ÇÑ °æ¿ì ¿©·¯ºÐÀÇ
Æ÷Æ®¸¦ ³Ñ¾î°¡¹Ç·Î `¹ã»õ Æ÷Æ® ÄÄÆÄÀÏÇϱâ'¸¦ °¡´ÉÇϵµ·Ï ÇÕ´Ï´Ù(±×¸®°í
»ç¿ëÀÚ°¡ INTERACTIVE
º¯¼ö¸¦ ÁöÁ¤ÇÏ¸é »ç¿ëÀÚ ÀÔ·ÂÀ» ÇÊ¿ä·ÎÇÏ´Â
Æ÷Æ®¸¸ ¸¸µé¾îÁý´Ï´Ù).
Áú¹®¿¡ ´ëÇÑ ÇÕ¸®ÀûÀÎ ±âº» ´ë´äÀ» ÇÒ ¼ö ÀÖÀ¸¸é, PACKAGE_BUILDING
º¯¼ö¸¦ ÁöÁ¤ÇÏ°í ´ëÈ½Ä ½ºÅ©¸³Æ®°¡ ÁöÁ¤µÇ¾î ÀÖ´Ù¸é ²ô¼¼¿ä. ÀÌ´Â
CD-ROMÀ̳ª ftp¿ëÀÇ ÆÐÅ°Áö¸¦ ¸¸µé ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.