Rails3環境用にSQLite3のRPMを作成する
いやー、最近のこのブログの技術ネタといったら、
- このRPM作った
- あのRPM作った
- こんなRPM作った
と、ただのRPM作成ログの置き場となってますが、今回もRPMを作成したログです(汗)
すんません…orz 作成したきっかけは達人出版会さんから出版されている、”はじめる!Rails3”です。
こちらはRails3を始めるには良さそうな電子書籍で、Rails3の使い方を分かりやすく説明しています。
Linuxへの導入はUbuntu中心で書かれていますが、CentOSでも問題ないだろうと思ってました。
…しかし、SQLite3のインストール手順においてこんな記載がありました。
『Linux(CentOS 5)の場合は以下のコマンドを 実行します。』
残念な事に、この手順では”gem install sqlite3”が実行出来なかった訳です。
理由はCentOS5が使用するsqlite3のバージョンに古い事であり、『じゃあRPM作るか』ってなりますよね〜。
※今回はビルド専用ユーザーを作成していますが、SQLiteはrootでrpmbuildをするとエラーが出てしまいます
- RPMBuildに必要なパッケージをインストール
# yum update -y # yum -y groupinstall "Development Tools" # yum -y groupinstall "Development Libraries" # yum -y install tcl-devel
- ビルド用ユーザoko_changを追加
# useradd oko_chang # passwd oko_chang Changing password for user oko_chang. New UNIX password:***** Retype new UNIX password:***** passwd: all authentication tokens updated successfully. # su - oko_chang $ touch .rpmmacros $ echo "%_topdir $HOME/redhat" > .rpmmacros $ echo "%dist .el5" >> .rpmmacros $ mkdir redhat $ cd redhat/ $ mkdir BUILD RPMS SOURCES SPECS SRPMS $ cd ..
- SRPMをダウンロードしてインストール
$ wget "http://ftp.riken.jp/Linux/fedora/releases/13/Everything/source/SRPMS/sqlite-3.6.22-1.fc13.src.rpm" $ rpm -i --nomd5 sqlite-3.6.22-1.fc13.src.rpm
- RPMビルドの準備
$ cd /home/oko_chang/redhat/ $ grep ^Patch ./SPECS/sqlite.spec Patch1: sqlite-3.6.12-libdl.patch Patch2: sqlite-3.6.6.2-lemon-snprintf.patch $ ll ./SOURCES/ 合計 5536 -rw-r--r-- 1 oko_chang oko_chang 493 4月 3 2009 sqlite-3.6.12-libdl.patch -rw-rw-r-- 1 oko_chang oko_chang 2999137 1月 18 2010 sqlite-3.6.22.tar.gz -rw-r--r-- 1 oko_chang oko_chang 4135 12月 6 2008 sqlite-3.6.6.2-lemon-snprintf.patch -rw-rw-r-- 1 oko_chang oko_chang 2642221 1月 18 2010 sqlite_docs_3_6_22.zip $ grep BuildRequires ./SPECS/sqlite.spec BuildRequires: ncurses-devel readline-devel glibc-devel BuildRequires: autoconf BuildRequires: /usr/bin/tclsh BuildRequires: tcl-devel
- ビルド実行
$ cd ./SPECS/ $ rpmbuild -bb --clean sqlite.spec $ ll /home/oko_chang/redhat/RPMS/i386/ 合計 4204 -rw-r--r-- 1 oko_chang oko_chang 45341 2月 20 23:54 lemon-3.6.22-1.el5.i386.rpm -rw-r--r-- 1 oko_chang oko_chang 319335 2月 20 23:54 sqlite-3.6.22-1.el5.i386.rpm -rw-r--r-- 1 oko_chang oko_chang 1693352 2月 20 23:54 sqlite-debuginfo-3.6.22-1.el5.i386.rpm -rw-r--r-- 1 oko_chang oko_chang 84979 2月 20 23:54 sqlite-devel-3.6.22-1.el5.i386.rpm -rw-r--r-- 1 oko_chang oko_chang 2106761 2月 20 23:54 sqlite-doc-3.6.22-1.el5.i386.rpm -rw-r--r-- 1 oko_chang oko_chang 27155 2月 20 23:54 sqlite-tcl-3.6.22-1.el5.i386.rpm
以上で無事に”gem install sqlite3”が実行出来ました。
ちなみに素直にUbuntuを使えば、当然この手順は必要ありません。