[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:70047] Re: ソースコードの管理の仕方


塩崎です。


From: うりん <auaak003 _at_ wombat.zaq.ne.jp>
Subject: [linux-users:70044] ソースコードの管理の仕方
Date: Fri, 2 Jun 2000 21:11:22 +0900
Message-ID: <001201bfcc8d$a3e1c300$0101a8c0 _at_ nomoto.zaq.ne.jp>

> 最近どうやって、ソースコードからmake installした
> ソフトをUn installするか悩んでます。
> また、どうやってRPMパッケージのライブラリと、
> make install ("/usr/local/"以下に) してインストールされた
> ライブラリをどのように管理していけばよいのかわかりません。
> おそらくは、他のユーザさんは経験上で、
> 考えることなのかもしれませんが
> コツのようなものがあったり、こうするのが一般的、などの
> 答えを持っている方がいらっしゃいましたら、
> 是非教えてください。

UNIX の伝統としては、「一度入れたもんはアンインストールしない」
ってのがあるので、そう割り切ってしまうとか。

あるいは、パッケージングシステムに高度に依存した RedHat とかでは、
パッケージに頼らずに何か入れるとパッケージングシステムの整合性を
壊しますので、何か入れる時はまず最初にパッケージを作るのが正しい
やり方です。以前も書いたんですが、「良いパッケージングシステムの要件の
一つは簡単にパッケージが作れること」ってのはそこにあるのです。

とはいえ、私自身は最初はパッケージングシステムがない UNIX 使ってたという
のもあるし、/usr 以下にいろいろ放り込まれたり、パッケージデータベースが
壊れた時のことを考えると夜も寝れなくなるので、未だにパッケージング
システムには頼らない人だったりします。

私が SunOS4 を使ってたころにあみ出した方法は、prefix を使って適当な
ディレクトリに一つ一つインストールしちゃう方法です。
例えば、configure スクリプトに対応した funyu というアプリケーションの
ver 1.0 だったら、

 % configure --prefix=/usr/local/apps/funyu-1.0
 % make
 # make install
 # cd /usr/local/apps
 # ln -s funyu-1.0 funyu
 # ln -s /usr/local/apps/funyu/bin/* /usr/local/bin
 # ln -s /usr/local/apps/funyu/lib/* /usr/local/lib

とかやります。1.1 にバージョンアップしたら、

 % configure --prefix=/usr/local/apps/funyu-1.1
 % make
 # make install
 # cd /usr/local/apps
 # ln -sf funyu-1.1 funyu
 # ln -sf /usr/local/apps/funyu/bin/* /usr/local/bin
 # ln -sf /usr/local/apps/funyu/lib/* /usr/local/lib

とかする。
# 私は /usr/local/bin とかじゃなくて /usr/local/apps/bin とかを
# 作ってるけど。

消す時は、

 # find /usr/local -type l -exec sh -c 'if ls -l {} | grep /usr/local/apps/funyu >/dev/null ; then rm {}; fi' \;
 # rm /usr/local/apps/funyu
 # rm -rf /usr/local/apps/funyu-1.0

とかする。find の -exec 以下は未検証なのでそのまま使って壊しても
知りませんので使う時に適当に検証してください。

この方法は、ライブラリの依存関係が複雑なものになるといろいろめんどいのと、
必ずしも configure みたいに簡単にいかないこともあるのと、
こういう symlink の使い方を嫌う人もいるのとで、必ずしもお薦めはしません。
まあ余力があればやっぱり、RedHat 系だったら RPM の作り方を覚えた方が
幸せでしょうね。覚えてもヨソでは使えないのがシャクですけど。


では。
--
Takuya SHIOZAKI / ASTEC Products, Inc.

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: