µÚ10Õ ¡¡Éý¼¶Ò»¸ö port

Ŀ¼
10.1 ʹÓà CVS ÖÆ×÷²¹¶¡
10.2 UPDATING ºÍ MOVED Îļþ

¡¡¡¡Èç¹ûÄú·¢ÏÖij¸ö port Ïà¶ÔÔ­×÷ÕßËù·¢²¼µÄ°æ±¾ÒѾ­¹ýʱ£¬ ÔòÊ×ÏÈÐèҪȷÈϵÄÊÇÄúµÄ port ÊÇ×îеġ£ Äú¿ÉÒÔÔÚ FreeBSD FTP ¾µÏñµÄ ports/ports-current Ŀ¼ÖÐÕÒµ½ËüÃÇ¡£ µ«ÊÇ£¬ Èç¹ûÄúÕýÔÚʹÓý϶àµÄ port£¬ Ôò¿ÉÄÜʹÓà CVSup À´±£³Ö Ports Collection ×îиüΪ¼òµ¥£¬ ÕâÔÚ Ê¹ÓÃÊÖ²á ÖнøÐÐÁ˽éÉÜ¡£ ´ËÍ⣬ ÕâÑù×öÒ²ÓÐÖúÓÚ±£³Ö port ÒÀÀµ¹ØÏµµÄÕýÈ·ÐÔ¡£

¡¡¡¡ÏÂÒ»²½ÊǼì²éÊÇ·ñÒѾ­ÓÐÔڵȴýµÄ¸üС£ ÒªÍê³ÉÕâÏ×÷£¬ ¿ÉÒÔ²ÉÓÃÏÂÁÐÁ½ÖÖ·½·¨Ö®Ò»¡£ ÓÐÒ»¸öÓÃÓÚËÑË÷ FreeBSD ÎÊÌⱨ¸æ (PR) Êý¾Ý¿â (Ò²±»³Æ×÷ GNATS)¡£ ÔÚÏÂÀ­¿òÖÐÑ¡Ôñ ports£¬ È»ºóÊäÈë port µÄÃû×Ö¡£

¡¡¡¡µ«ÊÇ£¬ ÓÐЩʱºòÈËÃÇ»áÍü¼Ç½«±ÜÃâ»ìÏýµÄ port µÄÃû×ַŵ½ Synopsis ×Ö¶ÎÖС£ ÕâÖÖʱºò£¬ Äú¿ÉÒÔÊÔÊÔ¿´ FreeBSD Ports ¼àÊÓϵͳ (Ò²±»½Ð×ö portsmon)¡£ Õâ¸öϵͳ»á³¢ÊÔ°´ÕÕ port µÄÃû×ÖÀ´½øÐзÖÀà¡£ ÒªËÑË÷ºÍij¸öÌØ¶¨ port ÓÐ¹ØµÄ PR£¬ ¿ÉÒÔʹÓà port¸ÅÀÀ¡£

¡¡¡¡Èç¹ûûÓкòÉóµÄ PR£¬ ÏÂÒ»²½ÊǸø port µÄά»¤ÕßдÐÅ£¬ Õâ¿ÉÒÔͨ¹ýÖ´ÐÐ make maintainer ¿´µ½¡£ Õâ¸öÈË¿ÉÄÜÕýÔÚ½øÐÐÉý¼¶¹¤×÷£¬ »òÕßÓÉÓÚijÖÖÀíÓÉÔÝʱûÓÐÉý¼¶ (ÀýÈ磬 а汾ÓÐÎȶ¨ÐÔÎÊÌâ)£» Ò»°ãÄú²»Ï£ÍûÖØ¸´ËûÃǵŤ×÷¡£ ×¢ÒâûÓÐά»¤ÕßµÄ port µÄά»¤Õß»áÏÔʾΪ ports@FreeBSD.org£¬ ÕâÊÇÒ»°ãÐÔ port ÎÊÌâµÄÓʼþÁÐ±í£¬ Òò´Ë·¢Óʼþ¸øËüÒ»°ãûʲôÒâÒå¡£

¡¡¡¡Èç¹ûά»¤ÕßÒªÇóÄúÈ¥Íê³ÉÉý¼¶£¬ »òÕßûÓÐά»¤Õߣ¬ Äú¾ÍÓлú»áͨ¹ý×ÔÐÐÍê³ÉÉý¼¶À´°ïÖú FreeBSD ÁË£¡ ÇëʹÓûù±¾ÏµÍ³ÌṩµÄ diff(1) ÃüÁîÀ´Íê³ÉÏà¹ØµÄ¹¤×÷¡£

¡¡¡¡Èç¹ûÖ»ÐÞ¸ÄÒ»¸öÎļþ£¬ ¿ÉÒÔÖ±½ÓʹÓà diff À´Éú³É²¹¶¡£¬ ½«ÐèÒªÐ޸ĵÄÎļþ¸´ÖÆ³É something.orig£¬ ²¢½«¸Ä¶¯·Å½ø something£¬ ½Ó×ÅÉú³É²¹¶¡£º

% /usr/bin/diff something.orig something > something.diff

¡¡¡¡Èç¹û²»ÊÇÕâÑùµÄ»°£¬ ÔòÄúӦʹÓà cvs diff µÄ·½·¨ (µÚ 10.1 ½Ú)£¬ »ò½«Ä¿Â¼Õû¸ö¸´ÖƵ½ÁíÒ»¸öĿ¼£¬ ²¢Ê¹Óà diff(1) ±È½ÏÁ½¸öĿ¼ʱÔÚĿ¼Öеݹé²úÉúµÄÊä³ö½á¹û (ÀýÈ磬 Èç¹ûÄúÐ޸ĺóµÄ port Ŀ¼µÄÃû×ÖÊÇ superedit ¶øÔ­Ê¼ÎļþµÄĿ¼ÊÇ superedit.bak£¬ ÔòÓ¦±£´æ diff -ruN superedit.bak superedit µÄ½á¹û)¡£ Ò»ÖÂʽ (unified) »ò ÉÏÏÂÎÄʽ (context) diff ¶¼ÊÇ¿ÉÒԵģ¬ µ«Ò»°ãÀ´Ëµ port committer »á¸üϲ»¶Ò»ÖÂʽ diff¡£ Çë×¢ÒâÕâÀïʹÓõÄÑ¡Ïî -N£¬ ËüµÄÄ¿µÄÊÇÇ¿ÖÆ diff ÕýÈ·µØ´¦Àí³öÏÖÐÂÎļþ£¬ »òÀÏÎļþ±»É¾³ýµÄÇéÐΡ£ ÔÚ°Ñ diff ·¢¸øÎÒÃÇ֮ǰ£¬ ÇëÔٴμì²éÊä³ö£¬ ÒÔ±ãÈ·ÈÏÿһ¸öÐ޸ͼÊÇÓÐÒâÒåµÄ¡£ (ÌØ±ð×¢Ò⣬ ÔÚ¶Ô±ÈĿ¼֮ǰҪÓà make clean ÇåÀíÒ»ÏÂ)¡£

¡¡¡¡ÎªÁ˼ò»¯³£ÓõIJ¹¶¡Îļþ²Ù×÷£¬ Äú¿ÉÒÔʹÓà /usr/ports/Tools/scripts/patchtool.py¡£ ʹÓÃ֮ǰ£¬ ÇëÊ×ÏÈÔĶÁ /usr/ports/Tools/scripts/README.patchtool¡£

¡¡¡¡Èç¹û port Ŀǰ»¹ÎÞÈËά»¤£¬ ¶øÇÒÄú×Ô¼º¾­³£Ê¹ÓÃËü£¬ Ç뿼ÂÇ×Ô¼öΪËüµÄά»¤Õß¡£ FreeBSD Óг¬¹ý 4000 ¸öûÓÐά»¤ÕßµÄ port£¬ ¶øÕâÕýÊÇ×îÐèÒªÖ¾Ô¸ÈËÔ±µÄÁìÓò¡£ (ÒªÁË½â¹ØÓÚά»¤ÕßµÄÈÎÎñÃèÊö£¬ Çë²Î¼û ¿ª·¢ÊÖ²áÖеÄÏà¹Ø²¿·Ö¡£)

¡¡¡¡½« diff ·¢Ë͸øÎÒÃǵÄ×î¼Ñ·½Ê½ÊÇͨ¹ý send-pr(1) (category Ò»À¸Ð´ ports)¡£ Èç¹ûÄúÕýά»¤ÄǸö port£¬ ÇëÎñ±ØÔÚ synopsis µÄ¿ªÍ·Ð´ÉÏ [maintainer update]£¬ ²¢½«ÄúµÄ PR µÄ ¡°Class¡± ÉèÖÃΪ maintainer-update¡£ ·´Ö®£¬ ÄúµÄ PR µÄ ¡°Class¡± ¾ÍÓ¦¸ÃÊÇ change-request¡£ ÇëÔÚÐÅÖÐÖð¸öÌἰÿһ¸öɾ³ý»òÔö¼ÓµÄÎļþ£¬ ÒòΪÕâЩ¶¼±ØÐëÃ÷È·µØÔÚʹÓà cvs(1) ½øÐÐ commit ʱÃ÷È·µØÖ¸¶¨¡£ Èç¹û diff ³¬¹ýÁË 20K£¬ Ç뿼ÂÇѹËõ²¢¶ÔÆä½øÐÐ uuencode£» ·ñÔò£¬ ¼òµ¥µØ½«ÆäÔ­Ñù¼ÓÈë PR ¼´¿É¡£

¡¡¡¡ÔÚÄú send-pr(1) ֮ǰ£¬ ÇëÔÙ´ÎÔĶÁ Problem Reports Ò»ÎÄÖÐµÄ ÈçºÎ׫дÎÊÌⱨ¸æ С½Ú£» Ëü¸ø³öÁ˷ḻµÄ¹ØÓÚÈçºÎ׫д¸üºÃµÄÎÊÌⱨ¸æµÄ½éÉÜ¡£

ÖØÒª: Èç¹ûÄúµÄ¸üÐÂÊÇÓÉÓÚ°²È«¿¼ÂÇ£¬ »òÐÞ¸´ÒѾ­ commit µÄ port ÖеÄÑÏÖØÎÊÌ⣬ Çë֪ͨ Ports ¹ÜÀíÍÅ¶Ó À´ÉêÇëÁ¢¼´Öؽ¨ºÍ·Ö·¢ÄúµÄ port µÄ package¡£ ·ñÔò£¬ ²»Ô¸»³ÒɵÄʹÓà pkg_add(1) µÄÓû§£¬ ¿ÉÄÜ»áÔÚδÀ´ÊýÖÜÖ®ÄÚ¼ÌÐøÍ¨¹ýʹÓà pkg_add -r °²×°¾É°æ±¾¡£

×¢Òâ: ÔÙ´ÎÇ¿µ÷£¬ ÇëʹÓà diff(1) ¶ø·Ç shar(1) À´·¢ËÍÏÖÓÐ port µÄ¸üУ¡ Õâ¿ÉÒÔ°ïÖú ports committer Àí½âÐèÒªÐ޸ĵÄÄÚÈÝ¡£

¡¡¡¡ÏÖÔÚÄúÒѾ­Á˽âÁËËùÐèµÄËùÓвÙ×÷£¬ Äú¿ÉÄÜ»áÏñÒªÔĶÁÔÚ µÚ 14 Õ ÖйØÓÚÈçºÎ±£³Ö×îеÄÃèÊö¡£

10.1 ʹÓà CVS ÖÆ×÷²¹¶¡

¡¡¡¡Èç¹û¿ÉÄܵϰ£¬ ÇëÌá½»cvs(1) diff£» ÕâÖÖÇéÐÎÒª±ÈÖ±½Ó±È½Ï ¡°Ð¡¢¾É¡± Ŀ¼ҪÈÝÒ×´¦Àí¡£ ´ËÍ⣬ ÕâÖÖ·½·¨Ò²ÈÃÄú¸üÈÝÒ׿´³öµ½µ×¸ÄÁËʲô£¬ ²¢ÔÚÆäËûÈ˸üÐÂÁË Ports Collection ʱÈÝÒ׺ϲ¢ÕâЩ¸Ä¶¯£¬ ÔÚÌύ֮ǰ£¬ Õâ¿ÉÒÔ¼õÉÙά»¤²¹¶¡ËùÐèµÄ¹¤×÷¡£

% cd ~/my_wrkdir (1)
% cvs -d R_CVSROOT co pdnsd (2) (3)
% cd ~/my_wrkdir/pdnsd
(1)
µ±È»£¬ Õâ¿ÉÒÔÊÇÄúÖ¸¶¨µÄÈÎÒâĿ¼£» Áª±à port ²¢²»¾ÖÏÞÓÚ /usr/ports/ µÄ×ÓĿ¼¡£
(2)
R_CVSROOT ÊÇÈκÎÒ»¸ö¹«¹²µÄ cvs ¾µÏñ·þÎñÆ÷£¬ Äú¿ÉÒÔÔÚ FreeBSD ʹÓÃÊÖ²á ÖÐÌôѡһ¸ö¡£
(3)
pdnsd ÊÇ port µÄÄ£¿éÃû×Ö£» ͨ³£ËµÀ´ËüºÍ port µÄÃû×ÖÒ»Ñù£¬ ²»¹ýÒ²ÓÐЩÀýÍ⣬ ÌØ±ðÊÇÄÇЩ±¾µØ»¯Àà±ð (german/selfhtml ¶ÔÓ¦µÄÄ£¿éÃû×ÖÊÇ de-selfhtml)£» Äú¿ÉÒÔͨ¹ý cvsweb ½çÃæ ²éѯ£¬ »òÕßÒ²¿ÉÒÔÖ¸¶¨ÍêÕû·¾¶£¬ ÀýÈçÔÚÎÒÃÇÕâ¸öÀý×ÓÖÐÊÇ ports/dns/pdnsd¡£

¡¡¡¡ÔÚ¹¤×÷Ŀ¼ÖУ¬ Äú¿ÉÒÔÏñÍù³£Ò»Ñù½øÐÐÈκθü¸Ä¡£ Èç¹ûÄúÌí¼Ó»òɾ³ýÁËÎļþ£¬ ÔòÐèÒª¸æËß cvs À´×·×ÙÕâЩ¸Ä¶¯£º

% cvs add new_file
% cvs remove deleted_file

¡¡¡¡Çë·´¸´¼ì²é µÚ 3.4 ½Ú ÁгöµÄÊÂÏʹÓà µÚ 3.5 ½Ú ½øÐмì²é¡£

% cvs status
% cvs update (1)
(1)
Õâ»áºÏ²¢ CVS ÖÐÆäËûÈË×öµÄ¸Ä¶¯ºÍÄúµÄ²¹¶¡£» ÔÚÕâ¸ö¹ý³ÌÖУ¬ ÄúÐèÒª×Ðϸ¹Û²ìÊä³ö¡£ ÎļþÃûÇ°ÃæµÄÄǸö×Öĸ»áÏÔʾ×öÁËʲô£¬ Çë²ÎÔÄ ±í 10-1 Öиø³öµÄ˵Ã÷¡£

±í 10-1. cvs update ÎļþÃûǰ×Öĸǰ׺µÄº¬Òå

U Îļþ¸üÐÂÎÞÎó¡£
P Îļþ¸üÐÂÎÞÎó (ͨ³£Ö»ÓÐÔÚʹÓÃÔ¶³Ì´úÂë¿âʱ²Å»á¿´µ½)¡£
M ÎļþÓб¾µØÐ޸ģ¬ ²¢ºÏ²¢³É¹¦¶øÎ´²úÉúÈκγåÍ»¡£
C ÎļþÓб¾µØÐ޸ģ¬ ½øÐÐÁ˺ϲ¢²¢²úÉúÁ˳åÍ»¡£

¡¡¡¡Èç¹ûÄúÔÚÖ´ÐÐ cvs update ʱijЩÎļþ³öÏÖÁË C£¬ Ôò˵Ã÷ÓÐÆäËûÈËÔÚ CVS ÖÐ×öÁËÐ޸ģ¬ ¶ø cvs(1) ÎÞ·¨½«ÕâЩ¸Ä¶¯ÓëÄú±¾µØµÄ¸Ä¶¯½øÐкϲ¢¡£ ²»¹ý£¬ ÎÞÂÛÈçºÎ£¬ ×îºÃ¶¼¼ì²éһϺϲ¢µÄ½á¹û£¬ ÒòΪ cvs ²¢²»ÖªµÀ port Ó¦¸ÃÊÇʲôÑù×Ó£¬ Òò´ËËüËù×öµÄºÏ²¢ÎÞÂÛÊÇ·ñ²úÉúÁ˳åÍ»£¬ ¶¼ÓпÉÄÜ (²¢ÇÒ²¢²»º±¼û) ²úÉúûÓÐÒâÒåµÄ½á¹û¡£

¡¡¡¡×îºóÒ»²½ÊÇÒÔ CVS ÖеÄÎļþΪ»ù´¡Éú³É unified diff(1)£º

% cvs diff -uN > ../`basename ${PWD}`.diff

×¢Òâ: Ö¸¶¨ -N Ê®·ÖÖØÒª£¬ ÒòΪËüÈ·±£ÁËÌí¼Ó»òɾ³ýµÄÎļþÒ²³öÏÖÔÚ²¹¶¡ÖС£ ²¹¶¡½«°üº¬É¾³ýµÄÎļþ£¬ ÔÚ´òÉϲ¹¶¡Ê±£¬ ÕâЩÎļþ»á±»Çå¿Õ£¬ ËùÒÔ×îºÃÔÚ PR ÖÐÌáÐÑ committer ɾ³ýËüÃÇ¡£

¡¡¡¡¸ù¾Ý µÚ 10 Õ µÄÖ¸µ¼Ìá½»ÄúµÄ²¹¶¡¡£

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