[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:29341] Plamo-4.5b2 のinstallpkgについて
-
From:M.H
-
Date:Fri, 19 Sep 2008 20:54:07 +0900 (JST)
- Subject: [plamo:29341] Plamo-4.5b2 のinstallpkgについて
- From: "M.H" <misty_haiku@xxxxxxxxx>
- Date: Fri, 19 Sep 2008 20:54:07 +0900
こんばんは、M.H です。
# 住んでいるところではまだ台風はそんなにひどくならないけど
# これからがちょっと心配…
ベータ1は正味1日しか弄らなかったので気づかなかったんですが、
ベータ版になってから、doinst.sh で、
#%% bigin
#%% end
で囲まれた部分(いわゆる initpkg スクリプト、/var/log/initpkg/<パッケージ名>)が、
/etc/rc.d/rc.M から /etc/rc.d/rc.initpkg で実行される時以外、
ルートディレクトリで実行されることが無くなってしまいました。
アルファ版までは、このスクリプトは、カレントディレクトリがどこであろうと、
installpkg を打った時に必ずルートディレクトリで実行されていたので、
例えば、
#%% begin
chmod 4711 bin/ping
#%% end
といった処理を、doinst.sh に書いておいても、
エラーになりませんでした。
しかし、ベータ版の installpkg では、initpkg スクリプト部分で、
例のような相対パスを使ってしまうと、
installpkg を打った時には、file not found というエラーになってしまいます。
今まで、doinst.sh に何か処理を追加したい場合には、
ビルドスクリプトの最後の部分に、例えば、
-- ビルドスクリプトの始めからここまで省略
cd $P
/sbin/makepkg $W/$pkgl.tgz << EOF
y
EOF
mkdir -p install
touch install/doinst.sh
cat << EOF >> install/doinst.sh
#%% begin $pkgl post install script
なんかの処理
#%% end
EOF
rm -f $W/$pkgl.tgz
/sbin/makepkg $W/$pkgl.tgz << EOF
y
EOF
-- ビルドスクリプトの終わり
のような記述を追加して、自前のパッケージを作ってきたので、
「initpkg スクリプトがルートディレクトリで実行されるのはマシンの起動時のみ。
それ以外は、installpkg を実行したカレントディレクトリ。」
という仕様に変更されたのなら、
今までの個人的なパッケージの作り方を考え直して、
少なくとも、initpkg スクリプトとして切り出される部分には、
相対パスではなくて絶対パスで記述しなければいけない、
と思いました。
以上、長文失礼しました(_ _)
Thanks!
-M.H
- Follow-Ups
-
- [plamo:29342] Re: Plamo-4.5b2 のinstallpkg について, KOJIMA Mitsuhiro
[検索ページ]
[メール一覧]
Plamo ML 公開システム