6. ¹èÆ÷º» Á¦ÀÛ ¹æ¹ý

ÀÌ ÁöħÀº »ç¿ëÀÚ°¡ ¹èÆ÷º»À» ´Ù¿î·Îµå ¹Þ°í, °Ë»öÇÏ°í, ¾ÐÃàÀ» Ç®¶§ ¹èÆ÷º»ÀÌ ¾î¶»°Ô º¸¿©Á®¾ß ÇÏ´ÂÁö¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.

6.1. tar ÆÄÀÏÀº Ç×»ó ÇϳªÀÇ »õ·Î¿î µð·ºÅ丮¿¡ Ç®¾îÁöµµ·Ï Çضó

Ãʺ¸ °³¹ßÀÚ°¡ ¹üÇÏ´Â °¡Àå ¼º°¡½Å ½Ç¼ö ÁßÀÇ Çϳª°¡ tar ÆÄÀÏÀ» ¹èÆ÷º»ÀÌ ÀÖ´Â ÇöÀçÀÇ µð·ºÅ丮¿¡ ¾ÐÃàÀÌ Ç®¸®µµ·Ï ¸¸µå´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ÇöÀç µð·ºÅ丮¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â ÆÄÀÏÀ» µ¤¾î¾µ À§ÇèÀÌ ÀÖ´Ù. ÀÌ·± ½Ç¼ö¸¦ Àý´ë·Î ÇÏÁö ¸¶¶ó!

±× ´ë½Å, ÇÁ·ÎÁ§Æ®ÀÇ À̸§À» µû¼­ ¸¸µç ÇϳªÀÇ °øÅë µð·ºÅ丮¸¦ Æ÷ÇÔÇÏ´Â ¾ÐÃà ÆÄÀÏÀ» ¸¸µé¾î¼­, ÀÌ ÆÄÀϵéÀÌ ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡ À§Ä¡ÇÑ »õ·Î¿î µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ç® ¼ö ÀÖµµ·Ï Çضó.

¿©±â makefile Æ®¸¯(trick)ÀÌ ÀÖ´Ù. `foobar'¶ó´Â ¹èÆ÷º»ÀÇ µð·ºÅ丮¸¦ °¡Áö°í ÀÖÀ¸¸ç SRC°¡ ¹èÆ÷º»ÀÇ ÆÄÀÏ ¸®½ºÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù°í °¡Á¤ÇÏ¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.

foobar-$(VERS).tar.gz:
	@ls $(SRC) | sed s:^:foobar-$(VERS)/: >MANIFEST
	@(cd ..; ln -s foobar foobar-$(VERS))
	(cd ..; tar -czvf foobar/foobar-$(VERS).tar.gz `cat foobar/MANIFEST`)
	@(cd ..; rm foobar-$(VERS))

6.2. README¸¦ Æ÷ÇÔ½ÃÄѶó

README ¶Ç´Â READ.ME ÆÄÀÏÀ» Æ÷ÇÔ½ÃÅ°¸é ±×°ÍÀº ¹èÆ÷º»ÀÇ Áöħ¼­°¡ µÉ °ÍÀÌ´Ù. ¿À·¡µÈ °üÇà¿¡ µû¶ó, ¼Ò½ºÀÇ ¾ÐÃàÀ» Ǭ »ç¿ëÀÚ´Â ÀÌ ÆÄÀÏÀ» °¡Àå ¸ÕÀú ÀÐ°Ô µÈ´Ù.

README ÆÄÀÏ¿¡ Æ÷ÇԵǾî¾ß ÇÒ ³»¿ëµéÀº ´ÙÀ½°ú °°´Ù.

  1. ÇÁ·ÎÁ§Æ®ÀÇ °£´ÜÇÑ ¼³¸í

  2. ÇÁ·ÎÁ§Æ® À¥»çÀÌÆ®ÀÇ ÁÖ¼Ò(¸¸¾à ÀÖÀ» °æ¿ì)

  3. °³¹ßÀÚÀÇ Á¦ÀÛ È¯°æ°ú ¼³Ä¡»óÀÇ ÀáÀçÀûÀÎ ¹®Á¦Á¡

  4. Áß¿ä ÆÄÀÏ°ú ÇÏÀ§ µð·ºÅ丮 ±¸¼º¿¡ ´ëÇÑ ¼³¸í(·Îµå¸Ê)

  5. Á¦ÀÛ/¼³Ä¡¿¡ °üÇÑ ¼³¸íÀ̳ª ±×°ÍÀ» Æ÷ÇÔÇÑ ÆÄÀÏÀÇ À̸§(ÀϹÝÀûÀ¸·ÎINSTALL).

  6. ÇÁ·ÎÁ§Æ® ÁøÇàÀÚ/Âü¿©ÀÚÀÇ ¸í´ÜÀ̳ª ±×°ÍÀ» Æ÷ÇÔÇÑ ÆÄÀÏÀÇ À̸§(ÀϹÝÀûÀ¸·ÎCREDITS).

  7. ÇÁ·ÎÁ§Æ®ÀÇ ÃÖ±Ù ¼Ò½ÄÀ̳ª ±×°ÍÀ» Æ÷ÇÔÇÑ ÆÄÀÏÀÇ À̸§(ÀϹÝÀûÀ¸·ÎNEWS).

6.3. Ç¥ÁØ ¸í¸í(naming) ±ÔÄ¢À» Á¸ÁßÇÏ°í µû¸£¶ó

README ÆÄÀÏÀ» º¸±â Àü¿¡µµ ¿ë°¨ÇÑ Å½Çè°¡(»ç¿ëÀÚ)´Â ¹èÆ÷º»ÀÇ ÃÖ»óÀ§ µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» ÈȾ °ÍÀÌ´Ù. ÆÄÀÏÀÇ À̸§Àº ±× ÀÚü·Î Á¤º¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÀϹÝÀûÀÎ ¸í¸í ±ÔÄ¢À» µû¸§À¸·Î½á »ç¿ëÀÚ¿¡°Ô ´ÙÀ½¿¡ ¹«¾ùÀ» º¸¾Æ¾ß ÇÒÁö ½Ç¸¶¸®¸¦ Á¦°øÇØ ÁÙ ¼ö ÀÖ´Ù.

¿©±â ¸î °³ÀÇ ÀϹÝÀûÀÎ ÃÖ»óÀ§ ÆÄÀÏ À̸§°ú ±×µéÀÌ ÀǹÌÇÏ´Â °ÍÀÌ ÀÖ´Ù. ¸ðµç ¹èÆ÷º»ÀÌ ÀÌ ÆÄÀϵé ÀüºÎ¸¦ ÇÊ¿ä·Î ÇÏÁø ¾Ê´Â´Ù.

README ȤÀº READ.ME

°¡Àå ¸ÕÀú Àоî¾ßÇÒ ·Îµå¸Ê ÆÄÀÏ

INSTALL

¼³Á¤, Á¦ÀÛ, ¼³Ä¡ ¹æ¹ý

CREDITS

ÇÁ·ÎÁ§Æ® Âü¿©ÀÚ ¸í´Ü

NEWS

ÇÁ·ÎÁ§Æ®ÀÇ ÃÖ±Ù ¼Ò½Ä

HISTORY

ÇÁ·ÎÁ§Æ®ÀÇ ¿ª»ç

COPYING

ÇÁ·ÎÁ§Æ®ÀÇ ¶óÀ̼¾½º(GNU ±ÔÁ¤)

LICENSE

ÇÁ·ÎÁ§Æ®ÀÇ ¶óÀ̼¾½º

MANIFEST

¹èÆ÷º»ÀÇ ÆÄÀÏ ¸®½ºÆ®

FAQ

ÇÁ·ÎÁ§Æ®¿¡ °üÇÑ °£´ÜÇÑ FAQ ¹®¼­

TAGS

Emacs³ª vi¸¦ À§ÇØ »ý¼ºµÇ´Â tag ÆÄÀÏ

´ë¹®ÀÚ·Î µÈ ÆÄÀÏÀº Á¦ÀÛ(build)À» À§ÇÑ ÄÄÆ÷³ÍÆ®¶ó±â º¸´Ù´Â ÆÐÅ°Áö¿¡ °üÇÑ Á¤º¸(metainfomation) ¸¦ Æ÷ÇÔÇÏ´Â, »ç¿ëÀÚ°¡ ÀÐÀ» ¼ö ÀÖ´Â ÆÄÀÏÀÓÀ» ±â¾ïÇϱ⠹ٶõ´Ù.

FAQ¸¦ ¸¸µé¾î ³õÀ½À¸·Î½á »ó´çºÎºÐÀÇ °íÅëÀ» ´ú ¼ö ÀÖ´Ù. ÇÁ·ÎÁ§Æ®¿¡ °üÇØ ºó¹øÇÏ°Ô ¹°¾î¿À´Â »çÇ×µéÀº FAQ¿¡ Á¤¸®Çϵµ·Ï ÇÑ´Ù. ±×·¯¸é Áú¹®À̳ª ¹ö±×¸®Æ÷Æ®¸¦ º¸³»±â Àü¿¡ FAQ¸¦ Àо °ÍÀÌ´Ù. Àß Á¤¸®µÈ FAQ´Â »ç¿ëÀÚ Áö¿ø¿¡ ´ëÇÑ ÇÁ·ÎÁ§Æ® °ü¸®ÀÚÀÇ ºÎ´ãÀ» ¾öû³ª°Ô ÁÙ¿©ÁØ´Ù.

°¢°¢ÀÇ °ø°³ ¹èÆ÷º»¸¶´Ù ½Ã°£Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â HISTORY ¶Ç´Â NEWS ÆÄÀÏÀ» ¸¸µå´Â °ÍÀÌ ÁÁ´Ù. ´Ù¸¥ ¾î¶² Á¡º¸´Ùµµ, ¸¸¾à ƯÇã¿Í °ü·ÃÇؼ­ ¼Ò¼ÛÀÌ ¹ß»ýÇßÀ» ¶§ (¾ÆÁ÷±îÁö´Â ±×·± °æ¿ì°¡ ¾øÁö¸¸, ÀÖÀ» °æ¿ì¸¦ ´ëºñÇÏ´Â °ÍÀÌ ÁÁ´Ù.) ÀÌ°ÍÀº ´©°¡ ¸ÕÀú ½ÃÀÛÇß´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â ÁÖ¿ä ±â·ÏÀÌ µÈ´Ù.

6.4. ¾÷±×·¹À̵带 °í·ÁÇÑ ¼³°è¸¦ Çضó

»õ·Î¿î °ø°³ÆÇÀ» ¹ßÇ¥ÇÒ ¶§¸¶´Ù ¼ÒÇÁÆ®¿þ¾î´Â º¯ÇÏ°Ô µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ º¯È­ Áß¿¡¼­ ÀÌÀü ¹öÀü°ú ȣȯÀÌ ¾ÈµÇ´Â °æ¿ìµµ ÀÖÀ» °ÍÀÌ´Ù. µû¶ó¼­, ÀÌ·± °æ¿ì¿£ ¼³Ä¡¿¡ °üÇÑ µðÀÚÀÎÀ» ÇÒ ¶§ ½É°¢ÇÏ°Ô °í¹ÎÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ¶È°°Àº ½Ã½ºÅÛ¿¡ ¿©·¯°¡Áö ¹öÀüÀÇ ¼ÒÇÁÆ®¿þ¾î°¡ µ¿½Ã¿¡ Á¸ÀçÇÒ ¼ö ÀÖµµ·Ï ÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù. ÀÌ°ÍÀº ¶óÀ̺귯¸®¿¡ À־ ƯÈ÷ Áß¿äÇÏ´Ù. APIÀÇ º¯È­¿¡ µû¶ó ¸ðµç Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À» °íÁ¤µÈ ¹æ½ÄÀ¸·Î ¾÷±×·¹À̵åÇÏ´Â °ÍÀ» ±â´ëÇÒ ¼ö´Â ¾ø´Ù.

Emacs, Python ±×¸®°í Qt ÇÁ·ÎÁ§Æ®´Â À̸¦ ó¸®ÇÏ´Â ÁÁÀº ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ¹öÀü¹øÈ£¸¦ ºÙÀÎ µð·ºÅ丮 À̸§À» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¼³Ä¡µÈ QT ¶óÀ̺귯¸®ÀÇ °èÃþ±¸Á¶´Â ¾Æ·¡¿Í °°´Ù. (${ver} Àº ¹öÀü ¹øÈ£ÀÌ´Ù.):

/usr/lib/qt
/usr/lib/qt-${ver}
/usr/lib/qt-${ver}/bin          # mocÀÇ À§Ä¡
/usr/lib/qt-${ver}/lib          # .soÀÇ À§Ä¡
/usr/lib/qt-${ver}/include      # Çì´õ ÆÄÀÏÀÇ À§Ä¡

À§¿Í °°Àº ¹æ½ÄÀ¸·Î ¿©·¯ ¹öÀüÀ» µ¿½Ã¿¡ ¼ö¿ëÇÒ ¼ö ÀÖ´Ù. ´Ü, Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥Àº »ç¿ëÇÏ°íÀÚÇÏ´Â ¶óÀ̺귯¸®ÀÇ ¹öÀüÀ» ¸í±âÇØ¾ß ÇÏ´Â ºÎ´ãÀÌ ÀÖ±ä ÇÏÁö¸¸, ÀÌ°ÍÀº ÀÎÅÍÆäÀ̽º ÀÚü¸¦ ¿ÏÀüÈ÷ ¹Ù²Ù´Â °Í¿¡ ºñÇÏ¸é ¾ÆÁÖ Á¶±×¸¸ ºÎ´ã¿¡ Áö³ªÁö ¾Ê´Â´Ù.

6.5. RPMÀ¸·Î Á¦°øÇضó

¼³Ä¡ÇÒ ¼ö ÀÖ´Â ¹ÙÀ̳ʸ® ÆÐÅ°ÁöÀÇ »ç½Ç»óÀÇ Ç¥ÁØ Çü½ÄÀº ·¹µåÇÞ ÆÐÅ°Áö ¸Å´ÏÀú, RPMÀÌ´Ù. °¡Àå Àαâ ÀÖ´Â ¸®´ª½º ¹èÆ÷º»¿¡ »ç¿ëµÇ¸ç ½ÇÁúÀûÀ¸·Î ´Ù¸¥ ¸ðµç ¸®´ª½º ¹èÆ÷º»(µ¥ºñ¾È°ú ½½·¢¿þ¾î´Â Á¦¿Ü; µ¥ºñ¾È¿¡¼­´Â °¡´ÉÇÏ´Ù.)¿¡¼­µµ »ç¿ëµÈ´Ù.

µû¶ó¼­, ÇÁ·ÎÁ§Æ® »çÀÌÆ®¿¡¼­ ¼³Ä¡ °¡´ÉÇÑ RPM°ú ¼Ò½º tarÆÄÀÏÀ» µ¿½Ã¿¡ Á¦°øÇÏ´Â °ÍÀÌ °¡Àå ¹Ù¶÷Á÷ÇÏ´Ù.

¶Ç ¼Ò½º tar ÆÄÀÏ ³»¿¡ RPMÀÇ ½ºÆå ÆÄÀÏÀ» Æ÷ÇÔ½ÃÅ°°í, makefile ¾È¿¡ RPMÀ» »ý¼ºÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀ» ³Ö´Â °ÍÀÌ ÁÁ´Ù. ½ºÆå ÆÄÀÏÀº '.spec'À̶ó´Â È®ÀåÀÚ¸¦ °¡Á®¾ß ÇÑ´Ù. 'rpm -t' ¸í·ÉÀ» ¾²¸é tar ÆÄÀÏ¿¡ ÀÖ´Â ½ºÆå ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ´Ù.

Makefile°ú version.h¸¦ ºÐ¼®ÇÏ¿© ÀÚµ¿À¸·Î ¿Ã¹Ù¸¥ ¹öÀü ¹øÈ£¸¦ ¼³Á¤ÇÏ´Â ½© ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© spec ÆÄÀÏÀ» »ý¼ºÇضó.

ÁÖÀÇ:¼Ò½º RPMÀ» Á¦°øÇÑ´Ù¸é, ÇÁ·Î±×·¥ÀÌ /tmp ¶Ç´Â /var/tmp¿¡ ¸¸µé¾îÁöµµ·Ï BuildRoot¸¦ »ç¿ëÇضó. ±×·¸Áö ¾ÊÀ¸¸é, 'make install'°úÁ¤ Áß¿¡ ¼³Ä¡ ÇÁ·Î±×·¥ÀÌ ÆÄÀϵéÀ» ½ÇÁ¦ ÃÖÁ¾ À§Ä¡¿¡´Ù ¼³Ä¡ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÀÏÀº ÆÄÀÏÀÇ Ãæµ¹ÀÌ ÀÖ´Â °æ¿ì³ª, ÆÐÅ°Áö ¼³Ä¡¸¦ ¿øÇÏÁö ¾Ê´Â °æ¿ì¿¡µµ ÀϾ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¸ðµç ÆÄÀϵéÀº ¼³Ä¡µÇ°í ½Ã½ºÅÛÀÇ RPM µ¥ÀÌÅͺ£À̽º´Â ÀÌ°ÍÀ» ¾ËÁö ¸øÇÑ´Ù. ÀÌ·± ÁÁÁö ¾ÊÀº SRPMSÀÇ ÇàÀ§´Â Áö·Ú¹çÀ» ¸¸µé°ÔµÇ¹Ç·Î »ï°¡¾ß ÇÑ´Ù.