´ÙÀ½ ÀÌÀü Â÷·Ê

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 ÆÄÀÏ¿¡ Æ÷ÇԵǾî¾ß ÇÒ ³»¿ëµéÀº ´ÙÀ½°ú °°´Ù.

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

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

README ¶Ç´Â READ.ME

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

INSTALL

¼³Á¤, Á¦ÀÛ(build) ±×¸®°í ¼³Ä¡¿¡ °üÇÑ Á¤º¸

CREDITS

ÇÁ·ÎÁ§Æ® Âü¿©ÀÚ ¸®½ºÆ®

NEWS

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

HISTORY

ÇÁ·ÎÁ§Æ® È÷½ºÅ丮

COPYING

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

LICENSE

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

MANIFEST

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

FAQ

ÅØ½ºÆ® Çü½ÄÀÇ ÇÁ·ÎÁ§Æ® FAQ ¹®¼­

TAGS

Emacs ¶Ç´Â viÀÇ »ç¿ëÀ¸·Î ¸¸µé¾îÁø ÆÄÀÏ

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

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

°¢°¢ÀÇ °ø°³ ¹èÆ÷º»¸¶´Ù ½Ã°£Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â 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À¸·Î ¼³Ä¡°¡ °¡´ÉÇÏ´Ù.)¿¡¼­µµ »ç¿ëµÈ´Ù. µû¶ó¼­, ÇÁ·ÎÁ§Æ® »çÀÌÆ®¿¡¼­ ¼³Ä¡ °¡´ÉÇÑ RPM°ú ¼Ò½º tar ÆÄÀÏÀ» µ¿½Ã¿¡ Á¦°øÇÏ´Â °ÍÀÌ °¡Àå ¹Ù¶÷Á÷ÇÏ´Ù. ¼Ò½º tar ÆÄÀÏ ³»¿¡ RPMÀÇ ½ºÆå ÆÄÀÏÀ» Æ÷ÇÔÇÏ´Â °ÍÀÌ ÁÁ´Ù. ½ºÆÑ ÆÄÀÏÀº '.spec'À̶ó´Â È®ÀåÀÚ¸¦ °¡Á®¾ß ÇÑ´Ù. 'rpm -t' ¸í·ÉÀ» ¾²¸é tar ÆÄÀÏ¿¡ ÀÖ´Â ½ºÆå ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ´Ù. Makefile°ú version.h¸¦ ºÐ¼®ÇÏ¿© ÀÚµ¿ÀûÀ¸·Î ¿Ã¹Ù¸¥ ¹öÀü ¹øÈ£¸¦ ¼³Á¤ÇÏ´Â ½© ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© spec ÆÄÀÏÀ» »ý¼ºÇ϶ó.

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


´ÙÀ½ ÀÌÀü Â÷·Ê