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 (例えば)