3 debhelper 論その 2 Debhelper の各コマンドは何者か.

上川      
___________________________________________________________________________________________________________________________

3.1 debhelper コマンド編

全 体 を 見 渡 す た め に , debhelper 4.2.31 に含まれているコマンドの一覧を表にしてみます.

こ こ で イ ン ス ト ー ル と い って い る の は , フ ァイ ル を パ ッケ ー ジ ビ ル ド 用 の デ ィレ ク ト リ にコピーする, という意味です.

debian/packagename というディレクトリ以下にコピーすることにより, builddeb の際に deb ファイルに コ ピ ー さ れ , 後 に イ ン ス ト ー ル で き る よ う に な り ま す .

DEBIAN ディレクトリというのは, debian/packagename/DEBIAN のことで, 後に dpkg ファイルの control.tar.gz になる部分です.




名称

入力ファイル

効能




builddeb

.deb ファイルを作成




clean

不要なファイルを消す debian/rules clean




compress

package.compress スクリプト

ドキュメントの圧縮




desktop

.desktop ファイルの登録




fixperms

ファイル権限の修正




gconf

gconf schema の登録




gencontrol

dpkg-gencontrol のラッパ. control ファイルを DEBIANデ ィレ ク ト リ に イ ン ス ト ー ル




install

package.install

ファイルをインストールする




installcatalogs

package.sgmlcatalogs

SGML カタログを登録




installchangelogs

ChangeLog をインストールす る




installcron

package.cron.monthly, package.cron.weekly, package.cron.daily package.cron.hourly package.cron.d

cron スクリプトをインスト ー ル




installdeb

DEBIAN ディレクトリにファイ ル を イ ン ス ト ー ル




installdebconf

package.config package.templates

debconf 用のファイルをインス ト ー ル




installdirs

package.dirs

ディレクトリを作成




installdocs

package.docs

ドキュメントをインストール




installemacsen

package.emacsen-install package.emacsen-remove package.emacsen-startup

emacs 用スクリプトをインス ト ー ル




installexamples

package.examples

example ファイルをインスト ー ル す る




installinfo

package.info

info をインストールする




installinit

package.init package.default

init スクリプトをインストール す る . default ファイルをイ ン ス ト ー ル す る .




installlogcheck

debian/package.logcheck.cracking debian/package.logcheck.violations debian/package.logcheck.violations.ignore debian/package.logcheck.ignore.workstation debian/package.logcheck.ignore.server debian/package.logcheck.ignore.paranoid

logcheck 用のスクリプトを登 録




installlogrotate

package.logrotate

logrotate 用のスクリプトを登 録




installman

package.manpages

man をインストール




installmanpages

installman を使いましょう




installmenu

package.menu

メニューを追加




installmime

debian/package.mime debian/package.sharedmimeinfo

mime 情報を追加




installmodules

debian/package.modules debian/package.modprobe

modutil module を追加




installpam

debian/package.pam

PAM 設定ファイルのインスト ー ル




installppp

debian/package.ppp.ip-up debian/package.ppp.ip-down

ppp 設定ファイルのインスト ー ル




installwm

Window manager update-alternatives に登録




installxfonts

X フォントの登録




link

package.links

シンボリックリンクの作成




listpackages

処理するパッケージの一覧を出 力 す る だ け




makeshlibs

shlibs ファイルを生成する




md5sums

DEBIAN/md5sums ファイル を 生 成 す る




movefiles

install を使ってください.




perl

perl スクリプトの依存関係を 自 動 生 成 す る




python

python モジュールの依存関係 の 自 動 生 成 と , プ リ コ ン パ イルのための pre/postinstス ク リ プ ト の 自 動 生 成




scrollkeeper

OMF ファイルの登録




shlibdeps

共有ライブラリ依存関係情報 の 自 動 取 得




strip

デバッグ情報の strip




suidregister

もう使わないでください




testdir

正しいディレクトリにいること を 確 認 し て く れ る




testroot

root 権限で実行されているこ と を 確 認




testversion

debhelper のバージョンを確認 す る . 今 後 Build-Depends で指定して く だ さ い .




undocumented

もう使わないでください




usrlocal

/usr/local 以下のディレクトリ に 関 し て ポ リ シ に 基 づ い た作成/削除を実施.




3.1.1 dh-testroot

debian/rules スクリプトの中で, Policy で定義されている「実行には root 権限が必要」 と なっている部分があります. 本当に root 権限で実行されているのか確認してあげる部分 です.

id -u コマンドの出力が 0 であるか, とかwhoami コマンドの出力が root であるか, とかで確認しま す . fakeroot で実行されることが多いため, fakeroot でだまし切れる内容にする必要があり ます.

今後 selinux などの広がりにより, root である, ということのチェックだけでは不十分になったばあい には debhelper 側で機能が拡張されることでしょう.

3.1.2 dh-testdir

現在のディレクトリが, debian パッケージのソースディレクトリであるか, ということを確認します. こ こでは, カレントディレクトリからみて, ./debian/rules というファイルが存在するか, などということ で確認できます.

3.1.3 dh-clean

作業用に利用したファイルを消します. インストールイメージを作成するために一時的に作成する debian/パッケージ名 ディレクトリの削除はここで実行します.

東 京 エ リ ア Debian 勉強会 2005 _________________________________________________________

PIC