redmine Debian lenny用のdebパッケージを作り方

追記:
redmineでもbackportsで登録されていました。apt-get -t lenny-backport install redmineでいけます。


backportsでrailsの2.2.3が公開されています。sidでredmineが公開されていますので、これを利用します。

source.lstにlenny-backportsを追加します。

deb http://www.backports.org/debian lenny-backports main contrib non-free
deb-src http://www.backports.org/debian lenny-backports main contrib non-free

debパッケージの一覧を取得します。GPGについてエラーが出ますが、無視します。

# apt-get update
# apt-get -t lenny-backports  install rails

次にsidのredmineをインストールしますが、バージョンの違いがあるので作り直すことにします。
sidのredmineのページからソースパッケージをダウンロードします。

# wget http://ftp.de.debian.org/debian/pool/main/r/redmine/redmine_0.9.0~svn2907-1.dsc
# wget http://ftp.de.debian.org/debian/pool/main/r/redmine/redmine_0.9.0~svn2907.orig.tar.gz
# wget http://ftp.de.debian.org/debian/pool/main/r/redmine/redmine_0.9.0~svn2907-1.diff.gz

上記のURLは2009年10月18日時点のものです。sidはソースパッケージがどんどん更新されるので、上記のURLから取得できなくなるかもしれません。

ソースを展開します。
# dpkg-source -x redmine_0.9.0~svn2907-1.dsc
# cd redmine-0.9.0~svn2907/

このままdeb
パッケージを作成したいところですが、sidのバージョンでパッケージを作成するので、そのままだとインストール時に警告が出るようになってしまいます。そこで少しだけバージョンを調整します。

15行目を変更します。

# vi debian/control 
Depends: ruby, ruby1.8 (>= 1.8.7), rake (>=0.8.3), rails (>= 2.2.3), rails (< 2.3), libjs-prototype (>= 1.6.0), libjs-scriptaculous (>= 1.8.1), dbconfig-common, redmine-sqlite | redmine-mysql | redmine-pgsql, ${misc:Depends}

変更したのはlibjs-prototypeとlibjs-scriptaculousです。変更したらようやくdebパッケージを作成します。

# dpkg-buildpackage -us -uc

パッケージは一つ上のディレクトリに作成されます。

# apt-get install libjs-scriptaculous dbconfig-common ibjs-prototype rake libdbd-pg-ruby
(上記パッケージがないかもしれないので実行しておきます)
(DBはsqlite mysql postgresqlとありますが、これまでの惰性で$postgresqlでインストールしてみます)
# dpkg -i redmine-pgsql_0.9.0~svn2907-1_all.deb redmine_0.9.0~svn2907-1_all.deb 
(インストールとDBの設定が始まります)

とりあえずwebrickでの起動をしてみます。

# cd /usr/share/redmine
# sudo -u www-data X_DEBIAN_SITEID="default" ruby script/server webrick -e production -p [ポート番号] -b [IPアドレス]