redmine ソースパケジ掘削 (3)

昨日に引き続き、今日は debian/ 配下全般を確認してみることに。
一つづつ確認していきます。とりあえず changelog はスルーで。

debian/compat

redmine のソースパケジの debian/compat の中身は 7 です。man debhelper してみると今は 9 まであるんですね。入門 Debian パッケージは 5 が最大な模様。最近 dh_make したディレクトリの debian/compat は 8 になっていました。
とりあえずここは dh_make にお任せ、ってことで良いのかどうか。

debian/conf

ここは postinst で /etc/redmine 配下にコピーされる database.yml の雛形が入ってます。dh_make で掘られるディレクトリではないはず。

debian/config

debiconf のナニ。そういえばここの掘削してませんね。ざっくり確認はしてるんですが、読むのが苦痛なレベルだったりします。
ざっくりベースで

  • old-instances とか current-instances とかの設定?
  • dbconfig-common 云々
  • ロケイル関連

な設定、という理解で良いのかどうか。

debian/control

エントリとしては

が指定されてます。

debian/copyright

Rails なパケジはプラグインというナニがあるのでここの記述が雑多になるのだなぁ。あと、gem なナニを同梱させないといけないので色々な意味で大変なことに気付いていたりして。

debian/dirs

redmine なナニが以下。

var/log/redmine
var/cache/redmine
var/lib/redmine
etc/redmine
usr/share/redmine/tmp

これ、dh_installdirs コマンドにて debian/dirs に記述されているディレクトリを掘る模様。dh_install コマンドで導入されるもの以外を云々する場合にここで指定をしておくものと理解。

debian/doc

パケジになったディレクトリを覗いてみたら /usr/share/doc/redmine/ にコピーされている模様。入門 Debian パッケージを見てみたら dh_installdocs コマンドでコピーされるのかどうなのか。確認してみたところでは docs ディレクトリ、ってなってるんですがどうなんでしょ。

debian/examples

dh_installexamples コマンドがこのファイルの中身に沿って云々とある。なんか直上の debian/doc なナニとの整合性がアレだな。redminedebian/examples の中身が以下。

debian/doc/examples/*
config/email.yml.example

確かに debian/redmine の中の usr/share/doc/examples には email.yml.example が投入されていますね。

debian/gbp.conf

これ、git-buildpackage 関連なファイルなのでしょうか。man には以下な記述がある模様。

debian/gbp.conf           per branch configuration, can be published with the 
                          repository                                          

ググッてたら面白そうなドキュメントを発見。

とりあえずここはスルーで。でも git-buildpackage は別途色々確認してみたい。

debian/install

これは dh_install で云々するナニを指定しているはず。redmine なナニは以下。

# Install the basic application files
app usr/share/redmine
config usr/share/redmine
db usr/share/redmine
extra usr/share/redmine
lib usr/share/redmine
public usr/share/redmine
Rakefile usr/share/redmine
script usr/share/redmine
test usr/share/redmine
vendor/plugins usr/share/redmine/vendor
vendor/gems usr/share/redmine/vendor
debian/conf/*.template usr/share/redmine/templates

make install がないパケジについてはここに、という形になるのか。

debian/links

dh_link コマンドの設定ファイルな模様です。中身は以下。

# Link to libjs-prototype
usr/share/javascript/prototype/prototype.js     usr/share/redmine/public/javascripts/prototype.js
# Link to libjs-scriptaculous
usr/share/javascript/scriptaculous/controls.js usr/share/redmine/public/javascripts/controls.js
usr/share/javascript/scriptaculous/dragdrop.js usr/share/redmine/public/javascripts/dragdrop.js
usr/share/javascript/scriptaculous/effects.js usr/share/redmine/public/javascripts/effects.js

これ、大丈夫なのかなぁ。

debian/logrotate

dh_installlogrotate コマンドで使用されます。このファイルが例えば redmine であれば /etc/logrotate.d/redmine として投入される模様。中身は以下です。

# Redmine logs:
/var/log/redmine/*/*.log {
  daily
  missingok
  rotate 14
  compress
  delaycompress
  notifempty
  copytruncate
}

debian/patches

series というファイルがあるのでパッチは quilt で管理されている模様。このあたりもきちんと作法を調べとかないとマズいなぁ。
とりあえずスルーで。

debian/po

ここもスルーします。ja.po もありますね。そして postinst、postrm、prerm、README.* は略します。

debian/rules

してる事を以下に列挙。

  • debian/redmine/usr/share/redmine 配下の COPYING とか *LICEN*E* なファイル削除
  • debian/redmine 配下の .gitignore、.git、.svn の削除
  • debian/redmine/usr/share/redmine/public の中の htaccess.fcgi.example および dispatch.cgi.example の削除
  • debian/redmine/usr/share/redmine/public の中の dispatch.fcgi.example を dispatch.fcgi にリネイム
  • debian/redmine/usr/share/redmine/config/database.yml.example 削除
  • debian/redmine/usr/share/redmine/config/locales/*.yml について config./email.yml を /etc/redmine//email.yml に置き換え
  • extra とか script とか vendor 配下のいくつかのファイルについて実行権限の付与
  • /usr/bin/env ruby という記述を /usr/bin/ruby1.8 に置き換え

実行権限付けるあたりは汎用的ではないですね。

debian/source

source/format の中身が以下。

3.0 (quilt)

メンテナガイドによると

debian/source/formatファイルでは、ソースパッケージのための理想の書式を示すため
の行があります。 (完全なリストは、dpkg-source(1)を参照してください。)squeeze以
降は、以下のどちらかになっているべきです。

* 3.0 (native): Debianネイティブなパッケージ

* 3.0 (quilt): それ以外の全て。

第5章 debianディレクトリーにあるその他のファイルより引用
とのこと

debian/templates

debconf のテンプレ。以下な記述となってます (Template なエントリのみ)。

debian/watch

中身は以下。

version=3
http://rubyforge.org/frs/?group_id=1850 .*/redmine-(.*)\.tar\.gz

メンテナガイドの記述が以下。

watch ファイルの書式は uscan(1) を参照してください。watch ファイルは、uscan (
devscriptsパッケージに含まれます) を設定し、最初ソースを入手しサイトを監視しま
す。Debian External Health Status (DEHS)によっても使用されています。

第5章 debianディレクトリーにあるその他のファイルより引用
ここも理解が若干微妙。

一通り浚えたんですが

これを流用するとして、どうすりゃ良いかを検討してみます。ログは別途で。