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

[plamo:29341] Plamo-4.5b2 のinstallpkgについて



こんばんは、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 公開システム