Solarisにfortuneをインストールする

BSDとかLinuxに標準で含まれているfortuneですが、Solarisには標準で含まれていないので。

fortune ・・・ ジョークツールなんですが、格言辞書を用意すると、コマンドを実行する度にランダムに格言を表示してくれるツールです。


この辺りにSolaris用のfortune(Solaris2.4用?)があったのですが、
makefileの中身がイマイチだったので、ちょっと手直しして作成してみました。

fortune.tar.gz

ちょっとMakefileとかいじくってあるので、普通にPATH、crleの設定が行われたSolaris10環境であれば
$ make clean
$ make
# make install
# make install-man
でインストールできると思います。

何故かgcc -m64で64ビットバイナリを作成すると、辞書を全部表示する?ので、-m32で32ビットバイナリとして作成します。(ソース追っかけるのは・・・)


コンソール出力はこんな感じです。
$ make clean
cd strfile; make clean
rm -f strfile.o core strfile
cd fortune; make clean
rm -f fortune.o core fortune
cd datfiles; make clean
rm -rf *.dat
$ make
cd strfile; make
gcc -m32 -O2 -DSYSV  -c  strfile.c
gcc -o strfile -m32 -O2 -DSYSV strfile.o
cd fortune; make
gcc -m32 -O2 -DSYSV -I../strfile  -c  fortune.c
gcc -o fortune -m32 -O2 -DSYSV -I../strfile fortune.o -lgen
$ sudo make install
cd strfile; make
cd fortune; make
mkdir /usr/local/share/games /usr/local/share/games/fortune
cd datfiles; make install
../strfile/strfile -rs fortunes fortunes.dat
../strfile/strfile -rs startrek startrek.dat
../strfile/strfile -rs zippy zippy.dat
/usr/ucb/install -c -o bin -g bin -m 444 \
    fortunes startrek zippy /usr/local/share/games/fortune
/usr/ucb/install -o bin -g bin -m 444 fortunes.dat startrek.dat zippy.dat \
    /usr/local/share/games/fortune
cd fortune; make install
/usr/ucb/install -c -o bin -g bin -m 0555 fortune \
        /usr/local/bin/fortune
$ sudo make install-man
mkdir /usr/local/man/man6
cd fortune; make install-man
/usr/ucb/install -c -o bin -g bin -m 0444 fortune.6 \
        /usr/local/man/man6/fortune.6
$ fortune
Every four seconds a woman has a baby.  Our problem is to find this
woman and stop her.
fortuneは/usr/local/bin/にインストールされて、fortune辞書は/usr/local/share/games/fortuneにインストールされます。
(strfileはそのままではインストールされませんが、fortune/strfile/strfileにバイナリができあがりますので、/usr/local/bin辺りにでもコピーしておくと良いかも・・・)



で、好みの辞書を拾ってきて、、bashrcとかscreenrcに書いて置く、、、と。


あと辞書の話ですが、%で区切ったテキスト(複数のメッセージを用意して、各々のメッセージを%だけを書いた行で区切ったもの)を用意すれば、別にすぐ作れます。

たとえば、
メッセージ
  これはテストメッセージ1です
%
テストメッセージ2だっての
  だからテストメッセージ2だっていうの
%
そんなこと、全然知らんから
  テストメッセージ3
%
という内容でtestというファイルを作って、
$ fortune/strfile/strfile test
とすると、test.datというファイルができあがるので、
testとtest.datの2つを/usr/share/games/fortuneか/usr/local/share/games/fortuneの下に置けばよい。
あとは
$ fortune test
とでもすれば、ランダムに表示される。



それにしても、fortuneの日本語辞書って少ない。。。