¸®´ª½º °ü·Ã °Á¶õ |
---|
Á¦¸ñ | RPM ¸¸µé±â 1998/05/08 (10:15) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 25 |
Á¶È¸ | 300 |
º»¹® |
3.23.6 ³» ½Ã½ºÅÛÀÌ ¸Â´Â rpm ¸¸µé±â ´ëºÎºÐÀÇ rpmµéÀº i386(alphaµî)À¸·Î ÄÄÆÄÀÏ µÈ ÆÐÅ°ÁöµéÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ±×·¯³ª ±×Áß¿¡ ÀÚ½ÅÀÇ ½Ã½ºÅÛ°ú Àß ¸ÂÁö ¾Ê¾Æ ´Ù½Ã ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÏ ¿©¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ°ÚÁÒ? ÀÌ·±°æ¿ì¿¡ ÇÊ¿äÇÑ ÆÐÅ°Áö´Â .i386.rpm(.alpha.\ rpm)À¸·Î ¸¶Ä¡´Â ÆÐÅ°Áö°¡ ¾Æ´Ï¶ó .src.rpmÀ¸·Î ¸¶Ä¡´Â ÆÐÅ°ÁöÀÔ´Ï´Ù. ÀÌ µé ÆÐÅ°Áö´Â srpmÀ̶ó°í ºÒ¸®´Â Source¸¦ Æ÷ÇÔÇÏ´Â ÆÐÅ°Áöµé·Î ±¸¼ºµÇ¾î ÀÖ ´Âµ¥ ÀÌ ÆÐÅ°Áö¸¦ Àç ÄÄÆÄÀÏ ÇÔÀ¸·Î½á, ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ÃÖÀûÈµÈ »õ·Î¿î ÆÐÅ°Áö¸¦ ¾òÀ»¼ö Àֱ⠶§¹®¿¡ Á»´õ ¸¶À½¿¡ µå´Â ÀÚ±âÀڽŸ¸ÀÇ ¸®´ª½º¸¦ ¸¸ µé¼ö ÀÖ½À´Ï´Ù. ÀÚ ±×·¯¸é ¼Ò½º¸¦ Æ÷ÇÔÇÏ´Â ÆÐÅ°Áö¸¦ ÀçÄÄÆÄÀÏÇØ º¾½Ã´Ù. [root@stack SRPMS]# rpm --rebuild postgresql-6.2-1.src.rpm [Enter] Installing postgresql-6.2-1.src.rpm * Package: postgresql + gzip -dc /usr/src/redhat/SOURCES/postgresql-6.2.tar.gz + tar -xvvf - . . . [root@stack SRPMS]# ¿É¼ÇÀ¸·Î "rebuild"À» ÁöÁ¤ÇÏ¸é µË´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î¼ ÆÐÅ°ÁöµéÀº /usr/src/redhat/BUILD¶ó´Â µð·¢Å丮¿¡¼ ÆÐÅ° Áö¸¦ ÄÄÆÄÀÏ ÇÏ°í »õ·Ó°Ô ÆÐŰ¡µÈ rpmÀ̶ó´Â ÆÐÅ°Áö¸¦ /usr/src/redhat/RPMS/i386¿¡ ¸¸µé¾î ³õ½À´Ï´Ù. ¿©·¯ºÐµéÀº /usr/src/redhat/RPMS/i386¿¡ Á¸ÀçÇÏ´Â rpmÀ» ¾Õ¿¡¼ ¼³¸íÇÑ ¾÷ ±×·¹À̵峪 ÀνºÅç ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼³Ä¡ ÇϸéµË´Ï´Ù. <Âü°í ½ÃÀÛ> ÆÐÅ°Áö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏ´Â °ÍÀº ÆÐÅ°Áö¸¦ ÀνºÅçÇÏ´Â ½Ã°£º¸´Ù ¸¹Àº ½Ã°£À» ¿ä±¸ÇϹǷΠƯº°ÇÑ °æ¿ì°¡ ¾Æ´Ï¸é »ç¿ëÀ» ÀÚÁ¦ÇÏ´Â °ÍÀÌ ÁÁÀ» °Ì´Ï´Ù. ÇÊ ÀÚ°¡ ÀÌ·¸°Ô ÄÄÆÄÀÏÇØ º» ÆÐÅ°Áö Áß¿¡ °¡Àå ¿À·¡µµ·Ï ÄÄÆÄÀÏ ÇÏ´Â °ÍÀº ¹Ù ·Î GCC¿Í LIBCÀÔ´Ï´Ù. ¸¸¾à¿¡ ¿©·¯ºÐµé Áß¿¡ Çѹø ½ÃÇèÇØ º¸°í ½ÍÀº ºÐÀÌ ÀÖ´Ù¸é ÀÌ ÆÐÅ°ÁöµéÀ» --rebuild½ÃÄѳõ°í ½Ã°£À» À纸±â¸¦ ¹Ù¶ø´Ï´Ù. <Âü°í ³¡> 3.23.7 ÀÚ½ÅÀÇ CPU¿¡ ¸Â´Â rpmÀ» ¸¸µéÀÚ. ÀÚ½ÅÀÇ CPU¿¡ ¸Â´Â rpmÀ» »ý¼ºÇϱâ À§Çؼ´Â "buildarch" ¶ó´Â ¿É¼ÇÀ» »ç¿ë ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº ÆÐÅ°Áö¸¦ »ç¿ëÀÚÀÇ cpu¿¡ ¸ÂÃß¾î ¸¸µé¾î ÁÖ´Â ±â´ÉÀ» ÇÏÁö¸¸ ´ëºÎºÐÀÇ ÆÐÅ°ÁöµéÀÌ ÀÌµé ¿É¼ÇÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ÀÌ Ã¥À» º¸´Â ¿©·¯ºÐµéÁß¿¡ .src.rpmÀ̶ó´Â ÆÄÀÏÀ» "mc"¸¦ ÅëÇØ µé¿©´Ù º¸¾Ò ´Ù¸é specÈ®ÀåÀÚ¸¦ °¡Áö´Â ÆÄÀϵéÀ» º¸¾ÒÀ» °ÍÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀÇ ³»ºÎ¸¦ µé ¿©´Ù º¸¸é ÇϳªÀÇ ½ºÅ©¸³ÅÍ Çü½ÄÀ¸·Î µÇ¾î Àִµ¥ Ȥ½Ã º»ÀûÀÌ ÀÖ½À´Ï±î? ´ëºÎºÐÀÇ ÆÐÅ°ÁöµéÀÌ $RPM_ARCH¶ó´Â ȯ°æ º¯¼ö¸¦ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀ» ¾Ë¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ¿©±â¼ ¿©·¯ºÐµéÀº "buildarch"¶ó´Â ¿É¼ÇÀÌ ¹Ù·Î RPM_ARCH¶ó´Â ȯ°æ º¯¼ö¸¦ ¼³Á¤ÇÏ´Â ¿É¼ÇÀ̶ó´Â °ÍÀ» ¾Ë°Ô µÉ°ÍÀÔ´Ï´Ù. ±× ·±µ¥ À̸¦ »ç¿ëÇÏÁö ¾Ê´Â ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä? ¹Ù·Î ±× ÀÌÀ¯´Â "rebuild"¸¸À¸·Îµµ ÃæºÐÈ÷ ÃÖÀûÈµÈ ÆÐÅ°Áö¸¦ ¾òÀ»¼ö ÀÖ´Ù ´Â °ÍÀÔ´Ï´Ù. ÀÚ ±×·¯¸é ¸ÕÀú "buildarch"¿¡¼ »ç¿ëÇÒ¼ö ÀÖ´Â cpuÇüŸ¦ ¾Ë¾Æ º¾½Ã´Ù. cpu ÇüÅ : i386,i486,i586,i686 ¸¹ÀÌ º¸´ø Çü½ÄÀÌÁÒ? ±×·¯¸é "buildarch"¸¦ »ç¿ëÇÑ °£´ÜÇÑ ¿¹¸¦ º¾½Ã´Ù. [root@stack SRPMS]# rpm --rebuild --buildarch i586 postgresql-6.2-1\ .src.rpm [Enter] Installing postgresql-6.2-1.src.rpm * Package: postgresql * Package: postgresql-devel + umask 022 + echo Executing: %prep . . . [root@stack SRPMS]# ÀÌ·¸°Ô ÇÔÀ¸·Î½á Áö±Ý±îÁö ¾ò¾î ¿Ô´ø .i386.rpm ´ë½Å¿¡ .i586.rpmÀ̶ó´Â rpmÆÐÅ°Áö¸¦ ¾òÀ»¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·±µ¥ ¾Æ¸¶ À§¿Í°°ÀÌ ÇÑ´Ù¸é ¿¡·¯°¡ ¹ß»ýÇÒ°ÍÀÔ´Ï´Ù. ¾î¶² ¿¡·¯³Ä±¸¿ä? ¹Ù·Î /usr/src/redhat/RPMS/i586 À̶ó ´Â µð·¢Å丮°¡ ¾ø´Ù´Â ¿¡·¯ÀÔ´Ï´Ù. [root@stack SRPMS]# mkdir /usr/src/redhat/RPMS/i586 [Enter] [root@stack SRPMS]# ¸ÕÀú µð·ºÅ丮¸¦ ¸¸µé¾î ÁØ ´ÙÀ½¿¡ ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. 3.23.8 RPM ¸¸µé±â rpm¿¡ ¸Å·áµÇ¾î »ç¿ëÇÏ´Ù º¸¸é °¡²û¾¿ ³»°¡ rpmÀ» ¸¸µé ¼ö ÀÖÀ»±î¶ó´Â »ý °¢ÀÌ µé°ï ÇÒ°ÍÀÔ´Ï´Ù. ÇÊÀÚµµ óÀ½¿¡ ±×·¨°Åµç¿ä. ±×·¯³ª ÀÌÁ¦ºÎÅÍ ¿©·¯ ºÐµéÀº Á÷Á¢ rpm ÆÐÅ°Áö¸¦ ¸¸µé ¼ö ÀÖÀ» °Ì´Ï´Ù. ±×·¯¸é rpm ÆÐŰ¡À» Çϱâ À§Çؼ ¾Ë¾Æ µÎ¾î¾ß ÇÏ´Â °ÍµéÀº °ú¿¬ ¹«¾ùÀÏ±î ¿ä? °¡Àå ±âº»ÀÌ µÇ´Â °ÍÀº ¹Ù·Î rpmÀ» ¾îµð¼ ¸¸µé±â ½ÃÀÛÇØ¾ß µÇ´À³Ä ÇÏ ´Â °ÍÀÔ´Ï´Ù. ´ëºÎºÐ RedHatÀ» »ç¿ëÇÏ´Â µ¶ÀÚ¶ó¸é /usr/src/redhatÀ̶ó´Â µð·¢Å丮°¡ Á¸ÀçÇÒÅÙµ¥ ÀÌ µð·¢Å丮 ³»ºÎ¿¡´Â ¿©·¯°³ÀÇ ÇÏÀ§ µð·¢Å丮°¡ ÀÖ½À´Ï´Ù. ÀÌµé µð·¢Å丮°¡ ¹Ù·Î rpmÀ» ¸¸µé±â À§ÇØ »ç¿ëµÇ¾îÁú µð·¢Å丮 µéÀÔ´Ï´Ù. ±×·¯¸é ÇϳªÇϳª »ìÆ캸±â·Î ÇսôÙ. [root@stack SRPMS]# cd /usr/src/redhat [Enter] [root@stack redhat]# ls -p BUILD/ RPMS/ SOURCES/ SPECS/ SRPMS/ [root@stack redhat]# ±×·¯¸é ÀÌ µð·¢Å丮µéÀÇ ¿ëµµ¸¦ »ìÆì º¾½Ã´Ù. 1) BUILD - ÆÐÅ°Áö¸¦ ¸¸µå´Âµ¥ »ç¿ëµÇ´Â µð·¢Å丮·Î ¼Ò½º¸¦ Ç®°í ÄÄÆÄÀÏÀ» Çϴµ »ç¿ëÀÌ µË´Ï´Ù. 2) RPMS - ÆÐÅ°Áö·Î ¸¸µé¾îÁø rpmÆÄÀÏÀÌ ÀúÀåµÇ´Â °÷À¸·Î ±âº»ÀûÀ¸·Î i386 (ÀÎÅÚ)À̶ó´Â µð·ºÅ丮¸¦ ¼ºê µð·ºÅ丮·Î °¡Áö°í ÀÖ½À´Ï´Ù. ¸¸¾à¿¡ ¿©·¯ ºÐµéÀÌ i586À̶ó´Â ÆÐÅ°Áö¸¦ ¸¸µç´Ù¸é i586À̶ó´Â µð·¢Å丮¸¦ ¸¸µé¾î ÁÖ¾î ¾ß rpmÆÄÀÏÀ» ¾òÀ»¼ö ÀÖ½À´Ï´Ù. ÀÌ¹Ì ¾Õ¿¡¼ ¾ð±ÞÇÑÀûÀÌ ÀÖ¾úÁÒ? 3) SOURCE - ¸» ±×´ë·Î rpmÀ» ¸¸µå´Âµ¥ ÇÊ¿äÇÑ ¼Ò½ºµéÀ» ÀúÀåÇÑ µð·ºÅ丮 ÀÔ´Ï´Ù. 4) SPEC - µ¶ÀÚµéÀÌ °¡Àå ¸¹ÀÌ Á¢ÇÏ°ÔµÉ specÀ̶ó´Â rpm ÄÄÆÄÀÏ ½ºÅ©¸³ÅÍ ¸¦ ÀúÀåÇÏ´Â µð·ºÅ丮ÀÔ´Ï´Ù. ÀÌ°Í¿¡ ´ëÇÑ °ÍÀº µÚ¿¡¼ ´Ù½Ã ¼³¸íµå¸®°Ú ½À´Ï´Ù. 5) SRPMS - ¼Ò½º¸¦ ´ã°í ÀÖ´Â rpmÀ» ÀúÀåÇÏ´Â µð·ºÅ丮·Î ÀϹÝÀûÀ¸·Î ¿©·¯ µéÀÌ °¡Àå ¸¹ÀÌ Á¢ÇÏ´Â .i386.rpmÀ̶ó´Â ÆÄÀÏÀÌÁö¸¸ ¿©±â¿¡ ÀúÀåµÇ´Â ÆÄÀÏ Àº .src.rpmÀ̶ó´Â ÆÄÀÏ·Î ½ÇÇà °¡´ÉÇÑ ÆÄÀϵéÀ» Æ÷ÇÔÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÆÐ Å°Áö¸¦ ¸¸µé±â À§ÇÑ ¼Ò½ºÆÄÀϵéÀ» Æ÷ÇÔÇÏ°Ô µË´Ï´Ù. # rpm --showrc [Enter] ARCHITECTURE AND OS: build arch : i386 build os : linux . . topdir : /usr/src/redhat vendor : (not set) # ¿©·¯ºÐµéÀÌ À§ÀÇ ¸í·ÉÀ» ½ÇÇà ÇÑ´Ù¸é À§¿Í ºñ½ÁÇÑ °á°ú¸¦ ¾ò¾úÀ» °Ì´Ï´Ù. ÀÌ°ÍÀº ±âº»ÀûÀ¸·Î »ç¿ëµÇ´Â specÀÇ ³»¿ëµé·Î ¿©·¯ºÐµéÀÌ ¾ÕÀ¸·Î ¸¸µé specÆÄÀÏ¿¡¼ º¯°æÇÒ¼ö ÀÖ´Â ³»¿ëµéÀÔ´Ï´Ù. <Âü°í ½ÃÀÛ> À§¿Í°°Àº ¼³Á¤ Á¤º¸´Â /usr/lib/rpmrc¶ó´Â ÆÄÀÏÀ» ±âº»À¸·Î ÇÏ¿© ±¸¼ºµÈ ³»¿ëÀε¥ ¸¸¾à¿¡ ¿©·¯ºÐµéÀÌ ÀÌ ¼³Á¤Á¤º¸¸¦ ¹Ù²Ù±â¸¦ ¿øÇÑ´Ù¸é man page¸¦ ÃæºÐÈ÷ ¼÷ÁöÇÑÈÄ¿¡ º¯°æÇϱ⠹ٶø´Ï´Ù. <Âü°í ³¡> ±×·¯¸é ½ÇÁ¦·Î ¿©·¯ºÐµéÀÌ ¸¸µé¾î¾ß µÉ specÆÄÀÏÀ» º¾½Ã´Ù. # rpm -qi postgresql Name : postgresql Distribution: (none) Version : 6.2.1 Vendor: (none) Release : 3J Build Date: Tue Oct\ 28 14:17:35 1997 Install date: Tue Oct 28 14:19:15 1997 Build Host: stack Group : Applications/Databases Source RPM: \ postgresql-6.2.1-3J.src.rpm Size : 3057106 Summary : Relational Data Base Management System(2Byte Patch\ Version) Description : PostgreSQL Data Base Management System (formerly known as Postgres, then as Postgres95). This rpm contains the version 6.2 release of the PostgreSQL database server. The server is not ANSI SQL compliant, but it gets closer with every release. WARNING: If you are upgrading an existing system then back up your database. The database format is liable to change every few weeks with no notice besides a quick comment in the HACKERS mailing list. It is therefore a bad idea to skip this step. Have a look at the INSTALL file for instructions. If you rebuild the source rpm you should deinstall postgresql first and make sure there is no /var/lib/postgresql directory. (built with flex-2.5.4, see README.flex) # ½ÇÇàµÈ °á°ú¸¦ º¸¸é, postgresql¿¡ °üÇÑ Á¤º¸¸¦ º¼¼ö ÀÖ½À´Ï´Ù. <Âü°í ½ÃÀÛ> À§¿Í°°Àº Á¤º¸¸¦ º¸±â À§Çؼ´Â PostgreSQLÀÌ ¼³Ä¡µÇ¾î¾ß ÇÕ´Ï´Ù. <Âü°í ³¡> ¿©±â¼ ¾òÀ»¼ö ÀÖ´Â ³»¿ëÀº ÆÐÅ°ÁöÀÇ À̸§, ¹öÁ¯µî.. ÀÌ·±°ÍÀº ½ÇÁ¦·Î spec¿¡ Á¤ÀǵǾîÁö´Â °ÍÀ¸·Î ¿©·¯ºÐµéÀÌ Á÷Á¢ ¸¸µé¾î ÁÖ¾î¾ß ÇÏ´Â ºÎºÐÀÔ ´Ï´Ù. ±×·¯¸é ÀÌ·¯ÇÑ °ÍÀ» ¸¸µé±â À§ÇØ Á¤ÀÇÇØ¾ß µÇ´Â ³»¿ëµéÀ» ÇϳªÇϳª ÀÍÇôº¸ ±â·Î ÇÏ°Ú½À´Ï´Ù. *)Summary: rpm ÆÐÅ°ÁöÀÇ ´ë·«ÀûÀÎ ¼³¸íÀ» Àû´Â ºÎºÐÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, Summary: Relational Data Base Management System(2Byte Patch Version) *)Name: rpm ÆÐÅ°Áö ¸íÀ» Àû´Â ºÎºÐÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, Name: postgresql <Âü°í ½ÃÀÛ> ¿©±â¼ Á¤ÀǵǴ ³»¿ëÀº rpm »ý¼º½Ã ÆÄÀϸíÀ¸·Î Àû¿ëµÇ¾î Áö´Â ºÎºÐÀ¸·Î ¾Õ À¸·Î ¸¸µé¾îÁú ÆÄÀϵéÀÇ ½ÃÀÛÀº postgresqlÀ̶ó´Â ÆÄÀϸíÀ» °¡Áö°Ô µË´Ï´Ù. <Âü°í ³¡> *)Version: ÆÐÅ°ÁöÀÇ ¹öÁ¯À» Àû´Â ºÎºÐÀÌ´Ù ¿¹¸¦ µé¸é Version: 6.2.1 *)Release: ÆÐÅ°ÁöÀÇ ÆÐŰ¡µÈ ¹øÈ£¸¦ Àû´Â °÷ÀÔ´Ï´Ù. ¿¹¸¦ µé¸é. Release: 3J <Âü°í ½ÃÀÛ> ¿µ¹®ÀÚ¿Í ¼ýÀÚ¸¦ Á¶ÇÕÇÏ¿© »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. <Âü°í ³¡> *)Copyright: ¸¸µé¾îÁú ÆÐÅ°ÁöÀÇ Á¦ÀÛÀÚ/Á¦Àۻ縦 Àû´Â ºÎºÐÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, Copyright: Copyright (c) 1994-6 Regents of the University of \ California, distributable *)Group: ÆÐÅ°Áö°¡ ¼ÓÇØ ÀÖ´Â ±×·ìÀ» Àû´Â ºÎºÐÀ¸·Î ÀÌ ºÎºÐÀÇ Á¤ÀÇ¿¡ µû¶ó ¸¸µé¾îÁú ÆÐÅ°Áö°¡ ¾î¶°ÇÑ ÇüÅÂÀÇ ÆÐÅ°Áö·Î ºÐ·ùµÇ´ÂÁö ¾Ë¼öÀÖ°Ô µË ´Ï´Ù. ¿¹¸¦ µé¸é, Group: Applications/Databases <Âü°í ½ÃÀÛ> À§ÀÇ ÇüÅ´ Applications¾ÈÀÇ Databases¶ó´Â ±¸ºÐÀ» °®´Â´Ù´Â Ç¥ÇöÀÌ µË ´Ï´Ù. ¸¸¾à¿¡ ´Ù¸¥ ±×·ì¿¡ Æ÷ÇÔ½ÃÅ°°íÀÚ ÇÑ´Ù¸é ´ÙÀ½À» Âü°íÇϽñ⠹ٶø´Ï ´Ù. Applications Communications Editors Emacs Emulators Engineering Spreadsheets Databases Graphics Networking Math News Publishing TeX Sound Base Kernel Utilities Archiving Console File Printing System Terminal Text Daemons Documentation X11 XFree86 Servers Applications Graphics Networking Games Strategy Video Amusements Utilities Libraries Window Managers Libraries Networking Admin Daemons News Utilities Development Debuggers Libraries Libc Languages Fortran Tcl Building Version Control Tools shells Games <Âü°í ³¡> ¿Í °°À¸¸ç, ±× ¿Ü¿¡ µ¶ÀÚ°¡ Á÷Á¢ Á¤ÀÇÇÏ¿© »ç¿ëÇÒ¼öµµ ÀÖ´Ù. *)Source<n>: ÆÐÅ°ÁöÀÇ ¼Ò½ºÆÄÀϵéÀ» ³ª¿ÇÏ´Â °÷À¸·Î ÀÌÈÄ¿¡ %setup¿¡¼ ¾ÐÃàÀÌ ¸ðµÎ Ç®·Á /usr/src/redhat/BUILD¿¡ ÀÚ¸®Àâ°Ô µË´Ï´Ù. À§¿¡¼ Á¤ÀÇ ÇÑ VersionÀº %{PACKAGE_VERSION}¶ó´Â °ªÀ¸·Î ´ëÄ¡ÇÏ¿© »ç¿ëµÉ¼ö ÀÖ½À´Ï ´Ù. *)Patch<n>: ÆÐÅ°ÁöÀÇ ÆÐÄ¡µÇ´Â ÆÄÀϵéÀÇ ¼Ò½º¸¦ ³ªÅ¸³»´Â ºÎºÐÀ¸·Î ÀÌÈÄ ¿¡ %patch<n>°ú ÀÏ´ëÀÏ·Î ´ëÀÀµË´Ï´Ù. ¿¹¸¦ µé¸é Patch: postgresql-6.2-1.patch Patch1: postgresql-6.2-2.patch *)BuildRoot: ÆÐÅ°Áö¸¦ ½ÇÁ¦ ÀνºÅçÇÒ µð·¢Å丮¸¦ ³ªÅ¸³»´Â Çʵå·Î ´ÜÁö ¼±¾ð¸¸ Çß´Ù°í ¹Ù·Î Àû¿ëµÇ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. ÀÌ°ÍÀº ÀÌÈÄ %installÀ̶ó´Â Çʵ忡¼ ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥µéÀ» ÀνºÅçÇÒ¶§ Makefile¿¡ ¾Ë·ÁÁÖ¾î¾ß ºñ·Î ¼ Àû¿ëµÉ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à¿¡ ÇöÀç »ç¿ëÁßÀÎ ÆÐÅ°Áö¿Í Áߺ¹À» ÇÇÇϱ⠿ø ÇÑ´Ù¸é »ç¿ëÇϱ⸦ ±ÇÀåÇÕ´Ï´Ù. ¿¹¸¦ µé¸é BuildRoot: /tmp/postgresql-root ¿Í °°ÀÌ Á¤ÀÇ ÇÏ°í %install ÇʵåÀÇ Ã³À½ ºÎºÐ¿¡¼ »ý¼ºÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. *)Requires: ÀÌ ÆÐÅ°Áö¸¦ »ç¿ëÇϱâ À§ÇØ ÇÊ¿äÇÑ ÆÐÅ°Áö¸¦ Á¤ÀÇÇÏ´Â Çʵå·Î ÀÌ Çʵ尡 ¹Ù·Î ÀÇÁ¸¼º °Ë»ç¿¡ »ç¿ëµÇ´Â ÇʵåÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Requires: postgresql = %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} ¿Í °°ÀÌ »ç¿ëÇÒ¼ö Àִµ¥ ÀÌ°ÍÀº postgresqlÀÇ ÆÐÅ°Áö ¹öÁ¯ÀÌ °°À»¶§¸¸ ÀÎ ½ºÅçÀ» ÇàÇϵµ·Ï ÇÏ°Ú´Ù´Â ¶æÀÔ´Ï´Ù. *)URL: ÀÌ ÆÐÅ°Áö°¡ Á¸ÀçÇÏ´Â URL¶Ç´Â ÀÚ½ÅÀÇ URLÀ» Ç¥½ÃÇصδ ºÎºÐÀÔ´Ï ´Ù. ¿¹¸¦µé¸é URL: http://www.postgresql.org *)Icon: ÀÌ ÆÐÅ°Áö¸¦ ³ªÅ¸³¾¼ö ÀÖ´Â IconÆÄÀÏÀ» µî·ÏÇÏ´Â ºÎºÐÀÔ´Ï´Ù. *)Packager: ÆÐÅ°Áö¸¦ Á¦ÀÛÇÑ »ç¶÷ÀÇ À̸§, ÀüÀÚ¿ìÆí ÁÖ¼Ò Á¤µµ¸¦ ÀûÀ¸ ¸é µË´Ï´Ù. ±×·¯¸é ÀÌÁ¦ ¾ÕÀÇ Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ÇÏ¿© Çϳª¾¿ ¹è¿öº¸±â·Î ÇսôÙ. ´ÙÀ½Àº ¸í·É½ÇÇà ÇʵåÀÔ´Ï´Ù. À§¿¡¼ ÇÑ °ÍÀº Çì´õ ºÎºÐÀ̶ó°í »ý°¢ÇÏ¸é µË ´Ï´Ù. %package [-n] <package ¸í> : ÀÌ´Â rpm Á¤º¸¸¦ ¼³Á¤ÇÏ´Â ºÎºÐÀÔ´Ï´Ù. ¿©±â ¼ %package¿¡ Æ÷ÇԵǴ Á¤º¸´Â Summary: , Group: , Requires: µîÀ̸ç %package´Â ¿©·¯°³ÀÇ rpmÆÄÀÏÀ» ¸¸µé¶§ °¢°¢ÀÇ rpmÆÄÀϵéÀÇ ±âº»ÀûÀÎ Á¤º¸ ¸¦ ¼³Á¤ÇÒ¼ö ÀÖµµ·Ï ÇÑ ºÎºÐÀÌ µË´Ï´Ù. ¿©·¯ºÐµéÀÌ À̸¦ »ç¿ëÇÔÀ¸·Î NAME-<package ¸í>-VERSION-RELEASE.ARCH.rpm À̶ó´Â ÆÄÀÏÀÌ ¸¸µé¾î Áý´Ï´Ù. ¿¹¸¦ µé¾î À§¿¡¼ ¸¸µé¾îÁö´Â ÆÄÀÏÀº postgresql-6.2-1.i386.rpm postgresql-devel-6.2-1.i386.rpm ÀÔ´Ï´Ù. ¿©±â¼ µÎ¹ø°·Î »ý¼ºµÇ´Â postgresql-devel¿¡¼ develÀÌ %packageÇʵ忡¼ ¼±¾ðÇÏ´Â <package ¸í>ÀÌ µË´Ï´Ù. ¸¸¾à, NAMEÀÇ ÇÏÀ§ ÆÐÅ°Áö¸íÀ¸·Î ÀνĽÃÅ°Áö ¾ÊÀ¸·Á¸é -n À» »ç¿ë ÇÏ¸é µË´Ï´Ù. ±×·¯¸é µ¶¸³µÈ <package ¸í>À» °®´Â rpmÆÐÅ°Áö¸¦ ¾òÀ» ¼ö ÀÖÀ» °Ì´Ï´Ù. ¿¹¸¦ µé¾î %package -n devel À» ÇÑ´Ù¸é, ¸¸µé¾îÁö´Â ÆÐÅ°Áö ¸íÀº devel-6.2-1.i386.rpm ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù. ±×¸®°í, %package¿¡ Æ÷ÇԵǴ Á¤º¸ÀÎ Summary: ¿Í Group°ú Requires:¿¡ ´ë ÇÑ ¼³¸íÀº ¾ÕºÎºÐÀ» ÂüÁ¶Çϱ⠹ٶø´Ï´Ù. ±×·³, ½ÇÁ¦ »ç¿ë ¿¹¸¦ º¸±â·Î ÇսôÙ. %package devel Summary: Libraries/header files for developing Postgresql applications Group: Development/Libraries Requires: postgresql = %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} À§¿Í °°ÀÌ package¿¡ ÆÐÅ°Áö ¸íÀ» Á¤ÀÇ ÇÑ´Ù¸é ¹Ýµå½Ã Group:À» »ç¿ëÇÏ¿©, ÀÌ ÆÐÅ°Áö°¡ ¾î¶°ÇÑ ±×·ì¿¡ ¼ÓÇÏ´Â Áö¸¦ ¾Ë·Á ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à¿¡ ¾Ë·Á ÁÖÁö ¾Ê´Â ´Ù¸é rpmÀº À̸¦ ¿¡·¯·Î °£ÁÖÇÏ°Ô µË´Ï´Ù. ÀÌ¿Ü¿¡µµ ¿Ã¼ö ÀÖ´Â °ÍÀº Summary:³ª Requires:¿Í °°Àº ÆÐÅ°ÁöÀÇ ÀÇÁ¸¼º °Ë»ç³ª ÆÐÅ°ÁöÀÇ SummaryµîÀÌ ¿Ã¼ö ÀÖ½À´Ï´Ù. %description <package ¸í> ÀÌ ºÎºÐÀº ÆÐÅ°ÁöÀÇ ¼³¸íÀ» ±â¼úÇÏ´Â ºÎºÐÀ¸·Î ÆÐÅ°ÁöÀÇ ±âº»ÀûÀÎ Á¤º¸¸¦ ±â¼úÇÏ¸é µË´Ï´Ù. ¿¹¸¦ µé¸é, %description devel This package includes the libraries and header files necessary to\ develop postgresql applications in C. %changelog ¹«¾ùÀÌ ¹Ù²î¾ú´ÂÁö ¾Ë·Á ÁÖ°íÀÚ ÇÒ¶§ »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. %prep ÆÐÅ°ÁöÀÇ ¾ÐÃàÀ» Ç®±âÀü¿¡ ½ÇÇàµÇ¾î Áö´Â ½ºÅ©¸³Å͸¦ Á¤ÀÇÇÏ´Â ºÎºÐ ÀÔ´Ï´Ù. %setup [-n ¼³Ä¡ µð·¢Å丮] [-a [Source ÆÄÀÏ ¼ø¼]] ÀÌ ºÎºÐÀº Source:¿¡ Á¤ÀÇµÈ ÆÄÀÏÀ» /usr/src/redhat/BUILD/<Source>·Î Ç®¾î ³õ°Ô ³õµµ·Ï Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ±âº»ÀûÀ¸·Î Source: ¿¡ Á¤ÀÇµÈ ÆÄÀÏÀÌ postgresqlv6.2.tar.gzÀ̶ó°í Çϸé /usr/src/redhat/BUILD/postgresqlv6.2 ¸¦ ±âº»ÀûÀÎ µð·ºÅ丮·Î ÀνÄÇÏ·Á ÇÒ°ÍÀÔ´Ï´Ù. ±×·±µ¥ ³»ºÎ¿¡ Á¸ÀçÇÏ´Â µð ·¢Å丮°¡ psqlÀ̶ó°í ÇÑ´Ù¸é ¾î¶»°Ô µÇ°Ú½À´Ï±î? ºÐ¸íÈ÷ rpm buildÁß¿¡ ¹® Á¦°¡ »ý±æ°Ì´Ï´Ù. ±×·¯¸é ¾î¶»°Ô Á¤ÀÇÇϸé ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ¼ö ÀÖÀ»±î¿ä? ±×°ÍÀº ¹Ù·Î %setup -n psql À̶ó°í ¾Ë·Á ÁÜÀ¸·Î½á, $RPM_SOURCE_DIRÀ» Àç ¼³Á¤ÇÒ¼ö ÀÖ°Ô µµ¿ÍÁÝ´Ï´Ù. ¸¸¾à, -a¿É¼ÇÀ» »ç¿ëÇÑ´Ù¸é -a¿¡ Á¤ÀÇµÈ ¼ø¼ ¸¦ °®´Â ¼Ò½ºÀÇ ¾ÐÃàÀ» ÇØÁ¦ÇÕ´Ï´Ù. Áï %setup -a 0 ¸¦ ÇÑ´Ù¸é, Source:·Î Á¤ÀÇµÈ ¾ÐÃàÆÄÀÏÀÇ ¼Ò½º¸¦ Ç®¾î ³õ°í %setup -a 1À» ÇÑ´Ù¸é Source1:·Î Á¤ ÀÇµÈ ¾ÐÃàÆÄÀÏÀÇ ¼Ò½º¸¦ Ç®¾î ³õ½À´Ï´Ù. ¿¹¸¦ µé¸é %setup ³Ê¹« °£´ÜÇÏÁÒ? ÀÌ ¸í·ÉÀ¸·Î ¼Ò½ºÀÇ ¾ÐÃàÀ» ÇØÁ¦ÇÏ°Ô µË´Ï´Ù. %patch À§ÀÇ Patch:¿¡¼ Á¤ÀÇÇÑ ÆÄÀϵéÀ» ±âÃÊ·Î ÇÏ¿©, ¼Ò½º¸¦ ÆÐÄ¡(¼öÁ¤) ÇÏ´Â ºÎºÐÀ¸·Î »ç¿ë¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù. %patch -p1 ¸¸¾à¿¡ Çϳª ÀÌ»óÀÇ ÆÐÄ¡ÆÄÀÏÀÌ ÀÖÀ» °æ¿ì¿¡´Â %patch1 -p1 %patch2 -p1 ÀÚ¼¼ÇÑ ³»¿ëÀº patchÀÇ man page¸¦ º¸±â¸¦ ¹Ù¶õ´Ù. <Âü°í ½ÃÀÛ> ¿©±â¼ ÁÖÀÇÇؾßÇÒ Á¡ÀÌ ÀÖ½À´Ï´Ù. ¹Ù·Î À§¿¡¼ Á¤ÀÇÇÑ Patch: ÀÇ °³¼ö°¡ Àû°Å³ª °°¾Æ¾ß µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ÁÖÀÇÇϼ¼¿ä. <Âü°í ³¡> %build - ¼Ò½º¸¦ ÄÄÆÄÀÏ ÇÏ´Â ºÎºÐÀ¸·Î, ÄÄÆÄÀÏ¿¡ ÇÊ¿äÇÑ ±âº»ÀûÀÎ ¸í·ÉÀ» ÇàÇÕ´Ï´Ù. Áï, ¼Ò½ºÀÇ configure¸¦ ¼³Á¤Çϰųª, make¸¦ ÇϴµîÀ» ÀÛ¾÷À» ¼ö ÇàÇÏ´Â °÷ÀÌÁÒ. ¿©±â¼ ÁÖ·Î »ç¿ëµÇ¾î Áö´Â ȯ°æ º¯¼ö´Â ¾Æ·¡¿Í °°½À´Ï´Ù. $RPM_SOURCE_DIR : ÀÌ´Â /usr/src/redhat/SOURCE·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. $RPM_BUILD_DIR : ÄÄÆÄÀÏÀ» ÇÏ´Â µð·ºÅ丮ÀÔ´Ï´Ù. Áï, /usr/src/redhat/BUILD °¡ ±âº» µð·¢Å丮ÀÔ´Ï´Ù. $RPM_BUILD_ROOT : ÀÌ´Â BuildRoot:¶ó´Â specÇì´õ¿¡¼ Á¤ÀÇÇÏ¿© »ç¿ëµÉ¼ö ÀÖÀ¸¸ç, ¸¸¾à Á¤ÀÇÇÏÁö ¾ÊÀ» °æ¿ì '/'¸¦ °®½À´Ï´Ù. $RPM_OPT_FLAGS : ÄÄÆÄÀÏ ÇÒ¶§ ¾²ÀÌ´Â ¿É¼ÇÀÔ´Ï´Ù. /usr/lib/rpmrc ¸¦ º¸¸é ¾Ë ¼ö ÀÖÀ» °Ì´Ï´Ù. optflags: i386 -O2 -m486 -fno-strength-reduce ÀÌ·± ½ÄÀ¸·Î ÁöÁ¤µÇ¾î ÀÖ´Â ºÎºÐÀÌÁÒ. $RPM_ARCH : ÀÌ´Â ÄÄÆÄÀϵǴ cpuÀÇ ÇüŸ¦ ³ªÅ¸³»¸ç ¸¸¾à ÀÎÅÚ µ¶ÀÚ¶ó¸é i386À¸·Î ±âº» ¼³Á¤ÀÌ µË´Ï´Ù. $NAME : ÀÌ´Â Name:À̶ó´Â specÇì´õ¿¡¼ Á¤ÀÇÇÏ¿© »ç¿ëµÇ´Â ºÎºÐÀ¸·Î rpm ÆÐÅ°ÁöÀÇ À̸§À» ³ªÅ¸³À´Ï´Ù. $VERSION: ÀÌ´Â Version:À̶ó´Â specÇì´õ¿¡¼ Á¤ÀÇÇÏ¿© »ç¿ëµÇ´Â ºÎºÐÀ¸·Î rpmÆÐÅ°ÁöÀÇ ¹öÁ¯À» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¸é %build cd src # # 2Byte Makefile.custom cp -f $RPM_SOURCE_DIR/Makefile.custom \ $RPM_BUILD_DIR/postgresql-6.2.1/src/ # # Configure echo -e '\n' | ./configure --prefix=/usr --with-template=linux-elf \ --includedir=/usr/include/postgres --enable-hba --enable-locale \ --host=${RPM_ARCH}-redhat-linux-gnu # # Make make HEADERDIR=/usr/include/postgres SRCDIR="`pwd`" \ DATADIR=/var/lib/postgresql # # perl5 interface ln -s libpq lib cd interfaces/perl5/ sh -c "export POSTGRESBUILDDIR=\"`pwd`/../..\"; perl Makefile.PL; make\ OPTIMIZE=\"${RPM_OPT_FLAGS}\"" # JDBC interface cd ../jdbc/ make À§¿Í °°ÀÌ, ½ÇÁ¦ ¿©·¯ºÐµéÀÌ ½©¸í·É »óÅ¿¡¼ ÀνºÅçÇϱâ Àü °úÁ¤À» ¸ðµÎ ½áÁÖ¾î¾ß ÇÕ´Ï´Ù. Á¤¸» º¹ÀâÇÏÁÒ? ¿©±â¼´Â ½©¿¡¼ »ç¿ë°¡´ÉÇÑ ¸ðµç ¸í·ÉÀ» »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. %install - ÄÄÆÄÀÏµÈ ¼Ò½º¸¦ ÀνºÅçÇϱâÀ§ÇÑ ºÎºÐÀ¸·Î ÀÌ ºÎºÐ¿¡¼´Â À§ (%build)¿¡¼ ¸¸µé¾îÁø ¼Ò½º¸¦ ÀνºÅçÇÏ°Ô µË´Ï´Ù. ¿©±â¼ »ç¿ëµÇ¾î Áö´Â ȯ°æº¯¼ö¿¡´Â ´ÙÀ½°ú °°Àº °ÍÀÌ ¾²Àϼö ÀÖ½À´Ï´Ù. $RPM_SOURCE_DIR : ÀÌ´Â /usr/src/redhat/SOURCE·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. $RPM_BUILD_DIR : ÄÄÆÄÀÏ ÇÏ´Â µð·ºÅ丮ÀÔ´Ï´Ù. /usr/src/redhat/BUILD°¡ ±âº» µð·ºÅ丮°¡ µÇÁÒ. $RPM_BUILD_ROOT : ÀÌ´Â BuildRoot:¶ó´Â specÇì´õ¿¡¼ Á¤ÀÇÇÏ¿© »ç¿ëµÉ¼ö ÀÖÀ¸¸ç ¸¸¾à Á¤ÀÇÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â '/'¸¦ °®½À´Ï´Ù. |