Fedora 15とRHEL6(CentOS/Scientific)で使えるgroovyserv-0.9をrpm化した。

groovyserv-0.9がリリースされたので、早速rpm化しました。

Fedora15: groovyserv-0.9-0.fc15.x86_64.rpm
Fedora15: groovyserv-ruby-0.9-0.fc15.x86_64.rpm


RHEL6: groovyserv-0.9-0.el6.x86_64.rpm
RHEL6: groovyserv-ruby-0.9-0.el6.x86_64.rpm


今回のリリースで、MavenとGradle両方でビルドできるようになりました。(今後はMavenはなくなるっぽいです)
というわけでrpmのbuild specも若干変更を入れました。
また、Mavenを使わなくて良くなったため、Fedoraでもel6でも同じようにビルドできるようになって非常にらくちんです。

  • groovyservのビルド環境を用意する
[kazuhisya@gserv-build ~]$ uname -a
Linux gserv-build.localdomain 2.6.38.8-32.fc15.x86_64 #1 SMP Mon Jun 13 19:49:05 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

[kazuhisya@gserv-build ~]$ sudo yum install rpm-build wget gcc make unzip java-1.6.0-openjdk groovy ruby -y
[kazuhisya@gserv-build ~]$ mkdir -p rpmbuild/SPECS rpmbuild/SOURCES
[kazuhisya@gserv-build ~]$ cd rpmbuild/SOURCES
[kazuhisya@gserv-build SOURCES]$ wget http://github.com/downloads/kobo/groovyserv/groovyserv-0.9-src.zip
[kazuhisya@gserv-build SOURCES]$ cd ../SPECS
[kazuhisya@gserv-build SPECS]$ wget https://raw.github.com/kobo/groovyserv/master/contrib/rpm/groovyserv.spec
  • groovyservのビルドを執り行う
[kazuhisya@gserv-build SPECS]$ pwd
/home/kazuhisya/rpmbuild/SPECS

[kazuhisya@gserv-build SPECS]$ rpmbuild -ba ./groovyserv.spec
  • groovyservのrpmをインストールする。
[kazuhisya@gserv-build SPECS]$ cd ../RPMS/x86_64/
[kazuhisya@gserv-build x86_64]$ sudo yum install --nogpgcheck ./groovyserv-* -y
    • これで終了。
    • Rubyクライアントが不要の場合は、groovyserv-rubyを抜かしてインストール。
  • トラブルシュート
    • ビルドに失敗する
    • ケース1: hostnameが解決できない
      • 僕はコレで若干ハマりました。Mavenの時は気にしなくてよかったのですが、Gradleは依存をダウンロードするときに、自分のhostnameを確認するようです。
      • なので /etc/hosts で確実に自hostの名前解決ができるようにしておく必要があるようです。とくに、Fedora15はデフォルトでは、インストール時に決めたhotnameを /etc/hosts に書いてくれなくなったので、確認したほうが良さそうです。
    • ケース2: その他のビルドエラー
      • 場合によりますが、テストに失敗する場合、specの39行目を ./gradlew clean dist に書き換えると通るようになるかと思います。
      • これはあくまですべてのテストをスキップする方式なので最終手段ですが・・・


あわせてどうぞ: Groovy 1.8.1のRHEL6用rpm作ったよ!(と、おまけ - kazuhisya::備忘録的な何か