Solarisのpackageを作る
日本語のよい資料が無かったので,とりあえず自分用にメモ。
1) cd ~/tmp
2) ダウンロードする
3) 展開する
tar zxvf hoge.tar.gz
4) cd hoge
5) 仮インストールする
ruby install.rb config --prefix=~/lib ruby install.rb setup ruby install.rb install
6) cd ~/lib/hoge
7) prototypeを作る
pkgproto > prototype
8) prototypeを編集する
- i pkginfoを先頭に追加
- オーナー/グループをroot/rootに変更
- prototype自身が含まれていれば削除
9) pkginfoを作る
こんな感じのファイル。
PKG=HOGEr168-hoge
NAME=Hoge
VERSION=0.7.1
ARCH=sparc
DESC=Hoge interface for Ruby
BASEDIR=/usr/local
CLASSES=none
CATEGORY=library
VENDOR=hoge
EMAIL=ma2@hoge
BASEDIRはインストール先なので重要。たいていは/usr/localでいいはず。仮インストールのときに usr ディレクトリから作っておいて,BASEDIR=/ でもできるが,あまりやらない方がいいらしい。
10) pkgmkする
pkgmk -r . -d ~/tmp
こうすると~/tmpにpkginfoのPKGの名前のディレクトリができる。-d を省略すると /var/spool/pkgにできる(その方がいいかもしれない)
11) cd ~/tmp
12) pkgtransする
pkgtrans -s ~/tmp HOGEr168-hoge.pkg HOGEr168-hoge
pkgtrans -s [pkgmkした結果がおいてあるディレクトリ] [これから作るパッケージ名] [ディレクトリの中のどのパッケージを対象にするか]
pkgtransは,パッケージ前のディレクトリが,特定のディレクトリにたくさんおいてあるような構成を前提にしてあるらしい。
13) pkgadd する
できたパッケージを確認
pkgadd -d HOGEr168-hoge.pkg
これでインストールできたか見ればよい。