ͨ¹ý CVSup »ñÈ¡Ô´´úÂë

ʹÓÃÄäÃû CVS ¼ìË÷ Postgres Ô´ÂëÊ÷µÄÁíÒ»¸ö·½·¨ÊÇ CVSup¡£CVSup ÊÇÓÉ John Polstra ¿ª·¢µÄ£¬ÓÃÓÚΪ FreeBSD ÏîÄ¿ ·Ö·¢ CVS ²Ö¿âºÍÆäËûÎļþÊ÷¡£

ʹÓàCVSup µÄÖ÷ÒªÓŵãÊÇËü¿ÉÒÔ¿É¿¿µØÔÚÄãµÄ±¾µØ»úÆ÷Éϸ´ÖÆÕû¸ö CVS ²Ö¿â£¬ÔÊÐí¿ìËٵı¾µØʹÓà cvs ²Ù×÷£¬Ïó  log ºÍ diff¡£ÆäËûÓŵã°üÀ¨Óë Postgres ·þÎñÆ÷µÄ¿ìËÙͬ²½£¬ÒòΪËüʹÓÃÒ»ÖÖ¸ßЧµÄÁ÷´«ÊäЭÒ飬¸ÃЭÒéÖ»´«Êä×îºó¸üУ¨ÒÔÀ´£©µÄÐ޸ġ£

×¼±¸Ò»¸ö CVSup ¿Í»§¶Ëϵͳ

×öÕâ¼þÊÂÐèҪΪ CVSup ×¼±¸Á½¸öĿ¼ÇøÓò£ºÒ»¸ö±¾µØ CVS ²Ö¿â£¨»òÕß¾ÍÊÇÒ»¸öĿ¼ÇøÓò ¡ª Èç¹ûÄãÖ»ÊÇץȡһ¸ö¿ìÕÕ¶ø²»ÊÇÕû¸ö²Ö¿â£»¼ûÏÂÎÄ£©ºÍÒ»¸ö±¾µØCVSup ²¾¼ÇÇøÓò¡£ÕâЩ¶«Î÷¿ÉÒÔÔÚͬһ¸öĿ¼Ê÷ÀïÃæ¹²´æ¡£

È·¶¨Ä㽫ÔÚÄĸöĿ¼ÀïÃæ°²·ÅÄãµÄ CVS ²Ö¿âµÄ±¾µØ¿½±´¡£ÔÚÎÒÃǵÄÒ»¸öϵͳÖУ¬ÎÒÃÇ×î½üÔÚ /home/cvs/ ÉèÁ¢Á˲ֿ⣬µ«ÊÇÒÔÇ°ÎÒÃÇ°ÑËü·ÅÔÚ /opt/postgres/cvs/ ÀïµÄÒ»¸ö Postgres ¿ª·¢°æµÄĿ¼Ê÷Àï¡£Èç¹ûÄãÏë°ÑÄãµÄ²Ö¿â·ÅÔÚ /home/cvs/ ÄÇô°Ñ

setenv CVSROOT /home/cvs
·Åµ½ÄãµÄ .cshrc Îļþ£¬»òÕ߸ù¾ÝÄãÓÃµÄ shell °ÑÀàËƵÄÐзŵ½ÄãµÄ .bashrc »ò .profile ÎļþÀï¡£

cvs ²Ö¿âÇøÓò±ØÐë±»³õʼ»¯¡£Ò»µ©ÉèÖÃÁË CVSROOT£¬ÄÇô³õʼ»¯¿ÉÒÔ¼òµ¥µØÓÃÏÂÃæµÄÃüÁîÍê³É£º
 

$ cvs init
Ö®ºó£¬ÄãÁо٠CVSROOT Ŀ¼ʱ£¬ÄãÖÁÉÙÄÜ¿´µ½Ò»¸öÃûΪ CVSROOT µÄĿ¼¡£
$ ls $CVSROOT
CVSROOT/

ÔËÐРCVSup ¿Í»§¶Ë

ÏÈ֤ʵ cvsup ÔÚÄãµÄ·¾¶ÀÔÚ´ó¶àÊýϵͳÉÏÄã¿ÉÒÔ¼üÈëÏÂÃæÃüÁîºËʵÕâЩ
which cvsup
È»ºó£¬Ö»ÐèÒªÓÃÏÂÃæÃüÁîÔËÐРcvsup £º
$ cvsup -L 2 postgres.cvsup
ÕâÀïµÄ -L 2 ´ò¿ªÁËһЩ״̬ÏûÏ¢£¬ÕâÑùÄã¾Í¿ÉÒÔ¼à¿Ø¸üеĽøÕ¹¹ý³Ì£¬¶ø postgres.cvsup ÊÇÄ㸳ÓèÄãµÄ CVSup ÅäÖÃÎļþµÄ·¾¶ºÍÃû³Æ¡£

ÕâÀïÊÇÒ»·ÝΪÌض¨°²×°Ð޸ĹýµÄ CVSup ÅäÖÃÎļþ£¬Ëüά»¤×ÅÒ»¸öÍêÕûµÄ±¾µØ CVS ²Ö¿â£º

# This file represents the standard CVSup distribution file
# for the PostgreSQL ORDBMS project
# Modified by lockhart@alumni.caltech.edu 1997-08-28
# - Point to my local snapshot source tree
# - Pull the full CVS repository, not just the latest snapshot
#
# Defaults that apply to all the collections
*default host=postgresql.org
*default compress
*default release=cvs
*default delete use-rel-suffix
# enable the following line to get the latest snapshot
#*default tag=.
# enable the following line to get whatever was specified above or by default
# at the date specified below
#*default date=97.08.29.00.00.00

# base directory points to where CVSup will store its 'bookmarks' file(s)
# will create subdirectory sup/
#*default base=/opt/postgres # /usr/local/pgsql
*default base=/home/cvs

# prefix directory points to where CVSup will store the actual distribution(s)
*default prefix=/home/cvs

# complete distribution, including all below 
pgsql

# individual distributions vs 'the whole thing'
# pgsql-doc
# pgsql-perl5
# pgsql-src

ÏÂÃæµÄÊÇ Postgres ftp Õ¾µã ½¨ÒéµÄ CVSup ÅäÖÃÎļþ£¬Ëü½«Ö»ÊÇץȡĿǰ£¨°æ±¾£©µÄ¿ìÕÕ£º
# This file represents the standard CVSup distribution file
# for the PostgreSQL ORDBMS project
#
# Defaults that apply to all the collections
*default host=postgresql.org
*default compress
*default release=cvs
*default delete use-rel-suffix
*default tag=.

# base directory points to where CVSup will store its 'bookmarks' file(s)
*default base=/usr/local/pgsql

# prefix directory points to where CVSup will store the actual distribution(s)
*default prefix=/usr/local/pgsql

# complete distribution, including all below 
pgsql

# individual distributions vs 'the whole thing'
# pgsql-doc
# pgsql-perl5
# pgsql-src

°²×° CVSup

CVSup ¿ÉÒÔÒÔÔ´´úÂëµÄÐÎʽ¡¢ÖÆ×÷ºÃÁ˵Ķþ½øÖÆÐÎʽ¡¢»òÕß Linux RPM µÄÐÎʽ»ñµÃ¡£Ê¹Óöþ½øÖƵÄÐÎʽҪԶ±È´ÓÔ´´úÂëÀïÃæÖÆ×÷ÒªÈÝÒ׵ö࣬Ö÷ÒªÊÇÒòΪ±àÒëÐèÒª¸ßЧµ«ÊÇÅÓ´óµÄ Modula-3 ±àÒëÆ÷¡£
 
´Ó¶þ½øÖÆ°²×° CVSup

Èç¹ûÄãÓµÓÐÒ»¸öÔÚ Postgresftp Õ¾µã ÀïÌù³öÀ´µÄƽ̨£¬»òÕßÄãÕýÔÚÔËÐÐ FreeBSD£¬Äã¾Í¿ÉÒÔʹÓÃÖÆ×÷ºÃÁ˵Ķþ½øÖÆÐÎʽ£¬ÕâʱºòCVSup ÊÇÒÔÒ»¸öÒÑÒÆÖ²ºÃÁ˵ÄÐÎʽ»ñµÃµÄ¡£

×¢Ò⣺CVSup ×î³õÊÇ×÷Ϊһ¸öÓÃÓÚ·Ö·¢ FreeBSD Ô´ÂëÊ÷µÄ¹¤¾ß¿ª·¢µÄ¡£¶ÔÓÚÄÇЩÔËÐÐ FreeBSD µÄÈËÀ´Ëµ£¬Ëü¿ÉÒÔµ±×÷ "port"£¨ÒÆÖ²£©»ñÈ¡£¬Èç¹ûÕâЩÃèÊö²»×ãÒÔ˵Ã÷ÈçºÎ»ñÈ¡ºÍ°²×°ËüµÄÎÊÌ⣬ÄÇôÇëΪÎÒÃÇÔÚÕâÀï¹±Ï×Ò»¸ö¹ý³Ì¡£
ÔÚд×÷ÕâЩµÄʱºò£¬¿ÉÒÔ»ñµÃÏÂÃæƽ̨µÄ¶þ½øÖÆ Alpha/Tru64£¬ix86/xBSD£¬HPPA/HPUX-10.20£¬MIPS/irix£¬ix86/linux-libc5£¬ix86/linux-glibc£¬Sparc/Solaris ºÍ Sparc/SunOS¡£
    ¼ìË÷ÊʺÏÄãµÄƽ̨µÄ cvsup £¨×ö¿Í»§¶Ë²»ÐèÒª cvsupd£©¶þ½øÖÆÎļþ¡£
     
      Èç¹ûÄãÓà FreeBSD£¬°²×° CVSup ÒÆÖ²¡£

      Èç¹ûÄãʹÓÃÆäËûƽ̨£¬ÔÚ Postgresftp Õ¾µãÉÏ ÕÒ³ö²¢ÏÂÔØÊʺÏÄãµÄ¶þ½øÖÆÎļþ¡£
       

    Èç¹ûÐèÒª£¬¼ì²é tar ÎÄÒÔºËʵÄÚÈݺÍĿ¼½á¹¹¡£ÖÁÉÙ¶ÔÓÚ linux µÄ tar Îļþ¶øÑÔ£¬¾²Ì¬¶þ½øÖÆºÍ ÊÖ²áÒ³ÊDz»°üÀ¨ÈκÎĿ¼°üÐÅÏ¢µÄ¡£
     
      Èç¹û¶þ½øÖÆÔÚ tar ÎļþµÄ¶¥²ã£¬ÄÇôֻÐèÒª°ÑËûÃǽâ°üµ½ÄãµÄÄ¿±êĿ¼ÀïÃ棺
      $ cd /usr/local/bin
      $ tar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gz
      $ mv cvsup.1 ../doc/man/man1/
      Èç¹û tar ÎļþÀïÃæÓÐÒ»¸öĿ¼½á¹¹£¬ÄÇô°Ñ tar Îļþ½â°üµ½ /usr/local/src ÀȻºó°Ñ¶þ½øÖÆÒƶ¯µ½ÉÏÃæ¶ÔÓ¦µÄºÏÊÊ·¾¶Àï¡£
    È·±£ÐµĶþ½øÖÆÔÚÄãµÄ·¾¶Àï¡£
    $ rehash
    $ which cvsup
    $ set path=(path to cvsup $path)
    $ which cvsup
    /usr/local/bin/cvsup

´ÓÔ´´úÂë°²×°

´ÓÔ´´úÂë°²×° CVSup ²¢²»ÊÇÒ×Èç·´ÕƵģ¬Ö÷ÒªÊÇÒòΪ´ó¶àÊýϵͳ½«ÐèÒªÏÈ°²×°Ò»¸ö Modula-3 ±àÒëÆ÷¡£Õâ¸ö±àÒëÆ÷¿ÉÒÔÒÔ Linux RPM¡¢FreeBSD µÄ°ü»òÕßÔ´´úÂëµÄÐÎʽ»ñµÃ¡£
×¢Ò⣺һ¸ö Modula-3 µÄ¾»´úÂë°²×°´óÔ¼ÐèÒª 200MB ´ÅÅ̿ռ䣬µ±°ÑÔ´´úÂëɾ³ýºó´óÔ¼Ö»ÓÐ 50MB¡£
Linux °²×°
    °²×° Modula-3£®
      ´Ó Polytechnique Montréal »ñÈ¡ Modula-3 ·¢²¼£¬ËûÃÇ»¹ÔÚ»ý¼«µØά»¤×Å»ùÓÚ DEC ϵͳÑо¿ÖÐÐÄ µÄ´úÂë¡£¡°PM3¡± RPM °æ±¾Ñ¹Ëõºó´óÔ¼ 30MB¡£ÔÚÎÒÃÇд×÷µÄʱºò£¬1.1.10-1 °æÔÚ RH-5.2 Éϸɾ»ÀûÂäµÄ°²×°ºÃÁË£¬¶ø 1.1.11-1 °æ±¾ÏÔÈ»ÊÇΪÁíÍâÒ»¸ö°æ±¾£¨RH-6.0£¿£©ÖÆ×÷µÄ£¬ÎÞ·¨ÔÚ RH-5.2 ÉÏÔËÐС£
      С¼¼ÇÉ£ºÕâЩ rpm °üÓÐÐí¶àRPM Îļþ£¬Òò´ËÄã¿ÉÄÜ»áϲ»¶°ÑËüÃÇ·ÅÔÚ¶ÀÁ¢µÄÒ»¸öĿ¼Àï¡£
      °²×° Modula-3 rpm£º
      # rpm -Uvh pm3*.rpm
    ½â°ü cvsup °æ±¾£º
    # cd /usr/local/src
    # tar zxf cvsup-16.0.tar.gz
    ÖÆ×÷ cvsup µÄ·¢²¼°æ£¬½ûÖ¹ GUI ½çÃæÒÔ±ÜÃâÒªÇó X11 ¿â£º
    # make M3FLAGS="-DNOGUI"
    Èç¹ûÄãÏëÖÆ×÷Ò»¸ö¾²Ì¬µÄ¶þ½øÖÆÒÔ±ãÓÚ×°µ½Ò»¸öûÓа²×° Modula-3 µÄϵͳ£¬Óãº
    # make M3FLAGS="-DNOGUI -DSTATIC"
    °²×°ÖÆ×÷ºÃÁ˵Ķþ½øÖÆ£º
    # make M3FLAGS="-DNOGUI -DSTATIC" install
È