ラベル RPM の投稿を表示しています。 すべての投稿を表示
ラベル RPM の投稿を表示しています。 すべての投稿を表示

2011年3月31日木曜日

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に必要なパッケージをインストール
  • ビルド用ユーザoko_changを追加
  • SRPMをダウンロードしてインストール
  • RPMビルドの準備
  • ビルド実行

以上で無事に”gem install sqlite3”が実行出来ました。
ちなみに素直にUbuntuを使えば、当然この手順は必要ありません。

2011年1月19日水曜日

CentOS5.5でpuppet2.6.4のrpmを作成する

Puppetを使用する場合、使用するバージョンやインストール方法はどんな方法が良いかなと悩んだりしています。
RubyGemsを使ったインストール方法を覚えておけば、どんなディストリビューションでも使えて便利そうです。
ただ、個人的に一番使い慣れたディストリビューションはCentOSなので、rpmで管理したいという気持ちもあります。
そんな悩みを持ちつつ、とりあえずrpmを作成したので手順を残しておこうと思います。

参考にしたページはこちらで、手順はほんとにそのままで申し訳ないくらいです。

  • rpmbuildに必要なパッケージをインストールします
  • その他puppetのインストールに必要なパッケージをインストールします
  • /usr/src/redhat/SOURCESディレクトリに移動してfacterとpuppetのソースファイルをダウンロード
  • ダウンロードしたファイルを展開します
  • 必要なパッチがあるか確認します
  • パッチファイルを探してSOURCESディレクトリに移動させます
  • バージョン情報を確認します
  • バージョン情報をダウンロードしたものと合わせて%changelogを編集します
  • 編集したspecファイルをSPECSディレクトリにコピーします
  • 不要なディレクトリを削除します
  • SPECSディレクトリに移動してfacterをbuildします
  • puppetのbuildに必要なのでbuildしたfacterをインストールします
  • SPECSディレクトリに移動してpuppetをインストールします
  • puppetをインストールします

以上でrpm作成は終わりです。
FacterもPuppetもすぐにbuildが終わる事にびっくり!
んー、でもやっぱり色々なディストリビューションで使える事を考えるとRubyGemsが便利そうだなー。

2010年12月15日水曜日

CentOS5.5でgit1.7.3のrpmを作成する

そうだ!ブログやってたんだ!
相変わらずの気まぐれ更新になってしまった。
勉強会とかに参加した感想をもっとキチンと書きたいなー。
ブログがある事を思い出す為にもCentOS5.5でgit1.7.3のrpmを作る手順をまとめとく。

こちらのブログが非常に手順としては参考になった。
というか手順はまんまです。

必要になりそうなパッケージをとりあえず一気にインストール

# yum -y groupinstall "Development Tools"
# yum -y groupinstall "Development Libraries"

その他以下のパッケージは必須なのでインストール

# yum -y install zlib-devel openssl-devel curl-devel expat-devel gettext xmlto gettext-devel

EPELからダウンロードしてインストールするパッケージもあります

# cd /usr/local/src/
# wget http://ftp.iij.ad.jp/pub/linux/fedora/epel/5Server/i386/asciidoc-8.1.0-1.el5.noarch.rpm
# wget ftp://ftp.iij.ad.jp/pub/linux/fedora/epel/5Server/i386/perl-Error-0.17010-1.el5.noarch.rpm
# rpm -ivh ./asciidoc-8.1.0-1.el5.noarch.rpm
# rpm -ivh ./perl-Error-0.17010-1.el5.noarch.rpm

パッケージの作成ディレクトリにソースをダウンロード

# cd /usr/src/redhat/SOURCES/
# wget http://www.kernel.org/pub/software/scm/git/git-1.7.3.tar.gz

specファイルを取り出してSPECSディレクトリに移動

# tar zxvf ./git-1.7.3.tar.gz git-1.7.3/git.spec
git-1.7.3/git.spec
# mv ./git-1.7.3/git.spec /usr/src/redhat/SPECS/

不要なディレクトリは削除します

# rm -rf ./git-1.7.3

SPECSディレクトリに移動してビルド開始

# cd /usr/src/redhat/SPECS/
# rpmbuild -bb --clean git.spec

こんな感じで作成されます

# tree /usr/src/redhat/RPMS/
/usr/src/redhat/RPMS/
|-- athlon
|-- geode
|-- i386
|   |-- git-1.7.3-1.i386.rpm
|   |-- git-all-1.7.3-1.i386.rpm
|   |-- git-arch-1.7.3-1.i386.rpm
|   |-- git-cvs-1.7.3-1.i386.rpm
|   |-- git-debuginfo-1.7.3-1.i386.rpm
|   |-- git-email-1.7.3-1.i386.rpm
|   |-- git-gui-1.7.3-1.i386.rpm
|   |-- git-svn-1.7.3-1.i386.rpm
|   |-- gitk-1.7.3-1.i386.rpm
|   |-- gitweb-1.7.3-1.i386.rpm
|   `-- perl-Git-1.7.3-1.i386.rpm
|-- i486
|-- i586
|-- i686
`-- noarch
7 directories, 11 files

あとはrpmコマンドでインストールすればOKです


すぐに消すテスト環境なのでrootユーザーで作業をしています。
各自の環境でビルドする時は一般ユーザーでビルドして下さい。