はじめに
Groongaは基本的にLinuxではビルドすることが可能です。FreeBSDへポートされていたり、Gentoo Linuxにもebuildがあるようです。
この記事ではArch Linux向けにGroonga族をパッケージングしているという話を書きます。
Arch Linuxとは
Arch LinuxはArch Build System(ABS)を持ち、システムをシンプルかつミニマムにするように設計されています。また、設定は基本的にGUIでは行わず、ファイル編集により行う方式となっています。あとArch Linux Wikiはとても充実していますね!
PKGBUILD
Arch Linuxのビルドシステム(ABS)に乗ってパッケージングするにはPKGBUILDを知る必要があります。積極的にパッチを当ててビルドするような仕組みにはなっておらず 1、基本的にはバニラのソフトウェアをビルドして使うことになります。
PKGBUILD | Arch Wikiを見るとほとんどやるべきことは書かれています。パッケージ名の指定、tarballのハッシュ値、依存関係、build()
関数、package()
関数の辺りが最低限把握しておくべき情報です。
AURとは
Arch User Repository(AUR)はアカウントを作成すれば、誰でもPKGBUILDを登録できる仕組みです。そのため、AURに置かれているPKGBUILDは基本的に現状有姿・無保証で扱う事が求められます。これはオープンソース・ソフトウェアでも同じなので特にハードルにはなりませんね!
去年もGroongaのAURについてアドベントカレンダーで言及しています が、今年の夏頃にAURがバージョン4へと移行しました。AURがtarballをWebUIで登録する方式ではなく、gitベースになり、pushするだけで良くなりました。また、co-maintainerという概念が登場し、共同でAURパッケージを管理できるようになっています。
Groonga族のPKGBUILD
GroongaとMroonga、そしてPGroongaをAURからインストールできるようにメンテナンスを続けています。2
PKGBUILDのリポジトリは去年から変わらずこちらです。今年はPGroongaのPKGBUILDとcutter testing frameworkのPKGBUILDが増えました。また、Cortex A9のARM CPUを積んだARMボードでのArch Linux
環境を整えたのでいくつかのPKGBUILDはarmv7h向けにもビルドできることを確認しています。
おわりに
GroongaはArch Linuxでもコマンド一発でインストールが可能になっています。Arch Linuxをお使いの方でAURパッケージのメンテナンスに興味があったり、AURパッケージを使ってみての不具合報告しようかしまいか抱えていたりする場合はぜひ声を上げていただけるとうれしいです3。
-
一応パッケージをビルドする前にパッチを当てているPKGBUILDも存在します。ただしあまり見かけません。 ↩
-
最近はちょっと更新が遅れ気味です、すみません。。 ↩
-
Arch Linuxを使っていなくても実はArch LinuxのVagrantBoxを作るpackerスクリプトもあるのでこれを機にArch Linuxに挑戦してみるのもいいかもしれません。 ↩