松本です。
その後試してみたことを追記してみます。
一旦 checkinstall-1.5.3-0vl1 をアンインストールしたうえで、本家より
checkinstall-1.6.0beta3.tgz を以下の手順でインストールし、
$ tar xzvf checkinstall-1.6.0beta3.tgz
$ cd checkinstall-1.6.0beta3
$ make
$ su
# make install
更に
# /usr/local/sbin/checkinstall
…としてみたところ、以下のメッセージが吐き出されました。
-- snip --
Installing with make install...
========================= Installation results ===========================
/usr/local/bin/installwatch: line 345: 2446 セグメンテーション違反です $@
**** Installation failed. Aborting package creation.
Cleaning up...OK
Bye.
…ということで、/usr/local/bin/installwatch の関係ありそうな個所を
探してみると、
#
# ##############################################################################
#
# Options and arguments parsing and validation
#
#
CKNAME=`basename $0`
PARAMS=`getopt -a -n $CKNAME -o +r:e:o:d:v:tb -l root:,transl:,backup:,exclude:,
logfile:,dbgfile:,dbglvl:,help,version,copyright -- "$@"`
…という部分と、エラーログで指摘のあった345行目の部分、
#
#
# Options and arguments parsing and validation
#
# ##############################################################################
#
LD_PRELOAD=$LIBDIR/installwatch.so
export LD_PRELOAD
if [ $INSTW_DBGLVL -gt 0 ]; then
echo "debug: INSTW_EXCLUDE=${INSTW_EXCLUDE}"
echo "debug: INSTW_ROOTPATH=${INSTW_ROOTPATH}"
echo "debug: INSTW_LOGFILE=${INSTW_LOGFILE}"
echo "debug: INSTW_DBGFILE=${INSTW_DBGFILE}"
echo "debug: INSTW_DBGLVL=${INSTW_DBGLVL}"
fi
$@ (←これが345行目)
if [ $? -eq 0 ]; then
FAIL=0
else
FAIL=1
fi
unset LD_PRELOAD
exit $FAIL
…という辺りでした。
bash の manページを見てみると、
@
(1 から始まる) 全ての位置パラメータに展開されます。ダブルクォートの
内部で展開が行われたときは、それぞれのパラメータは別々の単語に展開され
ます。つまり "$@" は "$1" "$2" ... と同じです。位置パラメータが無い場合
には、"$@" と $@ を展開しても空文字列になります (つまり取り除かれます)。
…とあるのですが、読み込みが足りないせいかもしれませんが、いまひとつ何を
意味しているのか理解できていません。
なにかヒントや気になることでもありましたら、どうぞご教授願います。
--
□●□ _/_/_/_/ To be Happy! _/_/_/_/
□□● _/_/_/_/_/_/ 松本 悟 _/_/_/_/_/_/
●●● _/ helios.reds@xxxxxxxxxxxxxxx _/