. Sun & Solaris 廃品利用研究所 . dot 本サイトの利用条件 dot 更新履歴 dot テクノロジー dot .
DOT
dot ハードウェア dot ソフトウェア dot ネットワーク dot 写真館 dot LaTeX dot Download dot
. .
.
メニュー

. . Solaris
. . . パッケージ
. . . . 作成する
. . . パッチ
. . . . 推奨パッチ
. . . Solaris標準
. . . . NTP
. . . . 文字変換
. . . ファイルシステム
. . . . usfdump
. . . . usfrestore
. . . . CDイメージ活用
. . . SUN RAY
. . . . TIPS
. . . apache
. . . . apache+php
. . . Freeware
. . . . Solaris 8

パッケージを作成する


通常,自分で使うアプリケーションは,「適当にコンパイル」して導入するだけです.
パッケージにする必要性は無い場合が多いのですが,パッケージを作ることによるメリットもありますので簡単な.簡易的なパッケージの作り方を解説します.

パッケージ化するメリット


・・・なっにかあるかなぁ・・・
インストールしたソフトウェアの管理が楽になるくらいですかね.

パッケージを作ろう


パッケージを作るからといって,なにか特別なことをするわけではないのです.
ともかく,開発環境を作って,コンパイルして,と普通の作業をしていきます.とりあえず,何か例題を挙げてパッケージにしていくことにします.

パッケージ化してみる


ここでは,例題として「nkf」で作業してみることにします.

パッケージの入手とコンパイル


この辺りは普段と同じことですね.

パッケージを入手して展開,コンパイルまでを行います.
実際にやったときの記録を示します.


% wget ftp://ring.nihon-u.ac.jp/pub/FreeBSD/distfiles/nkf171.shar
...
% sh ./nkf171.shar
...
% gcc -O2 nkf.c -o nkf
...
% ./nkf -e nkf.1j
... # ここで日本語が表示されるか(変換されるか)チェック
% ./nkf -e nkf.1j > nkf.1.ja
... # MANの日本語版を作成
% ./nkf -e nkf.doc > nkf.euc
... # DOCを変換

普通というと,ちょっと違うかもしれませんね.make depend/makeとかするわけですからね.

パッケージにする


パッケージにする・・・ここからがパッケージ化するための作業になります.


% mkdir pkg
% mkdir pkg/DOC
% mkdir pkg/bin
% mkdir pkg/man
% mkdir pkg/man/man1
% mkdir pkg/man/ja
% mkdir pkg/man/ja/man1

% cd pkg/man
% ln -s ja ja_JP.eucJP
% ln -s ja japanese
% cd ../..

この様にして,とりあえずパッケージを作るためにディレクトリを作ります.そして,その中にパッケージに必要なものを突っ込んで行きます.

% cp nkf pkg/bin/
% cp nkf.1 pkg/man/man1
% cp nkf.1.ja pkg/man/ja/man1/nkf.1

% cp nkf.euc pkg/DOC/nkf.doc

ここまですると,必要なファイルが必要な個所に移動しています.
移動が完了したら,パッケージにするための最低限のファイルを作成しましょう.

% cd pkg
% pkgproto . > prototype

こうすると,prototypeというファイルが出来あがります.これを覗いてみましょう.

% vi prototype
---
d none DOC 0755 staff staff
f none DOC/nkf.doc 0644 staff staff
d none bin 0755 staff staff
f none bin/nkf 0755 staff staff
d none man 0755 staff staff
d none man/man1 0755 staff staff
f none man/man1/nkf.1 0644 staff staff
d none man/ja 0755 staff staff
d none man/ja/man1 0755 staff staff
f none man/ja/man1/nkf.1 0644 staff staff
s none man/ja_JP.eucJP=ja
s none man/japanese=ja
f none prototype 0644 staff staff
---

これはファイルをインストール際のファイルになるわけです.
これを雛型に修正して行く必要があります.

まず,いらないものを削り必要なものを削除します.
いらないファイルはただ一つ.prototypeです.このファイルは手順書でありインストールすべきファイルではないですからね.
削除は簡単で,その行を消してしまえば良いです.

そして追加個所.
これは決り文句として追加します.一番上の部分に一行を追加します.

i pkginfo=pkginfo

これを追加します.
最後に・・・ファイルのパーミッションと属するユーザとグループを修正します.
この辺は見たままだと思います.ので詳しくは解説しません.
その辺を修正すると以下のようなファイルの内容になると思います.

i pkginfo=pkginfo
d none DOC 0755 root bin
f none DOC/nkf.doc 0644 root bin
d none bin 0755 root bin
f none bin/nkf 0755 root bin
d none man 0755 root bin
d none man/man1 0755 root bin
f none man/man1/nkf.1 0644 root bin
d none man/ja 0755 root bin
d none man/ja/man1 0755 root bin
f none man/ja/man1/nkf.1 0644 root bin
s none man/ja_JP.eucJP=ja
s none man/japanese=ja

これで一つファイルが完成しました.
残るのはもう一つ.pkginfoという名前のファイルです.

% vi pkginfo
---
PKG=FSPnkf
NAME=Network Kanji code conversion Filter
VERSION=1.7
ARCH=sparc
CATEGORY=application
BASEDIR=/usr/local
---

この内容は適当に修正してください.このみの問題ですね.

ここまで出来たら,コマンドを使って固めます.

% pkgmk -r . -d ..
% cd ..
% pkgtrans -s . nkf17-solaris8-sparc-local

これで出来たファイルがパッケージになってます.
このみの圧縮をかけて保存しておきましょう.
     
  POWERED BY Visual Editor! Valid HTML 4.01! Valid CSS!
DOT LOGO
■作成日■ 2003.02.02 ■更新日■ 2003.02.02 ■作成者■ Shuntaro Tojo
本ページは,Netscape 7.0/InternetExplorer 6.0でのみ表示確認しています.
.