% TEBIKI.mksigen_slink2potato.txt % 表題: mksigen の potato 用 Deb パッケージ作成 % % 履歴: 2000/08/09 杉山耕一朗 % 履歴: 2000/08/17 石渡正樹 % ■目的 dennou のディレクトリデータベースマネージャ mksigen を potato 用に再パッケージ化する. ■作業 1. mksigen の最新バージョンの取得 $ export CVS_RSH=ssh $ cvs -d :ext:momoko@sukeroku.ms.u-tokyo.ac.jp:/GFD_Dennou_Club/ftp/arch/cc-env/mksigen/cvsroot checkout mksigen これで mksigen ディレクトリが作成される. 中身はどうやら Version 0.1-8 らしい. 2. 依存関係変更のための設定 $ cd mksigen/debian debian ディレクトリ内の確認. postinst, copyright, rules の各ファイルが存在することを 確認する(無ければ作成しなければならない). 各ファイルの 説明に付いては下記の「補足」を参照せよ. changelog の編集. 次のような記述を先頭に追加(メンテナーも変えたので version 0.2-1 とした). mksigen (0.2-1) unstable; urgency=low * changed dependencies :perl -> ${shlibs:Depends} -- ISHIWATARI Masaki Thu, 17 Aug 2000 12:21:16 +0900 control の編集. 次のようにする. Source: mksigen Section: misc Priority: optional Maintainer: ISHIWATARI Masaki Standards-Version: 2.5.0 Package: mksigen Architecture: all Depends: ${shlibs:Depends} Description: directory info db manager dirs の編集. この dirs ファイルにはバイナリやドキュメントのインス トール先を書いておく. これに不備があるとパッケージ化に失敗する. 以下のようにする. usr/share/doc/mksigen usr/bin usr/sbin usr/man usr/man/man1 usr/man/man5 usr/man/man8 usr/man/ja usr/man/ja/man1 usr/man/ja/man5 usr/man/ja/man8 3. Makefile の編集 mksigen マニュアルの htm ファイルも /usr/share/doc/mksigen に入れる ことにするのでトップディレクトリの Makefile を次のように変更する. HTMDIR=$(DESTDIR)/usr/share/doc/mksigen 4. Debian パッケージの作成 mksigen ディレクトリ内で $ dpkg-buildpackage -rsudo -rsudo オプションを付けることで, 必要に応じて sudo コマンドで ルートになる. ■補足 1. debian ディレクトリ内の postinst ファイルの役割. このファイルには mksigen 設定のためのコマンド mksigenconfig を実行するように書かれている. このファイルが存在しないと dpkg -i したときに mksigenconfig が実行されない. 2. debian ディレクトリ内の rules ファイルの役割. このファイル中で注意する必要のあるのは "build" と "binary-arch" "build" には make する際の手順(例えば ./configure して make とか) "binary-arch" にはパッケージ作成のための仮インストール先となる debian/tmp 以下のディレクトリの作成・そのディレクトリへの インストールが指示されている. ■問題点 1. PGP 署名の失敗 杉山氏が deb パッケージを作ろうとした際には最後に PGP 署名するよう に言ってきてエラーが出て PGP 署名できなかった. ところが石渡が deb パッケージを作った際にはPGP 署名するように言って 来なかったのでそのままできた. ■参考文献 Linux Japan 5 号 Debian メーリングリスト [debian-users: 01069]