FreeBSD ÇÚµåºÏ : ¾îÇø®ÄÉÀÌ¼Ç ¼³Ä¡Çϱâ: Æ÷Æ® ÄÝ·º¼Ç : Á÷Á¢ Æ÷Æ® ¸¸µé±â : Ưº°È÷ »ý°¢ÇØ¾ß ÇÒ °Íµé
Previous: Makefile ¼³Á¤Çϱâ
Next: pkg ºÎµð·ºÅ丮

4.7.4. Ưº°È÷ »ý°¢ÇØ¾ß ÇÒ °Íµé

4.7.4.1. ldconfig

Æ÷Æ®°¡ °øÀ¯ ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÑ´Ù¸é post-install Ÿ°ÙÀ» Makefile¿¡ Ãß°¡ÇÏ°í `/sbin/ldconfig -m'¸¦ »õ ¶óÀ̺귯¸®°¡ ¼³Ä¡µÇ´Â µð·ºÅ丮¿¡ ´ëÇØ ½ÇÇàÇÏ¿© (º¸Åë ${PREFIX}/lib) °øÀ¯ ¶óÀ̺귯¸® ij½Ã¿¡ µî·ÏÇϼ¼¿ä.

¶ÇÇÑ, pkg/PLISTÆÄÀÏ¿¡ ´ëÀÀÇÏ´Â `@exec /sbin/ldconfig -m'/`@unexec /sbin/ldconfig -R' ÇàÀ» Ãß°¡ÇÏ¿© ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ´Â »ç¿ëÀÚ°¡ °øÀ¯ ¶óÀ̺귯¸®¸¦ Áï½Ã »ç¿ëÇÒ ¼ö ÀÖ°í »èÁ¦½Ã ½Ã½ºÅÛÀÌ ¶óÀ̺귯¸®°¡ ¿©ÀüÈ÷ °Å±â ÀÖ´Ù°í »ý°¢ÇÏÁö ¾Êµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ÇàÀº °øÀ¯ ¶óÀ̺귯¸®¸¦ ³ªÅ¸³»´Â Çà ¹Ù·Î ´ÙÀ½¿¡ ³ªÅ¸³ª¾ß ÇÕ´Ï´Ù.

´ÙÀ½Ã³·³:

lib/libtcl80.so.1.0
@exec /sbin/ldconfig -m %D/lib
@unexec /sbin/ldconfig -R

MakefileÀ̳ª pkg/PLIST¿¡ Àμö ¾øÀÌ `ldconfig'¸¦ ½ÇÇàÇÏ´Â ÇàÀ» °áÄÚ, Àý´ë, ²À Ãß°¡ÇÏ¸é ¾ÈµË´Ï´Ù. ÀÌ´Â °øÀ¯ ¶óÀ̺귯¸® ij½ÃÀÇ ³»¿ëÀ» /usr/lib¸¸À¸·Î µÇµ¹¸®¹Ç·Î, »ç¿ëÀÚ PC¸¦ ¿ÏÀüÈ÷ ¾û¸ÁÀ¸·Î ¸¸µé °ÍÀÔ´Ï´Ù ("µµ¿ÍÁà¿ä, ÀÌ Æ÷Æ®¸¦ ¼³Ä¡ÇÑ µÚ¿¡ xinit¾Æ ¾ÈµÇ¿ä!"). ÀÌ·¸°Ô ÇÏ´Â »ç¶÷Àº ÃÑ¿¡ ¸Â°í ³ì½¼ Ä®¿¡ 65,536 Á¶°¢À¸·Î ³ª´µ°í ±î¸¶±Í ¹«¸®¿¡°Ô °£À» ÂÉÀÏ °ÍÀÌ°í ¿µ¿øÈ÷ Áö¿ÁÀÇ °¡Àå ±íÀº °÷¿¡¼­ Á×¾î ½â¾î°¥ °ÍÀÔ´Ï´Ù(²À À§ ¼ø¼­´ë·ÎÀÏ ÇÊ¿ä´Â ¾øÁö¸¸)....

4.7.4.2. ELF Áö¿ø

FreeBSD´Â 3.0-release¿¡¼­ºÎÅÍ ELF·Î ¿Å°Ü°¡°í Àֱ⠶§¹®¿¡, ELF¸¦ Áö¿øÇϱâ À§ÇØ °øÀ¯ ¶óÀ̺귯¸®¸¦ ¸¸µå´Â ¸¹Àº Æ÷Æ®¸¦ º¯È¯ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ ÀÛ¾÷À» º¹ÀâÇÏ°Ô ÇÏ´Â °ÍÀº 3.0 ½Ã½ºÅÛÀÌ ELF¿Í a.outÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù´Â °Í°ú 2.2 °¡Áö¿¡¼­ ¸±¸®Áî°¡ Çϳª ´õ ÀÖÀ» °Í(2.2.8)À̶ó´Â »ç½ÇÀÔ´Ï´Ù. ¾Æ·¡´Â a.out°ú ELF ÄÄÆÄÀÏÀ» ¸ðµÎ Áö¿øÇϱâ À§ÇØ a.out¸¸À¸·Î ÀÛ¼ºµÈ Æ÷Æ®¸¦ ¾î¶»°Ô º¯È¯ÇÏ´ÂÁö¿¡ ´ëÇÑ °¡À̵å¶óÀÎÀÔ´Ï´Ù.

ÀÌ ¸ñ·ÏÀÇ ÀϺδ º¯È¯ Áß¿¡¸¸ Àû¿ë °¡´ÉÇÏÁö¸¸, ¿©·¯ºÐÀÌ ¾÷±×·¹À̵带 ¿øÇÏ´Â ¾î¶² ¿À·¡µÈ Æ÷Æ®¸¦ ¸¸³¯ °æ¿ì¿¡ ´ëºñÇÏ¿© ÂüÁ¶ ÇÒ ¼ö ÀÖµµ·Ï Àá½Ã ³²¾Æ ÀÖÀ» °ÍÀÔ´Ï´Ù.

a.out ¶óÀ̺귯¸®¸¦ ¹ÛÀ¸·Î ¿Å±â±â

a.out ¶óÀ̺귯¸®´Â /usr/local/lib ¹ÛÀ¸·Î ¿Å°Ü¼­ `aout' ºÎµð·ºÅ丮¿¡ ³Ö¾î¾ß ÇÕ´Ï´Ù. (À̵éÀ» ¹ÛÀ¸·Î ¿Å±âÁö ¾ÊÀ¸¸é ELF Æ÷Æ®´Â ÇູÇÏ°Ô a.out ¶óÀ̺귯¸®¸¦ °ãÃÄ ¾µ °ÍÀÔ´Ï´Ù.) -current src/Makefile¿¡ ÀÖ´Â `move-aout-libs' Ÿ°ÙÀº(`aout-to-elf'¿¡¼­ ºÎ¸£´Â) ÀÌ ÀÏÀ» ÇØ ÁÙ °ÍÀÔ´Ï´Ù. ÀÌ´Â a.out ¶óÀ̺귯¸®¸¸ ¿Å°ÜÁÙ °ÍÀ̹ǷΠǥÁØ µð·ºÅ丮¿¡ ELF¿Í a.out ¶óÀ̺귯¸®°¡ ½Ã½ºÅÛ¿¡¼­ ¾ÈÀüÇÏ°Ô °øÁ¸ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

Æ÷¸Ë

Æ÷Æ® Æ®¸®´Â PC¿¡¼­ »ç¿ëÇÏ´Â Æ÷¸ËÀ¸·Î ÆÐÅ°Áö¸¦ ¸¸µì´Ï´Ù. ÀÌ´Â 2.2¿¡¼­´Â a.outÀÌ°í 3.0¿¡¼­´Â `objformat`ÀÌ µ¹·ÁÁÖ´Â °ª¿¡ µû¶ó a.outÀ̳ª ELF¶ó´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¶ÇÇÑ ÀÏ´Ü »ç¿ëÀÚ°¡ a.out ¶óÀ̺귯¸®¸¦ ºÎµð·ºÅ丮·Î ¿Å±â¸é, a.out ¶óÀ̺귯¸®¸¦ ¸¸µå´Â °ÍÀº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. (¿©·¯ºÐÀÌ ¾î¶»°Ô ÇÏ´ÂÁö ¾È´Ù¸é ÇÒ ¼ö ÀÖÁö¸¸, ±×°Ç ¾Ë¾Æ¼­ Çϼ¼¿ä)

Æ÷Æ®°¡ a.out¿¡¼­¸¸ µÈ´Ù¸é, BROKEN_ELF ¸¦ ÀÌÀ¯¸¦ ÁöÁ¤ÇÏ´Â ¹®ÀÚ¿­·Î ÁöÁ¤Çϼ¼¿ä. ±×·± Æ÷Æ®´Â ELF½Ã½ºÅÛ¿¡¼­ ¸¸µé ¶§ °Ç³Ê¶Ù°Ô µË´Ï´Ù.

PORTOBJFORMAT

bsd.port.mk ´Â PORTOBJFORMAT¸¦ `aout'À̳ª `elf'·Î ÁöÁ¤ÇÏ°í CONFIGURE_ENV, SCRIPTS_ENV, MAKE_ENV ȯ°æº¯¼ö¿¡ ÁöÁ¤ÇØ ÁÝ´Ï´Ù. (2.2-stable¿¡¼­´Â Ç×»ó `aout'ÀÔ´Ï´Ù) ¶ÇÇÑ PLIST_SUB ¿¡´Â `PORTOBJFORMAT=${PORTOBJFORMAT}'·Î ³Ñ°ÜÁÝ´Ï´Ù. (¾Æ·¡ÀÇ ldconfig ÁÙ¿¡ ´ëÇÑ ÁÖ¼®À» º¸¼¼¿ä.)

ÀÌ º¯¼ö´Â bsd.port.mk ¿¡¼­ ´ÙÀ½ ÇàÀ» »ç¿ëÇÏ¿© ÁöÁ¤ÇÕ´Ï´Ù:

PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout

Æ÷Æ®ÀÇ make °úÁ¤Àº ÀÌ º¯¼ö¸¦ »ç¿ëÇÏ¿© ¾î¶»°Ô ÇØ¾ß ÇÒÁö °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±×·¯³ª Æ÷Æ®ÀÇ configure ½ºÅ©¸³Æ®°¡ ÀÌ¹Ì ELF ½Ã½ºÅÛÀ» ÀÚµ¿ÀûÀ¸·Î ŽÁöÇϸé, PORTOBJFORMATÀ» ÂüÁ¶ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù

°øÀ¯ ¶óÀ̺귯¸® ¸¸µé±â

´ÙÀ½Àº a.out°ú ELF¸¦ À§ÇÑ °øÀ¯ ¶óÀ̺귯¸®¸¦ ´Ù·ç´Â µ¥ À־ÀÇ Â÷ÀÌÁ¡ÀÔ´Ï´Ù

°øÀ¯ ¶óÀ̺귯¸® ¹öÀü

ELF °øÀ¯ ¶óÀ̺귯¸®´Â "libfoo.so.M"À̶ó°í ºÎ¸£¸ç, MÀº ÇϳªÀÇ ¹öÀü ¹øÈ£ÀÌ°í, a.out ¶óÀ̺귯¸®´Â "libfoo.so.M.N"À̶ó°í ºÎ¸£¸ç MÀº ÁÖ ¹öÀüÀÌ°í N Àº ºÎ ¹öÀü ¹øÈ£ÀÔ´Ï´Ù. ÀÌ µÑÀ» È¥µ¿ÇÏÁö ¸¶¼¼¿ä; ELF °øÀ¯ ¶óÀ̺귯¸®¸¦ "libfoo.so.N.M" À̶ó°í ¼³Ä¡Çؼ­´Â °áÄÚ ¾ÈµÇ¸ç a.out °øÀ¯ ¶óÀ̺귯¸®(¶Ç´Â ½Éº¼¸¯ ¸µÅ©)¸¦ "libfoo.so.N"·Î ¼³Ä¡Çؼ­´Â ¾ÈµË´Ï´Ù.

¸µÄ¿ ¸í·ÉÇà

`cc -shared°¡ `ld'º¸´Ù Á÷Á¢ÀûÀ¸·Î »ç¿ëµÇ¸ç, Â÷ÀÌÁ¡Àº ELF¿¡¼­´Â ¸í·ÉÇà¿¡ `-Wl,-soname,libfoo.so.M'¸¦ Ãß°¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.

ELF ¸µÄ¿¸¦ ÇູÇÏ°Ô ÇØ ÁÖ±â À§Çؼ­´Â libfoo.so -> libfoo.so.N ·Î °¡´Â ½Éº¼¸¯ ¸µÅ©¸¦ ¼³Ä¡ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ´Â PLIST ¿¡µµ ÀÖ¾î¾ß Çϸç, a.out ÀÇ °æ¿ì¿¡µµ ¹®Á¦°¡ ¾ø°í(¾î¶² Æ÷Æ®´Â µ¿Àû ·ÎµùÀ» À§ÇØ ¸µÅ©¸¦ ÇÊ¿ä·Î Çϱâ±îÁö ÇÕ´Ï´Ù), PORTOBJFORMATÀÇ ÁöÁ¤¿¡ °ü°è¾øÀÌ ÀÌ ¸µÅ©¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù.

LIB_DEPENDS

¸ðµç Æ÷Æ® MakefileµéÀº LIB_DEPENDS¿¡¼­ ºÎ ¹øÈ£¸¦ ¾ø¾Ö°í Á¤±Ô½Ä Áö¿øÀ» ÇÏÁö ¾Êµµ·Ï ÆíÁýÇØ¾ß ÇÕ´Ï´Ù. (¿¹: `foo\\.1\\.\\(33|40\\)' -> `foo.2'.) ÀÌ´Â `grep -wF'À» »ç¿ëÇÏ¿© °Ë»çÇÕ´Ï´Ù.

PLIST

PLIST ´Â ¹Ýµå½Ã a.out ºÎ ¹øÈ£°¡ 0À̸é ªÀº(ELF) °øÀ¯ ¶óÀ̺귯¸® À̸§À» Æ÷ÇÔÇØ¾ß Çϸç, ±× ÀÌ¿ÜÀÇ °æ¿ì¿¡´Â¤± ±ä(a.out)À̸§À̾î¾ß ÇÕ´Ï´Ù. bsd.port.mk´Â PORTOBJFORMAT °¡ aout °ú °°À¸¸é ÀÚµ¿ÀûÀ¸·Î ªÀº °øÀ¯ ¶óÀ̺귯¸®ÀÇ À̸§ ³¡¿¡ `.0'À» Ãß°¡ÇÏ°í, PORTOBJFORMAT°¡ elf¿Í °°À¸¸é ±ä °øÀ¯ ¶óÀ̺귯¸® À̸§¿¡¼­ ºÎ ¹øÈ£¸¦ »®´Ï´Ù

ELF½Ã½ºÅÛ¿¡¼­ µÎ ¹öÀüÀÇ °øÀ¯ ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì³ª a.out ½Ã½ºÅÛ¿¡¼­ ÇÑ ¹öÀüÀ» ¼³Ä¡ÇØ¾ß ÇÏ´Â °æ¿ì¿¡´Â(¿¹¸¦ µé¸é, ´Ù¸¥ ¿î¿µÃ¼Á¦¸¦ À§ÇÑ È£È¯ ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÏ´Â Æ÷Æ®ÀÇ °æ¿ì) NO_FILTER_SHLIBS ȯ°æº¯¼ö¸¦ Á¤ÀÇÇϼ¼¿ä. ÀÌ°ÍÀº ÀÌÀü ¹®´Ü¿¡¼­ À̾߱âÇÏ¿´´ø PLISTÀÇ ÆíÁýÀ» ÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù

ldconfig

MakefileÀÇ ldconfig °¡ ÀÖ´Â ÇàÀº ´ÙÀ½°ú °°¾Æ¾ß ÇÕ´Ï´Ù:

${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....
±×¸®°í PLIST¿¡¼­´Â ´ÙÀ½°ú °°½À´Ï´Ù:
@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
ÀÌ°ÍÀº ½Ã½ºÅÛÀÇ ±âº» Æ÷¸ËÀÌ ¾Æ´Ï¶ó ÆÐÅ°ÁöÀÇ Æ÷¸Ë¿¡ µû¶ó ldconfig°¡ ¿Ã¹Ù¸£°Ô ºÒ·¯Áöµµ·Ï ÇØ ÁÝ´Ï´Ù.

4.7.4.3. ÆÐÅ°ÁöÀÇ ¿©·¯ ´Ù¸¥ ¹öÀüÀ» ¸¸µå´Â Æ÷Æ®

»ç¿ëÀÚ°¡ º¯¼ö¸¦ ÁöÁ¤ÇÏ¿© ¿©·¯°¡Áö ´Ù¸¥ ¹öÀüÀÇ ÆÐÅ°Áö¸¦ ¸¸µé ¼ö ÀÖµµ·Ï ÇÏ·Á¸é, LOOP_VAR¿Í LOOP_OPTIONS¸¦ »ç¿ëÇϼ¼¿ä. ÀüÀÚ´Â º¯¼öÀÇ À̸§À̸ç ÈÄÀÚ´Â ¾ò°íÀÚ ÇÏ´Â °ªÀÇ ¸ñ·ÏÀÔ´Ï´Ù. ¶ÇÇÑ ${LOOP_VAR}¸¦ PKGNAMEÀÇ ÀϺο¡ ³Ö¾î¼­ ÆÐÅ°Áö°¡ ½ÇÁ¦·Î ´Ù¸¥ À̸§À» °¡Áöµµ·Ï ÇÕ´Ï´Ù.

¶ÇÇÑ »ç¿ëÀÚ°¡ º¯¼öÀÇ °ªÀ» ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» ÁöÁ¤ÇÏ°í »ç¿ëÇÒ ¼ö ÀÖ´Â ¼±Åÿ¡ ´ëÇØ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ´ÙÀ½ ¿¹¸¦ º¸¼¼¿ä:

 :
PKGNAME=	ja-xdvi${RESOLUTION}-17
 :
LOOP_VAR=	RESOLUTION
LOOP_OPTIONS=	118 240 300 400
 :
.if !defined(RESOLUTION)
RESOLUTION=     300
RESOLUTION_UNSPECIFIED=	yes
.else
.if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \
	${RESOLUTION} != 300 && ${RESOLUTION} != 400
RESOLUTION_INVALID=	yes
.endif
.endif

pre-fetch:
.if defined(RESOLUTION_UNSPECIFIED)
	@echo "Building xdvi with ${RESOLUTION}dpi fonts."
	@echo "Set the environment variable RESOLUTION if you want"
	@echo "it to use other resolutions."
	@echo "Possible values are: 118, 240, 300 (default) and 400."
.elif defined(RESOLUTION_INVALID)
	@echo "Error: invalid value for RESOLUTION: \"${RESOLUTION}\"" 
	@echo "Possible values are: 118, 240, 300 (default) and 400." 
	@/usr/bin/false
.endif

bsd.port.mk´Â RESOLUTIONÀÇ °ªÀ» 118, 240, 300, 400À¸·Î ÁöÁ¤ÇÏ¿© 4°³ÀÇ ÆÐÅ°Áö¸¦ ¸¸µé±â À§ÇØ "make clean package" ·çÇÁ¸¦ 4¹ø ºÎ¸£°Ô Çϴ Ưº° Ÿ°Ù package-loopÀ» Á¤ÀÇÇÒ °ÍÀÔ´Ï´Ù.

I ¶ÇÇÑ, describe Ÿ°ÙÀÌ ${RESOLUTION}ÀÇ °¢ °ª¿¡ ´ëÇØ 4ÁÙÀ» Ç¥½ÃÇϵµ·Ï ÇÕ´Ï´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î ¸ðµç ÆÐÅ°Áö À̸§ÀÌ INDEX ÆÄÀÏ¿¡ µé¾î°¡¼­ ¼³Ä¡ ¸Þ´º¿¡¼­ º¼ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

4.7.4.4. °øÀ¯ ¶óÀ̺귯¸® ¹öÀü

¸ÕÀú, ÀϹÝÀûÀÎ °øÀ¯ ¶óÀ̺귯¸® ¹öÀü¿¡ ´ëÇØ ÀÌÇØÇϱâ À§ÇØ ¿ì¸®ÀÇ °øÀ¯ ¶óÀ̺귯¸® ¹öÀü ºÙÀÌ´Â ¹ý¿¡ ´ëÇÑ Á¤Ã¥ À» Àо¼¼¿ä. ¼ÒÇÁÆ®¿þ¾î ÀúÀÚµéÀÌ ÀÚ½ÅÀÌ Àß ÇÏ°í ÀÖ´Ù°í ¹«Á¶°Ç °¡Á¤ÇÏÁö ¸¶¼¼¿ä. ¸¹Àº »ç¶÷µéÀÌ ±×·¸Áö ¾Ê½À´Ï´Ù. ÀÌ·± ÀÚ¼¼ÇÑ ºÎºÐ±îÁö ÁÖÀDZí°Ô °í·ÁÇÏ´Â °ÍÀÌ ¾ÆÁÖ Áß¿äÇѵ¥, ¿ì¸®´Â ÀáÀçÀûÀ¸·Î ¼­·Î ȣȯµÇÁö ¾Ê´Â ¼ö¸¹Àº ¼ÒÇÁÆ®¿þ¾îµéÀÌ °øÁ¸Çϵµ·Ï ÇØ¾ß ÇÏ´Â ¾ÆÁÖ µ¶Æ¯ÇÑ »óȲ¿¡ óÇØ Àֱ⠶§¹®ÀÔ´Ï´Ù. ÁÖÀDZíÁö ¸øÇÑ Æ÷Æ® ÀÛ¼ºÀº ÀÌÀüÀÇ °øÀ¯ ¶óÀ̺귯¸®¿¡ ´ëÇÑ Å« ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ½À´Ï´Ù(¿Ö jpeg-6b Æ÷Æ®°¡ `9.0'À̶õ °øÀ¯ ¶óÀ̺귯¸® ¹øÈ£¸¦ °®´ÂÁö »ý°¢ÇØ º» ÀûÀº ÀÖ½À´Ï±î?). Àǽɽº·´´Ù¸é, FreeBSD Æ÷Æ® ¸ÞÀϸµ ¸®½ºÆ® <freebsd-ports@FreeBSD.ORG> ·Î ÆíÁö¸¦ º¸³»¼¼¿ä. ´ëºÎºÐÀÇ °æ¿ì ¿©·¯ºÐÀÌ ÇØ¾ß ÇÒ ÀÏÀº ¿Ã¹Ù¸¥ °øÀ¯ ¶óÀ̺귯¸® ¹öÀüÀ» °áÁ¤ÇÏ°í À̸¦ ±¸ÇöÇϱâ À§ÇØ ÀûÀýÇÑ ÆÐÄ¡¸¦ ¸¸µå´Â ÀÏÀÔ´Ï´Ù.

±×·¯³ª, Æ®¸®¿¡ °°Àº ¼ÒÇÁÆ®¿þ¾îÀÇ ¼­·Î ´Ù¸¥ ¹öÀüÀÌ ÀÖ´Ù¸é, »óȲÀº ´õ º¹ÀâÇØÁý´Ï´Ù. °£´ÜÈ÷ ¸»Çؼ­, FreeBSDÀÇ ±¸Çö ¹æ½ÄÀº »ç¿ëÀÚ°¡ ¸µÄ¿¿¡°Ô ¸µÅ©ÇÒ °øÀ¯ ¶óÀ̺귯¸®ÀÇ ¹öÀüÀ» ÁöÁ¤ÇÒ ¼ö ¾øµµ·Ï ÇÕ´Ï´Ù(¸µÄ¿´Â Ç×»ó °¡Àå ³ôÀº ¹øÈ£ÀÇ ¹öÀüÀ» ã½À´Ï´Ù). µû¶ó¼­ libfoo.so.3.2¿Í libfoo.so.4.0ÀÌ ÇÑ ½Ã½ºÅÛ ¾È¿¡ ÀÖ´Ù¸é, ƯÁ¤ ¾îÇø®ÄÉÀ̼ǿ¡°Ô ¸µÄ¿°¡ libfoo.so.3.2 ¸¦ ¸µÅ©Ç϶ó°í ¾Ë·ÁÁÙ ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. ÀÌ´Â ÄÄÆÄÀϽà ¸µÅ©¶ó´Â ¸»À» ¿ÏÀüÈ÷ ¹«»öÇÏ°Ô ÇÕ´Ï´Ù. ÀÌ °æ¿ì¿¡´Â À¯ÀÏÇÑ ÇØ°áÃ¥Àº °øÀ¯ ¶óÀ̺귯¸®ÀÇ `±â¹Ý' ºÎºÐÀÇ À̸§À» ¹Ù²Ù´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, libfoo.so.4.0À» libfoo4.so.1.0À¸·Î ¹Ù²Ù¾î¼­ ¹öÀü 3.2¿Í 4.0À» ¼­·Î ´Ù¸¥ Æ÷Æ®¿¡¼­ ¸µÅ©ÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.

4.7.4.5. ¸Å´º¾ó ÆäÀÌÁö

MAN[1-9LN]º¯¼ö´Â ÀÚµ¿ÀûÀ¸·Î ¾î¶² ¸Å´º¾ó ÆäÀÌÁöµµ pkg/PLIST¿¡ Ãß°¡µÇµµ·Ï ÇÕ´Ï´Ù(ÀÌ´Â ¿©·¯ºÐÀÌ PLIST¿¡ ¸Å´º¾ó ÆäÀÌÁö¸¦ ³ª¿­ÇÏ¸é ¾ÈµÈ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù -- PLIST ¸¸µé±â¸¦ Àо¼¼¿ä). ÀÌ´Â ¼³Ä¡ ´Ü°è¿¡¼­ /etc/make.confÀÇ NOMANCOMPRESSÀÇ ¼³Á¤¿¡ µû¶ó ÀÚµ¿ÀûÀ¸·Î ¸Å´º¾ó ÆäÀÌÁö¸¦ ¾ÐÃàÇϰųª ¾ÐÃàÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

¸Å´º¾ó ÆäÀÌÁö°¡ °æ¿ì¿¡ µû¶ó ¾ÐÃàµÇÁöÀÇ ¿©ºÎ¸¦ ÁöÁ¤Çϱâ À§Çؼ­´Â MANCOMPRESSED º¯¼ö¸¦ »ç¿ëÇϼ¼¿ä. ÀÌ º¯¼ö´Â ¼¼°¡Áö °ªÀ» °¡Áú ¼ö Àִµ¥, `yes', `no', `maybe'ÀÔ´Ï´Ù. `yes'´Â ¸Å´º¾ó ÆäÀÌÁö°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾ú´Ù´Â °ÍÀ» ÀǹÌÇÏ°í, `no'´Â ±×·¸Áö ¾ÊÀ½À», `maybe'´Â ¼ÒÇÁÆ®¿þ¾î°¡ ÀÌ¹Ì NOMANCOMPRESSÀÇ °ª¿¡ µû¶ó ó¸®Çß´Ù´Â °ÍÀ» ÀǹÌÇϹǷΠbsd.port.mk´Â º°µµ·Î Ưº°ÇÑ ÀÏÀ» ÇÏÁö ¾Ê½À´Ï´Ù.

USE_IMAKE°¡ ÁöÁ¤µÇ¾ú°í NO_INSTALL_MANPAGES°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò´Ù¸é MANCOMPRESSED´Â ÀÚµ¿ÀûÀ¸·Î `yes'°¡ µÇ¸ç, ±×·¸Áö ¾ÊÀº °æ¿ì `no'°¡ µË´Ï´Ù. ±âº»°ªÀÌ Æ÷Æ®¿¡ ¾Ë¸ÂÁö ¾ÊÀº ÇÑ, ÀϺη¯ Á¤ÀÇÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

PREFIX ÀÌ¿ÜÀÇ ´Ù¸¥ °÷¿¡ ¸Å´º¾ó Æ®¸®¸¦ ¼³Ä¡ÇÑ´Ù¸é, MANPREFIX¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ Perl ¸ðµâ Æ÷Ʈó·³ ¾î¶² ¼½¼ÇÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¸ ºñÇ¥ÁØ À§Ä¡¿¡ ¼³Ä¡ÇØ¾ß ÇÑ´Ù¸é, °¢°¢ÀÇ ¸Å´º¾ó °æ·Î¸¦ MANsectPREFIX(sectÀº 1-9, L ¶Ç´Â N ÁßÀÇ Çϳª)·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸Å´º¾ó ÆäÀÌÁö°¡ ƯÁ¤ ¾ð¾îÀÇ ºÎµð·ºÅ丮·Î °£´Ù¸é, ¾ð¾îÀÇ À̸§À» MANLANG·Î ÁöÁ¤Çϼ¼¿ä. ÀÌ º¯¼öÀÇ ±âº»°ªÀº ""(¿¹: ¿µ¾î¸¸)ÀÔ´Ï´Ù.

¾Õ¿¡¼­ ¼³¸íÇÑ ³»¿ëÀ¸·Î ¸ðµÎ Æ÷ÇÔÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.

MAN1=          foo.1
MAN3=          bar.3
MAN4=          baz.4
MANLANG=       "" ja
MAN3PREFIX=	${PREFIX}/share/foobar
MANCOMPRESSED= yes

À§ ³»¿ëÀº Æ÷Æ®°¡ ´ÙÀ½ÀÇ ¿©¼¸°³ÀÇ ÆÄÀÏÀ» ¼³Ä¡Çϵµ·Ï ÇÕ´Ï´Ù.

${PREFIX}/man/man1/foo.1.gz
${PREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/share/foobar/man/man3/bar.3.gz
${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
${PREFIX}/man/man4/baz.4.gz
${PREFIX}/man/ja/man4/baz.4.gz

4.7.4.6. Motif¸¦ ÇÊ¿ä·Î ÇÏ´Â Æ÷Æ®

ÄÄÆÄÀÏÇϱâ À§ÇØ Motif ¶óÀ̺귯¸®¸¦ ÇÊ¿ä·Î ÇÏ´Â ¸¹Àº ÇÁ·Î±×·¥ÀÌ ÀÖ½À´Ï´Ù(¿©·¯ ȸ»ç¿¡¼­ »ó¿ëÀ¸·Î ÆǸÅÇÏ°í ÀÖÀ¸¸ç, x11-toolkits/lesstif¿¡ ¸¹Àº ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù°í ¾Ë·ÁÁø °ø°³ º¹Á¦Ç°ÀÌ ÀÖ½À´Ï´Ù). ÀÌ°ÍÀº ÀαâÀÖ´Â ÅøŶÀÌ¸ç ±× ¶óÀ̼¾½º°¡ º¸Åë Á¤ÀûÀ¸·Î ¸µÅ©µÈ ¹ÙÀ̳ʸ®ÀÇ Àç¹èÆ÷¸¦ Çã¿ëÇϹǷÎ, µ¿ÀûÀ¸·Î³ª(Æ÷Æ®¿¡¼­ ÄÄÆÄÀÏÇÏ´Â »ç¶÷µéÀ» À§ÇØ) Á¤ÀûÀ¸·Î(ÆÐÅ°Áö¸¦ ¹èÆ÷ÇÏ´Â »ç¶÷µéÀ» À§ÇØ) ¸µÅ©µÈ ¹ÙÀ̳ʸ®¸¦ ½±°Ô ÄÄÆÄÀÏÇÒ ¼ö ÀÖµµ·Ï Motif¸¦ ÇÊ¿ä·Î ÇÏ´Â Æ÷Æ®¸¦ ´Ù·ç´Â Ưº°ÇÑ Áغñ¸¦ ÇÏ¿´½À´Ï´Ù.

REQUIRES_MOTIF

Æ÷Æ®°¡ Motif¸¦ ÇÊ¿ä·Î Çϸé, ÀÌ º¯¼ö¸¦ Makefile¿¡ ÁöÁ¤Çϼ¼¿ä. ÀÌ´Â Motif¸¦ °®°í ÀÖÁö ¾ÊÀº »ç¶÷µéÀÌ Æ÷Æ®¸¦ ÄÄÆÄÀÏÇÏÁöµµ ¸øÇÏ°Ô ÇÕ´Ï´Ù.

${MOTIFLIB}

ÀÌ º¯¼ö´Â bsd.port.mk¿¡¼­ ÁöÁ¤µÇ¸ç Motif ¶óÀ̺귯¸®ÀÇ Àû´çÇÑ À§Ä¡¸¦ °¡¸®Åµ´Ï´Ù. Motif ¶óÀ̺귯¸®°¡ MakefileÀ̳ª Imakefile¿¡¼­ ÂüÁ¶µÇ´Â °æ¿ì¿¡´Â ¾ðÁ¦³ª ÀÌ°ÍÀ» »ç¿ëÇϵµ·Ï ¼Ò½º¸¦ ÆÐÄ¡Çϼ¼¿ä.

µÎ°¡Áö °øÅëÀûÀÎ °æ¿ì°¡ ÀÖ½À´Ï´Ù:

  1. Æ÷Æ®°¡ MakefileÀ̳ª Imakefile¿¡¼­ Motif ¶óÀ̺귯¸®¸¦ `-lXm'·Î ÂüÁ¶ÇÑ´Ù¸é, ´Ü¼øÈ÷ ±×°ÍÀ» `${MOTIFLIB}'·Î ¹Ù²Ù¼¼¿ä.
  2. Æ÷Æ®°¡ Imakefile¿¡¼­ `XmClientLibs'À» »ç¿ëÇÑ´Ù¸é, `${MOTIFLIB} ${XTOOLLIB} ${XLIB}'·Î ¹Ù²Ù¼¼¿ä.

${MOTIFLIB}´Â (º¸Åë) `-L/usr/X11R6/lib -lXm'À̳ª `/usr/X11R6/lib/libXm.a'·Î È®ÀåµÈ´Ù´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä, µû¶ó¼­ ¾Õ¿¡ `-L' À̳ª `-l'À» ºÙÀÏ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

4.7.4.7. Info ÆÄÀÏ

texinfoÀÇ »õ ¹öÀü(2.2.2-RELEASE¿Í ±× ´ÙÀ½ ¸±¸®Áî¿¡ Æ÷ÇÔµÈ)Àº `dir' ÆÄÀÏ¿¡ ¸ñ·ÏÀ» Ãß°¡ÇÏ°í »èÁ¦ÇÒ ¼ö ÀÖ´Â `install-info'¶ó´Â À¯Æ¿¸®Æ¼¸¦ Æ÷ÇÔÇÕ´Ï´Ù. Æ÷Æ®°¡ info ¹®¼­¸¦ ¼³Ä¡ÇÑ´Ù¸é, ´ÙÀ½ ¼ø¼­¿¡ µû¶ó Æ÷Æ®/ÆÐÅ°Áö°¡ »ç¿ëÀÚÀÇ ${PREFIX}/info/dir ÆÄÀÏÀ» ¿Ã¹Ù¸£°Ô °»½ÅÇÒ ¼ö ÀÖµµ·Ï Çϼ¼¿ä. (ÀÌ ¼½¼ÇÀÌ ±æ¾î¼­ Á˼ÛÇÕ´Ï´Ù¸¸, ¸ðµç info ÆÄÀÏÀ» °°ÀÌ ¸ÂÃß±â À§Çؼ­´Â ÇʼöÀûÀÔ´Ï´Ù. ¿Ã¹Ù¸£°Ô µÈ´Ù¸é, ¾Æ¸§´Ù¿î ¸ñ·ÏÀ» »ý¼ºÇÒ ¼ö ÀÖÀ¸¹Ç·Î, Âü¾Æ ÁÖ¼¼¿ä! :)

¸ÕÀú, ÀÌ°ÍÀº ¿©·¯ºÐÀÌ(Æ÷Åͷμ­) ¾Ë¾Æ¾ß ÇÒ °ÍÀÔ´Ï´Ù:

% install-info --help
install-info [OPTION]... [INFO-FILE [DIR-FILE]]
  Install INFO-FILE in the Info directory file DIR-FILE.
  INFO-FILEÀ» Info µð·ºÅ丮 ÆÄÀÏ DIR-FILE¿¡ ¼³Ä¡ÇÑ´Ù.

Options:
--delete          Delete existing entries in INFO-FILE;
                  INFO-FILEÀÇ ±âÁ¸ÀÇ ¿£Æ®¸®¸¦ »èÁ¦ÇÑ´Ù;
                    don't insert any new entries.
                    »õ ¿£Æ®¸®¸¦ Ãß°¡ÇÏÁö ¾Ê´Â´Ù.
 :
--entry=TEXT      Insert TEXT as an Info directory entry.
                  TEXT¸¦ Info µð·ºÅ丮 ¿£Æ®¸®¿¡ Ãß°¡ÇÑ´Ù.
 :
--section=SEC     Put this file's entries in section SEC of the directory.
                  ÀÌ ÆÄÀÏÀÇ ¿£Æ®¸®¸¦ µð·ºÅ丮ÀÇ ¼½¼Ç SEC¿¡ ³Ö´Â´Ù.
 :

ÀÌ ÇÁ·Î±×·¥Àº ½ÇÁ¦·Î info ÆÄÀÏÀ» ¼³Ä¡ ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù; ´ÜÁö dir ÆÄÀÏÀÇ ¸ñ·ÏÀ» Ãß°¡Çϰųª »èÁ¦ÇÕ´Ï´Ù.

´ÙÀ½Àº Æ÷Æ®°¡ install-info¸¦ »ç¿ëÇϵµ·Ï º¯È¯ÇÏ´Â ÀÏ°ö´Ü°èÀÇ °úÁ¤ÀÔ´Ï´Ù. Àú´Â ¿¹·Î editors/emacs¸¦ »ç¿ëÇÏ°Ú½À´Ï´Ù.

  1. texinfo ¼Ò½º¸¦ º¸°í @dircategory ¿Í @direntry°¡ ¾ø´Â ÆÄÀÏ¿¡ ±× ¹®ÀåÀ» »ðÀÔÇÏ´Â ÆÐÄ¡¸¦ ¸¸µì´Ï´Ù. ´ÙÀ½Àº Á¦ ÆÐÄ¡ÀÇ ÀϺÎÀÔ´Ï´Ù:
    --- ./man/vip.texi.org	Fri Jun 16 15:31:11 1995
    +++ ./man/vip.texi	Tue May 20 01:28:33 1997
    @@ -2,6 +2,10 @@
     
     @setfilename ../info/vip
     @settitle VIP
    +@dircategory The Emacs editor and associated tools
    +@direntry
    +* VIP: (vip).		A VI-emulation for Emacs.
    +@end direntry
     
     @iftex
     @finalout
     :
    

    Çü½ÄÀº ±× ÀÚü·Î ¾Ë¾Æº¸±â ½¬¿ö¾ß ÇÕ´Ï´Ù. ¸¹Àº ÀúÀÚµéÀº ¼Ò½º Æ®¸®¿¡ ÇÊ¿äÇÑ ¸ðµç ¿£Æ®¸®¸¦ Æ÷ÇÔÇÏ´Â dir ÆÄÀÏÀ» ¼Ò½º Æ®¸®¿¡ ³²°ÜµÎ¹Ç·Î, »õ·Î ¾²±â Àü¿¡ Çѹø »ìÆ캸¼¼¿ä. ¶ÇÇÑ °ü·ÃµÈ Æ÷Æ®¸¦ »ìÆ캸¾Æ ¼½¼Ç À̸§°ú ¿£Æ®¸® µé¿©¾²±â°¡ ÀÏ°ü¼º ÀÖ´ÂÁö È®ÀÎÇϼ¼¿ä(¿ì¸®´Â ¸ðµç ¿£Æ®¸® ÅؽºÆ®°¡ 4¹ø° ÅÇ ÁöÁ¡¿¡¼­ ½ÃÀÛÇÏ´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù).

    @direntry ¼½¼Ç¿¡ ¿©·¯°³ÀÇ ¿£Æ®¸®¸¦ ÁöÁ¤Çϸé ù¹ø° ¿£Æ®¸®¸¸ Áö¿ì´Â `install-info --delete'ÀÇ ¹ö±× ¶§¹®¿¡ ÆÄÀÏ´ç ÇϳªÀÇ info ¿£Æ®¸®¸¦ ³ÖÀ» ¼ö ÀÖ´Ù´Â »ç½Ç¿¡ ÁÖÀÇÇϼ¼¿ä.

    texinfo ¼Ò½º¸¦ ÆÐÄ¡ÇÏ´Â ´ë½Å dir ¿£Æ®¸®¸¦ install-infoÀÇ Àμö·Î (--section ¿Í --entry) ÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº Æ÷Æ®¿¡¼­´Â ÁÁÀº »ý°¢ÀÌ ¾Æ´Ï¶ó°í º¸´Âµ¥, °°Àº Á¤º¸¸¦ ¼¼ ±ºµ¥¿¡¼­ Áߺ¹ÇÏ¿©¾ß ÇÒ ÇÊ¿ä°¡ Àֱ⠶§¹®ÀÔ´Ï´Ù (Makefile ¿Í PLISTÀÇ @exec/@unexec; ¾Æ·¡¸¦ º¸¼¼¿ä). ±×·¯³ª, ¿©·¯ºÐÀÌ ÀϺ»¾î(¶Ç´Â ´Ù¸¥ ¸ÖƼ¹ÙÀÌÆ® ÀÎÄÚµù) info ÆÄÀÏÀ» °®°í ÀÖ´Ù¸é makeinfo °¡ ÀÌ·± texinfo ¼Ò½º¸¦ ´Ù·ê ¼ö ¾ø±â ¶§¹®¿¡ install-info¿¡ º°µµÀÇ Àμö¸¦ ÁÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. (japanese/skkÀÇ Makefile °ú PLIST´Â À̸¦ ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ ¿¹ÀÔ´Ï´Ù).

  2. Æ÷Æ® µð·ºÅ丮·Î µ¹¾Æ°¡¼­ `make clean; make'¸¦ ½ÇÇàÇÏ¿© info ÆÄÀÏÀÌ texinfo ¼Ò½º¿¡¼­ ´Ù½Ã ¸¸µé¾îÁö´ÂÁö °Ë»çÇϼ¼¿ä. texinfo ¼Ò½º´Â info ÆÄÀϺ¸´Ù »õ·Î¿î °ÍÀ̹ǷÎ, make¸¦ ÀÔ·ÂÇÏ¸é ´Ù½Ã ¸¸µé¾îÁ®¾ß ÇÕ´Ï´Ù. ±×·¯³ª ¸¹Àº MakefileÀº info ÆÄÀÏÀÇ ¿Ã¹Ù¸¥ ÀÇÁ¸¼ºÀ» Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù. emacsÀÇ °æ¿ì¿¡´Â ÁÖ Makefile.inÀ» ÆÐÄ¡Çؼ­ info ÆäÀÌÁö¸¦ ´Ù½Ã ¸¸µé±â À§ÇØ man ºÎµð·ºÅ丮·Î ³»·Á°¡µµ·Ï ÇØ¾ß Çß½À´Ï´Ù.
    --- ./Makefile.in.org	Mon Aug 19 21:12:19 1996
    +++ ./Makefile.in	Tue Apr 15 00:15:28 1997
    @@ -184,7 +184,7 @@
     # Subdirectories to make recursively.  `lisp' is not included
     # because the compiled lisp files are part of the distribution
     # and you cannot remake them without installing Emacs first.
    -SUBDIR = lib-src src
    +SUBDIR = lib-src src man
     
     # The makefiles of the directories in $SUBDIR.
     SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile
    --- ./man/Makefile.in.org	Thu Jun 27 15:27:19 1996
    +++ ./man/Makefile.in	Tue Apr 15 00:29:52 1997
    @@ -66,6 +66,7 @@
     	${srcdir}/gnu1.texi \
     	${srcdir}/glossary.texi
     
    +all: info
     info: $(INFO_TARGETS)
     
     dvi: $(DVI_TARGETS)
    

    ÆÐÄ¡ÀÇ µÎ¹ø° ºÎºÐÀº man ºÎµð·ºÅ丮ÀÇ ±âº» Ÿ°ÙÀÌ info ¸¦ ºÎ¸£°Ô ÇØ¾ß ÇÏÁö¸¸ ÁÖ MakefileÀº allÀ» ºÎ¸£±â ¶§¹®¿¡ ÇÊ¿äÇÕ´Ï´Ù. ¶ÇÇÑ info info ÆÄÀÏÀÇ ¼³Ä¡¸¦ »èÁ¦ÇÏ¿´´Âµ¥, /usr/share/info¿¡ °°Àº À̸§ÀÇ ÆÄÀÏÀ» ÀÌ¹Ì °®°í Àֱ⠶§¹®ÀÔ´Ï´Ù(±×¿¡ ´ëÇÑ ÆÐÄ¡´Â ¿©±â ³ªÅ¸³»Áö ¾Ê¾Ò½À´Ï´Ù).

  3. Makefile ÀÌ dir ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â °÷ÀÌ ÀÖ´Ù¸é, »èÁ¦Çϼ¼¿ä. Æ÷Æ®´Â ±×·¸°Ô ÇÏÁö ¸»¾Æ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ dir ÆÄÀÏÀ» ¸ÁÄ¡°Ô ÇÏ´Â ¸ðµç ¸í·ÉÀ» Áö¿ì¼¼¿ä.
    --- ./Makefile.in.org	Mon Aug 19 21:12:19 1996
    +++ ./Makefile.in	Mon Apr 14 23:38:07 1997
    @@ -368,14 +368,8 @@
     	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
     	then \
     	  (cd ${infodir};  \
    -	   if [ -f dir ]; then \
    -	     if [ ! -f dir.old ]; then mv -f dir dir.old; \
    -	     else mv -f dir dir.bak; fi; \
    -	   fi; \
     	   cd ${srcdir}/info ; \
    -	   (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \
    -	   (cd $${thisdir}; chmod a+r ${infodir}/dir); \
     	   for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* sc* vip*; do \
     	     (cd $${thisdir}; \
     	      ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
     	      chmod a+r ${infodir}/$$f); \
    
  4. (ÀÌ ´Ü°è´Â ±âÁ¸ Æ÷Æ®¸¦ º¯°æÇÏ´Â °æ¿ì¿¡¸¸ ÇÊ¿äÇÕ´Ï´Ù.) pkg/PLIST¸¦ »ìÆ캸°í info/dir¸¦ ÆÐÄ¡ÇÏ·Á ÇÏ´Â ¸ðµç °ÍÀ» Áö¿ì¼¼¿ä. ÀÌ·± µ¿ÀÛÀº pkg/INSTALL³ª ´Ù¸¥ ÆÄÀÏ¿¡ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î, Àß Ã£¾Æº¸¾Æ¾ß ÇÕ´Ï´Ù.
    Index: pkg/PLIST
    ===================================================================
    RCS file: /usr/cvs/ports/editors/emacs/pkg/PLIST,v
    retrieving revision 1.15
    diff -u -r1.15 PLIST
    --- PLIST	1997/03/04 08:04:00	1.15
    +++ PLIST	1997/04/15 06:32:12
    @@ -15,9 +15,6 @@
     man/man1/emacs.1.gz
     man/man1/etags.1.gz
     man/man1/ctags.1.gz
    -@unexec cp %D/info/dir %D/info/dir.bak
    -info/dir
    -@unexec cp %D/info/dir.bak %D/info/dir
     info/cl
     info/cl-1
     info/cl-2
    
  5. post-install Ÿ°ÙÀ» Makefile¿¡ Ãß°¡ÇÏ¿© dir ÆÄÀÏÀÌ ¾ø´Â °æ¿ì ¸¸µéµµ·Ï ÇսôÙ. ¶ÇÇÑ ¼³Ä¡µÈ info ÆÄÀÏ¿¡ ´ëÇØ install-info¸¦ ºÎ¸¨´Ï´Ù.
    Index: Makefile
    ===================================================================
    RCS file: /usr/cvs/ports/editors/emacs/Makefile,v
    retrieving revision 1.26
    diff -u -r1.26 Makefile
    --- Makefile	1996/11/19 13:14:40	1.26
    +++ Makefile	1997/05/20 10:25:09	1.28
    @@ -20,5 +20,11 @@
     post-install:
     .for file in emacs-19.34 emacsclient etags ctags b2m
     	strip ${PREFIX}/bin/${file}
     .endfor
    +	if [ ! -f ${PREFIX}/info/dir ]; then \
    +	  ${SED} -ne '1,/Menu:/p' /usr/share/info/dir > ${PREFIX}/info/dir; \
    +	fi
    +.for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode
    +	install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir
    +.endfor
     
     .include <bsd.port.mk>
    

    »õ info ÆÄÀÏÀ» ¸¸µé±â À§ÇØ /usr/share/info/dir°ú À§ ¸í·É ÀÌ¿Ü¿¡ ´Ù¸¥ °ÍÀº Àý´ë »ç¿ëÇÏÁö ¸¶¼¼¿ä. »ç½Ç, ¿©·¯ºÐ(Æ÷ÅÍ)°¡ PLIST¿¡¼­ ½º½º·Î ÇØ¾ß ÇÏÁö ¾ÊÀ» °ÍÀ̶ó¸é Á¦°¡ bsd.port.mk¿¡ Ãß°¡ÇßÀ» °ÍÀÔ´Ï´Ù.

  6. PLIST ¸¦ ÆíÁýÇÏ¿© µ¿ÀÏÇÑ @exec ¹®°ú pkg_delete¸¦ À§ÇØ @unexec ¹®À» Ãß°¡Çϼ¼¿ä. info/dir¸¦ @unexec·Î Áö¿ï ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
    Index: pkg/PLIST
    ===================================================================
    RCS file: /usr/cvs/ports/editors/emacs/pkg/PLIST,v
    retrieving revision 1.15
    diff -u -r1.15 PLIST
    --- PLIST	1997/03/04 08:04:00	1.15
    +++ PLIST	1997/05/20 10:25:12	1.17
    @@ -16,7 +14,15 @@
     man/man1/etags.1.gz
     man/man1/ctags.1.gz
    +@unexec install-info --delete %D/info/emacs %D/info/dir
     :
    +@unexec install-info --delete %D/info/ccmode %D/info/dir
     info/cl
     info/cl-1
    @@ -87,6 +94,18 @@
     info/viper-3
     info/viper-4
    +@exec [ -f %D/info/dir ] || sed -ne '1,/Menu:/p' /usr/share/info/dir > %D/info/dir
    +@exec install-info %D/info/emacs %D/info/dir
     :
    +@exec install-info %D/info/ccmode %D/info/dir
     libexec/emacs/19.34/i386--freebsd/cvtmail
     libexec/emacs/19.34/i386--freebsd/digest-doc
    

    `@unexec install-info --delete' ¸í·ÉÀº info ÆÄÀÏ ÀÚüº¸´Ù ¸ÕÀú ³ª¿­µÇ¾î¼­ ÀÌ ¸í·ÉÀÌ ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ `@exec install-info' ¸í·ÉÀº info ÆÄÀÏ°ú dir ÆÄÀÏÀ» ¸¸µå´Â @exec ¸í·É µÚ¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

  7. ¿©·¯ºÐÀÇ ÀÛ¾÷ °á°ú¸¦ ½ÃÇèÇÏ°í °¨ÅºÇØ º¾½Ã´Ù. :) °¢ ´Ü°èÀÇ ¾ÕµÚ¿¡¼­ dir ÆÄÀÏÀ» °Ë»çÇϼ¼¿ä.


FreeBSD ÇÚµåºÏ : ¾îÇø®ÄÉÀÌ¼Ç ¼³Ä¡Çϱâ: Æ÷Æ® ÄÝ·º¼Ç : Á÷Á¢ Æ÷Æ® ¸¸µé±â : Ưº°È÷ »ý°¢ÇØ¾ß ÇÒ °Íµé
Previous: Makefile ¼³Á¤Çϱâ
Next: pkg ºÎµð·ºÅ丮