µÚ7Õ ¡¡¸ß¼¶ pkg-plist Ó÷¨

Ŀ¼
7.1 ¸ù¾Ý make ±äÁ¿¶Ô pkg-plist ½øÐÐÐÞ¸Ä
7.2 ¿ÕĿ¼
7.3 ÅäÖÃÎļþ
7.4 ¶¯Ì¬×°Ïäµ¥Ó뾲̬װÏäµ¥µÄ¶Ô±È
7.5 ×°Ïäµ¥ (package list) µÄ×Ô¶¯»¯ÖÆ×÷

7.1 ¸ù¾Ý make ±äÁ¿¶Ô pkg-plist ½øÐÐÐÞ¸Ä

¡¡¡¡Ä³Ð© port£¬ ÌØ±ðÊÇ p5- port£¬ »áÐèÒª¸ù¾ÝÅäÖÃÑ¡Ïî (»ò¶ÔÓÚ p5- port ¶øÑÔ£¬ perl µÄ°æ±¾) À´ÐÞ¸ÄËüÃÇµÄ pkg-plist¡£ Ϊ¼ò»¯ÕâÒ»¹¤×÷£¬ ÔÚ pkg-plist ÖÐµÄ %%OSREL%%¡¢ %%PERL_VER%%£¬ ÒÔ¼° %%PERL_VERSION%% ½«×Ô¶¯½øÐÐÏàÓ¦µÄÌæ»»¡£ ÆäÖУ¬ %%OSREL%% µÄÖµÊDzÙ×÷ϵͳÒÔÊýÖµ±íʾµÄ°æ±¾ (ÀýÈç 4.9)¡£ %%PERL_VERSION%% ºÍ %%PERL_VER%% ÊÇ perl µÄÍêÕû°æ±¾ºÅ (ÀýÈç 5.8.9)¡£Ðí¶àÆäËüÓë port ÎĵµÎļþÓÐ¹ØµÄ %%±äÁ¿%% ÔÚ ÏàÓ¦ÕÂ½Ú ÖнøÐÐÁ˽éÉÜ¡£

¡¡¡¡Èç¹ûÄú»¹ÐèÒª½øÐÐÆäËüµÄÌæ»»£¬ ¿ÉÒÔͨ¹ý½« PLIST_SUB ±äÁ¿ÉèÖÃΪһ×é ±äÁ¿=Öµ ¶ÔÀ´ÊµÏÖ¡£ ÆäÖУ¬ %%VAR%% ±íʾÔÚ pkg-plist Öн«±» Öµ Ìæ»»µÄÄÇЩÎÄ×Ö¡£

¡¡¡¡¾ÙÀýÀ´Ëµ£¬ Èç¹û port ÐèÒª°ÑºÜ¶àÎļþ·Åµ½ºÍ°æ±¾ÓйصÄĿ¼ÖУ¬ ¿ÉÒÔÔÚ Makefile Öа´ÕÕÀàËÆÏÂÃæµÄÀý×Ó£º

OCTAVE_VERSION= 2.0.13
PLIST_SUB=      OCTAVE_VERSION=${OCTAVE_VERSION}

¡¡¡¡²¢ÔÚ pkg-plist Öн«¾ßÌåµÄ°æ±¾Ì滻Ϊ %%OCTAVE_VERSION%%¡£ ÕâÑù£¬ ÔÚÉý¼¶ port ʱ£¬ ¾Í²»ÐèÒªÔÙµ½ pkg-plist ÖÐÐÞ¸ÄÄǼ¸Ê® (»òÕߣ¬ ÓÐʱÉõÖÁÊÇÉϰÙ) ÐеÄÄÚÈÝÁË¡£

¡¡¡¡Èç¹ûÄúµÄ port ÐèÒª¸ù¾ÝÒ»¶¨µÄÅäÖÃÀ´ÓÐÌõ¼þµØ°²×°Ò»Ð©Îļþ£¬ ͨ³£µÄ×ö·¨ÊÇÔÚ pkg-plist ÖÐÁгöÕâЩÎļþʱ£¬ ÔÚ¶ÔÓ¦ÐеĿªÍ·¼ÓÉÏ %%TAG%%£¬ ²¢½« TAG дµ½ Makefile ÖÐµÄ PLIST_SUB ±äÁ¿ÖУ¬ ¸ù¾ÝÐèÒªÌæ»»µô£¬ »òÌæ»»Îª @comment£¬ ºóÕß±íʾÈôò°ü¹¤¾ßºöÂÔÕâÐУº

.if defined(WITH_X11)
PLIST_SUB+=     X11=""
.else
PLIST_SUB+=     X11="@comment "
.endif

¡¡¡¡ÓëÖ®¶ÔÓ¦£¬ ÔÚ pkg-plist ÖУº

%%X11%%bin/foo-gui

¡¡¡¡ÕâÒ»Ìæ»»¹ý³Ì (ÒÔ¼°¼ÓÈë Áª»úÊÖ²á µÄ¹ý³Ì)£¬ »áÔÚ pre-install ºÍ do-install Á½¸ö target Ö®¼ä£¬ ͨ¹ý¶ÁÈ¡ PLIST ²¢Ð´Èë TMPPLIST (ĬÈÏÇé¿öÏ£¬ ÊÇ£º WRKDIR/.PLIST.mktmp) À´Íê³É¡£ Òò´Ë£¬ Èç¹ûÄúµÄ port ¶¯Ì¬Éú³É PLIST£¬ ¾ÍÐèÒªÔÚ pre-install ֮ǰÍê³É¡£ ÁíÍ⣬ Èç¹ûÄúµÄ port ÐèÒª±à¼­ËùÉú³ÉµÄÎļþ£¬ ÔòÐèÒªÔÚ post-install ÖвÙ×÷ÃûΪ TMPPLIST µÄÄǸöÎļþ¡£

¡¡¡¡ÁíÒ»ÖÖ¿ÉÐеÄÐÞ¸Ä×°Ïäµ¥µÄ·½·¨£¬ ÔòÊǸù¾Ý PLIST_FILES ºÍ PLIST_DIRS ÕâÁ½¸ö±äÁ¿µÄÉèÖÃÀ´½øÐС£ ËüÃǵÄÖµ»á×÷ΪĿ¼ÃûÁ¬Í¬ PLIST µÄÄÚÈÝÒ»ÆðдÈë TMPPLIST¡£ ÔÚ PLIST_FILES ºÍ PLIST_DIRS ÖÐÁгöµÄÃû×Ö£¬ »á¾­ÀúÇ°ÃæËù½éÉÜµÄ %%±äÁ¿%% Ìæ»»¹ý³Ì¡£ ³ý´ËÖ®Í⣬ ÔÚ PLIST_FILES ÖÐÁгöµÄÎļþ£¬ »á²»¼ÓÈκÎÐ޸ĵڳöÏÖÔÚ×îÖÕµÄ×°Ïäµ¥ÖУ¬ ¶ø @dirrm ½«×÷Ϊǰ׺¼Óµ½ PLIST_DIRS ËùÁеÄÃû×Ö֮ǰ¡£ ΪÁ˴ﵽĿµÄ£¬ PLIST_FILES ºÍ PLIST_DIRS ±ØÐëÔÚд TMPPLIST ֮ǰ£¬ Ò²¾ÍÊÇÔÚ pre-install »ò¸üÔçµÄ½×¶Î½øÐÐÉèÖá£

ÈôÄúÓйØÓÚ FreeBSD ports ϵͳµÄÎÊÌ⣬ Çë·¢Ë͵ç×ÓÓʼþÖÁ <ports@FreeBSD.org>¡£
¹ØÓÚ´ËÎĵµµÄÈκÎÎÊÌ⣬ ÇëÖº¯ <doc@FreeBSD.org>¡£