RoR なでびあんパケジを無理やりでっち上げるの巻 (2)

とりあえず debconf および ucf をガン無視する形でメンテナスクリプトを書いて、とりあえず入って動くパケジにすべくもごもご中。とりあえず lintian で出てたエラーを除去しておく方向でナニ。
error なのは以下。今回とりあえずなので warning なナニは放置の方向です。

E: gitosis-web-admin: helper-templates-in-copyright
E: gitosis-web-admin: copyright-contains-dh_make-todo-boilerplate

てゆーか debuild が吐き出したパケジの素を見てみるに /usr/share/doc のみになっていることを発見。redmine なソースパケジを見るに debian/install というソレが必要らしいことが判明。現状以下なカンジになっております。

# Install the basic application files
app usr/share/gitosis-web-admin
config usr/share/gitosis-web-admin
db usr/share/gitosis-web-admin
lib usr/share/gitosis-web-admin
public usr/share/gitosis-web-admin
Rakefile usr/share/gitosis-web-admin
script usr/share/gitosis-web-admin
test usr/share/gitosis-web-admin
vendor/plugins usr/share/gitosis-web-admin/vendor
debian/conf/*.template usr/share/gitosis-web-admin/templates

まだ動作の確認には至っていないので上記が正しいかどうかは不明です。とりあえずこれでバイナリパケジの素には上記ファイルが含まれるという形になりました。
また、この時点で debian/conf が無し。ちなみに postinst にあるべきな database.yml 関連の記述もありません。というか redmine では debconf をばりばり使って処理が記述されている箇所になってます。
とりあえず sqlite3 限定ってことにして以下な database.yml.template を debian/conf/ に投入。

production:
  adapter: sqlite3
  database: /var/lib/dbconfig-common/sqlite3/redmine/instances/default/redmine_default
  encoding: utf8

これは酷いなあ。しかも debian/postinst の該当部分が以下な記述になってます。

        cp /usr/share/gitosis-web-admin/templates/database.yml.template $fYml

これも酷い。ここまで盛り込んで debuild したら大量の lintian なエラーが出力されてました。よくよく見てみるに debian/rules に手本にした redmine なパスの記述が残っていたためでした。なんでこんなにへろへろなんでしょ。
この時点で最初のエラーとの差分は下記三点となってます。

W: gitosis-web-admin: embedded-javascript-library usr/share/gitosis-web-admin/public/javascripts/jquery.js
W: gitosis-web-admin: script-not-executable usr/share/gitosis-web-admin/public/dispatch.fcgi
W: gitosis-web-admin: script-not-executable usr/share/gitosis-web-admin/public/dispatch.rb.example

public/dispatch.fcgi に云々、という件ですがソースの元ファイルに chmod で権限を付けても debuild する度に元に戻る、という事象を確認しております。
ちょっと一階層上にある .deb だの .tar.gz だのなナニを削除して debuild してみます。同時に

  • rules に加えた chmod 775 な命令をコメントアウト
  • public/dispatch.fcgi.example の権限を 775 に変更

して debuild してみます。どうなるか。

$ debuild
This package has a Debian revision number but there does not seem to be
an appropriate original tar file or .orig directory in the parent directory;
(expected one of gitosis-web-admin_0.0.1.orig.tar.gz, gitosis-web-admin_0.0.1.orig.tar.bz2,
gitosis-web-admin_0.0.1.orig.tar.lzma,  gitosis-web-admin_0.0.1.orig.tar.xz or gitosis-web-admin-0.0.1.orig)
continue anyway? (y/n) 

消したから無いのは当たり前です。続行。すると

dpkg-source: error: can't build with source format '3.0 (quilt)': no orig.tar file found

というナニを吐いて終了。面倒なので手で作るか (何
dh_make に --createorig というオプションがありますね。しかもスデに debian/ があったらスルーしていただける模様。
これで debuild するとどうなるか。そして中身はどうなっているのか。

-rwxr-xr-x 1 rms rms  965 2012-03-02 18:05 dispatch.fcgi

むむ。なんとかなった。でも本当のやり方ってこうじゃなさげ。quilt というツールで云々するはずなのだと思いますが、maint-guide 見ないとマズい。

現状

debian/copyright の記述を修正して error なナニは消えてるのですが、postinst な記述がまだ足りてません。gitosis-web-admin 的には

  • rake gems:install
  • rake db:create
  • rake db:migrate
  • rake gitosis:import
  • ssh の key を云々

などの後処理が必要なんですが、rake gitosis:import あたりから後は違うヒトにお任せした方が良さげに感じています。

debian/install

maint-guide 見たら 5.11 に記述がありますね。こんなことするのであれば、このあたりのドキュメントは先に見とけよ、って話ですよね。でも maint-guide には debconf とか ucf が云々な記述は無いですね。