DG1.3. CVSupを使ってソースを入手する

Postgresソースツリーを anonymous CVS以外で入手する方法としてCVSupがあります。 CVSupは John Polstra ()氏により開発され、 the FreeBSD projectとして CVSリポジトリとその他のファイルツリーが配布されています。

CVSupを利用する最大の利点は、ローカルに CVSリポジトリ全体の信頼できる複製を作成でき、その結果logdiffなどのCVSの作業に対して、すばやいローカルアクセスが可能となります。 その他の利点としては、最後に行ったアップデートからの差分のみを転送するプロトコル によってPostgresサーバの内容と素早い整合性が取れるという ことがあげられます。

DG1.3.1. CVSup クライアントを準備する

CVSupを作動させるには2つの場所が必要となります。 1つは、ローカルの CVS リポジトリ (またはリポジトリではなく、スナップショットを取りこむための場所; 下記参照)と 2つ目は、ローカルでのCVSupの情報を書き留める場所 です。これらは同じディレクトリに共存させることも可能です。

CVSリポジトリのコピーをどこに置くかを 決めなければなりません。最近私たちのシステムの1つに関しては /home/cvs/にリポジトリを設置しました。 しかし、以前は/opt/postgres/cvs/Postgres開発ツリーの下に設置していました。 もしあなたがリポジトリを/home/cvs/に置いておきたいならば、 下記の内容を.cshrcファイルに追加するか、同じ内容を .bashrcファイル、もしくは.profileファイルに 書き込んで下さい。(利用されているシェルによって内容を追加するファイルは変わります。)

setenv CVSROOT /home/cvs
    

cvs リポジトリは初期化されなければなりません。 CVSROOT が一旦設定されれば下記のコマンドのみで初期化が行われます。

$ cvs init
    
その後、
$ ls $CVSROOT
CVSROOT/
    
としてCVSROOTディレクトリを表示させると、少なくとも CVSROOTという名のディレクトリがあるはずです。

DG1.3.2. 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

   

下記は、 the Postgres ftp siteから 持って来ることができる、推奨されているCVSupのconfigファイルです。 これは現在のスナップショットのみを取るものです。

# 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

    

DG1.3.3. CVSupをインストールする

CVSupはソース、バイナリ、またはLinux RPMsで 入手可能です。ソースを使用するためにはとても大きいModula-3コンパイラ が必要なので、バイナリのものを使用する方をお勧めします。

CVSup バイナリのインストール方法

もしご利用のプラットフォームが Postgres ftp siteに 書かれているならばバイナリを使うことができます。 また、FreeBSDをご利用ならば、CVSupはPort Collection (ポーツコレクション)として使用することが可能です。

Note: CVSupは当初、FreeBSD のソースツリーを配布するために開発されました。ポートでも 入手することが可能です。FreeBSDをお使いの方でその入手方法や、 インストール方法がここに書かれている内容で不充分だと感じられる方は 寄稿して下さい。

これが書かれた時において、バイナリは下記のプラットフォームで利用可能です。 Alpha/Tru64、 ix86/xBSD、 HPPA/HPUX-10.20、 MIPS/irix、 ix86/linux-libc5、 ix86/linux-glibc、 Sparc/Solaris、 Sparc/SunOS.

  1. 使用しているプラットフォームに合った cvsupのバイナリの tar file を入手して下さい。 (cvsupd はクライアントには必要はありません。

    1. FreeBSDをご利用ならば、CVSup ポートコレクションを インストールして下さい。

    2. 他のプラットフォームをお持ちの方は、 the Postgres ftp site で該当するバイナリを確認し、ダウンロードして下さい。

  2. 内容とディレクトリの構造(あるならば)を確認するためにtar fileをチェックして下さい。 少なくともLinux の tar fileには静的にリンクされたバイナリとマニュアルページはディレクトリに 梱包されないで、そのままそこにあります。

    1. もし、バイナリがこのtarファイルのトップレベルに存在するならば、単に tarファイルをご希望のディレクトリに解凍して下さい。

      $ cd /usr/local/bin
      $ tar zxvf /usr/local/src/cvsup-16.0-linux-i386.tar.gz
      $ mv cvsup.1 ../doc/man/man1/
      	

    2. もしtar fileの中にディレクトリ構成があるならば、/usr/local/src内で tar fileを解凍し、バイナリを上記のように、該当する場所へと 移動させて下さい。

  3. 新しいバイナリは、コマンドサーチパスに指定されていることを確認して下さい。

    $ rehash
    $ which cvsup
    $ set path=(path to cvsup $path)
    $ which cvsup
    /usr/local/bin/cvsup
          

DG1.3.4. ソースからのインストール方法

CVSupをソースからインストールするには、 ほとんどのシステムにおいて、まずModula-3コンパイラをインストールする 必要があるので少々手間がかかります。このコンパイラはLinuxのRPMや FreeBSDのパッケージ、またはソースコードで入手することができます。

Note: A clean-source installation of Modula-3の純粋なソースのインストールは200MBほどのディスク領域を 使用しますが、ソースが取り除かれれば、50MBほどになります。

Linuxのインストール方法

  1. Modula-3のインストール

    1. the DEC Systems Research Centerで 開発されたコードを維持している Polytechnique MontrealからModula-3を ダウンロードして下さい。 PM3 RPM ディストリビューションは大体 30MBです。これが書かれたときでは、1.1.10-1 リリースはRH-5.2に正常に インストールすることが可能で、1.1.11-1 リリースはRH-5.2では動きません。

      Tip: このrpm パッケージには多くの RPM ファイルがあるので、 別のディレクトリに置いておくことをお勧めします。

    2. Modula-3 rpmsのインストール

      # rpm -Uvh pm3*.rpm
      	

  2. cvsup ディストリビューションを解凍する

    # cd /usr/local/src
    # tar zxf cvsup-16.0.tar.gz
          

  3. GUI インターフェースを無効にしてcvsupディストリビューションを作成すれば、X11 ライブラリは 必要ありません。

    # make M3FLAGS="-DNOGUI"
          
    また、Modula-3がインストールされていないシステムに移すために静的にリンクされたバイナリを 作成したい場合は、以下のコマンドを実行して下さい。
    # make M3FLAGS="-DNOGUI -DSTATIC"
          

  4. 完成したバイナリをインストールする。

    # make M3FLAGS="-DNOGUI -DSTATIC" install