install + ln wrappers for installworld
Simon 'corecode' Schubert
corecode at fs.ei.tum.de
Sat Jul 2 18:39:31 PDT 2005
hey,
see attached files for a possible way to register installed files in
installworld. try it with the ln conversion patch and
make installworld INSTALL_LOG=path-to-logfile \
INSTALL=sh\ path-to-install-wrapper.sh \
LN=sh\ path-to-ln-wrapper.sh
with install_wrapper.sh you can as well install as non-root:
add an env var INSTALL_NO_ATTR=1.
please try and comment.
cheers
simon
--
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low $$$ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
#!/bin/sh
logfile() {
f=$1
f=${f#./}
expr "$1" : \\/ >/dev/null || f="`pwd`/$f"
echo "$f" >> $INSTALL_LOG
}
param=
isdir=
while [ $# -ne 0 ]
do
case "$1" in
-[bCcdlMpSsv]*)
expr "$1" : ".*d" >/dev/null && isdir=1
param="$param '$1'"
shift
;;
-[LBfgmo])
if [ -n "$INSTALL_NO_ATTR" ]
then
else
param="$param '$1' '$2'"
fi
shift; shift
;;
-[LBfgmo]*)
if [ -n "$INSTALL_NO_ATTR" ]
then
else
param="$param '$1'"
fi
shift
;;
*)
break
;;
esac
done
if [ -n "$INSTALL_LOG" ]
then
if [ $# -lt 2 -a -z "$isdir" ]
then
echo "install: too few arguments" >&2
exit 1
fi
if [ -n "$isdir" ]
then
while [ $# -ne 0 ]
do
logfile "$1"
param="$param '$1'"
shift
done
elif [ $# -gt 2 -o -d "$2" ]
then
files=
while [ $# -ne 1 ]
do
files="$files '$1'"
shift
done
dir=$1
if [ \! -d "$dir" ]
then
echo "install: multiple files need directory as destination" >&2
exit 1
fi
eval set -- $files
while [ $# -ne 0 ]
do
bn=`basename "$1"`
logfile "$dir/$bn"
param="$param '$1'"
shift
done
param="$param '$dir'"
else
logfile "$2"
param="$param '$1' '$2'"
fi
else
while [ $# -ne 0 ]
do
param="$param '$1'"
shift
done
fi
eval set -- $param
exec install "$@"
#!/bin/sh
logfile() {
f=$1
f=${f#./}
expr "$1" : \\/ >/dev/null || f="`pwd`/$f"
echo "$f" >> $INSTALL_LOG
}
nofollowsym=
param=
while [ $# -ne 0 ]
do
case "$1" in
-[fhinsv]*)
expr "$!" : '.*[hn]' >/dev/null && nofollowsym=1
param="$param '$1'"
shift
;;
*)
break
;;
esac
done
if [ -n "$INSTALL_LOG" ]
then
if [ $# -eq 0 ]
then
echo "install: too few arguments" >&2
exit 1
fi
if [ $# -eq 1 -o $# -gt 2 -o ( -d "$2" -a ( -z "$nofollowsym" -o \! -L "$2" ) ) ]
then
files="'$1'"
shift
while [ $# -gt 1 ]
do
files="$files '$1'"
shift
done
if [ $# -eq 1 ]
then
dir=$1
else
dir=`pwd`
fi
if [ \! -d "$dir" ]
then
echo "ln: multiple files need directory as destination" >&2
exit 1
fi
eval set -- $files
while [ $# -ne 0 ]
do
bn=`basename "$1"`
logfile "$dir/$bn"
param="$param '$1'"
shift
done
param="$param '$dir'"
else
logfile "$2"
param="$param '$1' '$2'"
fi
else
while [ $# -ne 0 ]
do
param="$param '$1'"
shift
done
fi
eval set -- $param
exec ln "$@"
Attachment:
pgp00003.pgp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00003.pgp
Type: application/octet-stream
Size: 189 bytes
Desc: "Description: PGP signature"
URL: <http://lists.dragonflybsd.org/pipermail/submit/attachments/20050702/f94205d0/attachment-0018.obj>
More information about the Submit
mailing list