¡¡¡¡Èç¹ûÄú·¢ÏÖ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£¬ ½Ó×ÅÉú³É²¹¶¡£º
¡¡¡¡Èç¹û²»ÊÇÕâÑùµÄ»°£¬ ÔòÄúӦʹÓà 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 ¹ÜÀíÍŶÓ
<portmgr@FreeBSD.org>
À´ÉêÇëÁ¢¼´Öؽ¨ºÍ·Ö·¢ÄúµÄ port µÄ package¡£ ·ñÔò£¬ ²»Ô¸»³ÒɵÄʹÓà pkg_add(1) µÄÓû§£¬ ¿ÉÄÜ»áÔÚδÀ´ÊýÖÜÖ®ÄÚ¼ÌÐøÍ¨¹ýʹÓà pkg_add -r °²×°¾É°æ±¾¡£
×¢Òâ: ÔÙ´ÎÇ¿µ÷£¬ ÇëʹÓà diff(1) ¶ø·Ç shar(1) À´·¢ËÍÏÖÓÐ port µÄ¸üУ¡ Õâ¿ÉÒÔ°ïÖú ports committer Àí½âÐèÒªÐ޸ĵÄÄÚÈÝ¡£
¡¡¡¡ÏÖÔÚÄúÒѾÁ˽âÁËËùÐèµÄËùÓвÙ×÷£¬ Äú¿ÉÄÜ»áÏñÒªÔĶÁÔÚ µÚ 14 Õ ÖйØÓÚÈçºÎ±£³Ö×îеÄÃèÊö¡£
¡¡¡¡Èç¹û¿ÉÄܵϰ£¬ ÇëÌá½»cvs(1) diff£» ÕâÖÖÇéÐÎÒª±ÈÖ±½Ó±È½Ï ¡°Ð¡¢¾É¡± Ŀ¼ҪÈÝÒ×´¦Àí¡£ ´ËÍ⣬ ÕâÖÖ·½·¨Ò²ÈÃÄú¸üÈÝÒ׿´³öµ½µ×¸ÄÁËʲô£¬ ²¢ÔÚÆäËûÈ˸üÐÂÁË Ports Collection ʱÈÝÒ׺ϲ¢ÕâЩ¸Ä¶¯£¬ ÔÚÌύ֮ǰ£¬ Õâ¿ÉÒÔ¼õÉÙά»¤²¹¶¡ËùÐèµÄ¹¤×÷¡£
% cd ~/my_wrkdir% cvs -d R_CVSROOT co pdnsd
![]()
% cd ~/my_wrkdir/pdnsd
¡¡¡¡ÔÚ¹¤×÷Ŀ¼ÖУ¬ Äú¿ÉÒÔÏñÍù³£Ò»Ñù½øÐÐÈκθü¸Ä¡£ Èç¹ûÄúÌí¼Ó»òɾ³ýÁËÎļþ£¬ ÔòÐèÒª¸æËß cvs À´×·×ÙÕâЩ¸Ä¶¯£º
% cvs add new_file % cvs remove deleted_file
¡¡¡¡Çë·´¸´¼ì²é µÚ 3.4 ½Ú ÁгöµÄÊÂÏʹÓà µÚ 3.5 ½Ú ½øÐмì²é¡£
% cvs status % cvs update![]()
±í 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 Õ µÄÖ¸µ¼Ìá½»ÄúµÄ²¹¶¡¡£