dcmodel プロジェクトにおける Debian パッケージ公開の手引き
概要
<URL:../debian> 以下の Debian パッケージ群 の公開方法について記す.
基本方針
<URL:../debian> 以下では, dcmodel 群, およびそれらに 関連したソフトウェアの Debian パッケージを公開する.
ただし, 基本的にこのディレクトリに以下に Debian パッケージの 実体は置かず, 他のプロジェクトのディレクトリ以下の Debian パッケージ 置き場のディレクトリへのシンボリックリンクを作成する.
実際にこのディレクトリ以下で管理しているのは apt に必要となる Packages.gz, Sources.gz のみである. (<URL:../debian/stable> や <URL:../debian/testing> 以下に 作成される).
準備
Debian パッケージを公開するための手引きである.
まず, 公開すべき Debian パッケージの格納されたディレクトリ のシンボリックリンクを作成する.
$ /GFD_Dennou_Club/ftp/arch/dcmodel/debian $ ln -s /GFD_Dennou_Club/ftp/arch/gtool4/debian/gt4f90io ./gt4f90io $ ln -s /GFD_Dennou_Club/ftp/arch/cc-env/g95/debian/ ./g95 $ :
次に, <URL:sample_Makefile/Makefile.apt> を debian ディレクトリ以下に コピーし, 各変数を書き変える.
$ cp /GFD_Dennou_Club/ftp/arch/dcmodel/doc/sample_Makefile/Makefile.apt .
$ vi Makefile.apt
      STABLE  = sarge
      TESTING =
      SUBDIRS = spml netcdf ispack fftw gt4f90io g95
      CHMOD   = 664     # Set mode          (optional)
      CHGRP   = dcmodel # Set group         (optional)
STABLE, TESTING に指定されるディレクトリ以下に Packages.gz, Sources.gz が作成される.
SUBDIRS にリストされるディレクトリ以下の Debian パッケージが探査 される. 関連ディレクトリの様子を以下に示す.
凡例
./debian
|
|-- $(STABLE)/          <-- このディレクトリ以下は自動生成
|   |-- Packages.gz         (下記の「Packages.gz, Sources.gz の作成」
|   `-- Sources.gz          参照)
|
|-- $(TESTING)/         <-- このディレクトリ以下は自動生成
|   |-- Packages.gz         (下記の「Packages.gz, Sources.gz の作成」
|   `-- Sources.gz          参照)
|
|-- $(SUBDIRS) その1/   <-- このディレクトリ以下は手動で準備
|   |-- $(STABLE)/
|   |   `-- **********.deb  <-- $(STABLE)/Packages.gz, 
|   |                           $(STABLE)/Sources.gz へと反映
|   |
|   `-- $(TESTING)/
|       `-- **********.deb  <-- $(TESTING)/Packages.gz, 
|                               $(TESTING)/Sources.gz へと反映
|
`-- $(SUBDIRS) その2/   <-- このディレクトリ以下は手動で準備
    |-- $(STABLE)/
    |   `-- **********.deb  <-- $(STABLE)/Packages.gz, 
    |                           $(STABLE)/Sources.gz へと反映
    |
    `-- $(TESTING)/
        `-- **********.deb  <-- $(TESTING)/Packages.gz, 
                                $(TESTING)/Sources.gz へと反映
具体例 (STABLE=sarge, TESTING=etch, SUBDIRS=g95 gt4f90io)
./debian
|
|-- sarge/
|   |-- Packages.gz
|   `-- Sources.gz
|
|-- etch/
|   |-- Packages.gz
|   `-- Sources.gz
|
|-- g95/
|   |-- sarge/
|   |   |-- g95_20060412.dsc
|   |   |-- g95_20060412.tar.gz
|   |   |-- g95_20060412_i386.changes
|   |   |-- g95_20060412_i386.deb
|   |   |-- g95_20060419.dsc
|   |   |-- g95_20060419.tar.gz
|   |   |-- g95_20060419_i386.changes
|   |   `-- g95_20060419_i386.deb
|   |
|   `-- etch/
|       |-- g95_20060421.dsc
|       |-- g95_20060421.tar.gz
|       |-- g95_20060421_i386.changes
|       `-- g95_20060421_i386.deb
|
`-- gt4f90io/
    |-- sarge/
    |   |-- gt4f90io-ifc8.1_20050207-1.dsc
    |   |-- gt4f90io-ifc8.1_20050207-1.tar.gz
    |   |-- gt4f90io-ifc8.1_20050207-1_i386.changes
    |   |-- gt4f90io-ifc8.1_20050207-1_i386.deb
    |   |-- gt4f90io-ffc5_20060123-1.dsc
    |   |-- gt4f90io-ffc5_20060123-1.tar.gz
    |   |-- gt4f90io-ffc5_20060123-1_i386.changes
    |   `-- gt4f90io-ffc5_20060123-1_i386.deb
    |
    `-- etch/
        |-- gt4f90io-ifc9_20060123-1.tar.gz
        |-- gt4f90io-ifc9_20060123-1.dsc
        |-- gt4f90io-ifc9_20060123-1_i386.deb
        `-- gt4f90io-ifc9_20060123-1_i386.changes
Packages.gz, Sources.gz の作成
<URL:../debian> ディレクトリに移動後, 以下のコマンドを入力する.
$ sg dcmodel $ umask 002 $ make scan
すると, $(STABLE), $(TESTING) に指定されたディレクトリが 生成され, そのディレクトリ以下に Packages.gz および Sources.gz が 作成されているはずである.
/etc/apt/sources.list の書き方
上記のように Package.gz, Source.gz が準備できたら, 手元の PC の /etc/apt/sources.list に以下の記述を追加する.
deb http://www.gfd-dennou.org/library/dcmodel/debian/ sarge/ deb-src http://www.gfd-dennou.org/library/dcmodel/debian/ sarge/
以下のコマンドでソフトウェアのインストールが出来たら OK.
# apt-get update # apt-get install g95 (例えば)