[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:13641] Re: How to make tgz package



こじま@やっぱり T-Zone 本店は閉店か、、です。

# 正面の入口から入ったところにギャルゲーのコーナーを作った時点で終って
# いるような気はしたな、、(笑)

From: Shun-ichi TAHARA (田原 俊一) <jado@flowernet.gr.jp>
Subject: [plamo:13639] Re: How to make tgz package
Date: Thu, 18 Apr 2002 00:23:43 +0900

> > tarで展開したディレクトリに入ってrootになり、
> > # mkdir -p hoge/usr  作業ディレクトリをhogeという名前にする。
> > # make install prefix=`pwd`/hoge/usr  hoge/usr以下にインストール。
> > # cd hoge
> > # makepkg apel[flim,semi].tgz
> > としてパッケージを作るのだと思うのですが、インストール
> > されるはずのhoge/usr以下が空になっており、/usr以下の
> > ディレクトリに普通にインストールされてしまいます。
> 
> 上記方法は、典型的なAutoconf/Automakeモノでしか通用しません。
> # Autoconfモノでも、ちょっと細工しないとうまくいかないものもあります
> 
> make install でどこに突っ込まれるかは、究極には Makefile を覗いてみる
> しかありません。とりあえず、make -n install で、実行されるコマンド列が
> 表示されるだけになりますので、これで確認可能です。

インストールされてしまうのでイヤと言えばイヤなんだけど、

# touch /tmp/checkflag
# make install
# find / -cnewer /tmp/checkflag

とかして、インストールされたファイルを見つけて、それらを適当なディレク
トリ以下に配置する、という手もありますね。

そうやって作ったパッケージで上書きしてやれば、一応 pkgtool から削除す
ることも可能になるはず。

> だいたいは、Makefile の prefix変数か、PREFIX環境変数あたりを設定すれば
> うまくいくようですが、場合によっては Makefile の手修正が必要だったりし
> ます。

util-linux あたりの、かなり critical なパッケージだと、PREFIX 等に関わ
らずに、インストール先は /sbin 決め打ち、みたいなのもありますね。この
あたりになると make -n install の出力を人力でパースして必要な処理をス
クリプト化することになるんだけど、結構面倒なんだよなぁ、、

-------
こじま

Follow-Ups
[plamo:13644] Re: How to make tgz package, Hiroshi Kasai
References
[plamo:13638] How to make tgz package, Yokoyama Nobuhiro
[plamo:13639] Re: How to make tgz package, Shun-ichi TAHARA (田原 俊一)

[検索ページ] [メール一覧]
Plamo ML 公開システム