上川
     
___________________________________________________________________________________________________________________________
   
全 体 を 見 渡 す た め に , 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 以下のディレクトリ に 関 し て ポ リ シ に 基 づ い た作成/削除を実施.  | 
| 
 
  | 
||
| 
 
  | 
||
| 
 
  | 
  
debian/rules スクリプトの中で, Policy で定義されている「実行には root 権限が必要」 と なっている部分があります. 本当に root 権限で実行されているのか確認してあげる部分 です.
id -u コマンドの出力が 0 であるか, とかwhoami コマンドの出力が root であるか, とかで確認しま す . fakeroot で実行されることが多いため, fakeroot でだまし切れる内容にする必要があり ます.
今後 selinux などの広がりにより, root である, ということのチェックだけでは不十分になったばあい には debhelper 側で機能が拡張されることでしょう.
現在のディレクトリが, debian パッケージのソースディレクトリであるか, ということを確認します. こ こでは, カレントディレクトリからみて, ./debian/rules というファイルが存在するか, などということ で確認できます.
作業用に利用したファイルを消します. インストールイメージを作成するために一時的に作成する debian/パッケージ名 ディレクトリの削除はここで実行します.
東 京 エ リ ア Debian 勉強会 2005 夏_________________________________________________________