summaryrefslogtreecommitdiff
path: root/scripts/mkipkg
Side-by-side diff
Diffstat (limited to 'scripts/mkipkg') (more/less context) (show whitespace changes)
-rwxr-xr-xscripts/mkipkg8
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/mkipkg b/scripts/mkipkg
index a336371..2f020f4 100755
--- a/scripts/mkipkg
+++ b/scripts/mkipkg
@@ -215,97 +215,101 @@ createFileList()
local realFileList=
local missing=0
for file in $_fileList; do
local containedInList=0
for i in "${excludeMaskArray[@]}"; do
if [[ $file == $i ]]; then
containedInList=1
break;
fi
done
if [ $containedInList = 0 ]; then
if ! [ -e $file -o -L $file ]; then
echo "$self: $file not found"
missing=1
fi
realFileList=$file" $realFileList"
fi
done
_popd
if [ $missing = 1 ]; then
return 1
fi
setVar $2 "$realFileList"
}
stripFile()
{
- if [ -f $1 -a -x $1 ]; then
- $strip --strip-all $1
+ if [ ! -h $1 -a -f $1 -a -x $1 ]; then
+ $strip -p --strip-all $1
fi
}
substFile()
{
local oldfile=$1
if [ ! -e $2 ]; then return 1; fi
if [ -e $oldfile -o -L $oldfile ]; then
newfile=`echo $oldfile|sed -f $2|sed -e's,^/,,g'`
olddir=`dirname $oldfile`
base=`basename $oldfile`
newdir=`dirname $newfile`
# echo >&2 moving $oldfile to $newfile
if [ "$newdir" = "$olddir" ]; then
return 0
fi
mkdir -p $newdir
mv $olddir/$base $newfile
rmdir -p $olddir 2>/dev/null
fi
}
stripFiles()
{
for f in $1; do
+ # do not strip links
+ if [ ! -h ./$f ]
+ then
stripFile ./$f
+ fi
done
}
substFiles()
{
for f in $1; do
substFile ./$f
done
}
substAndStripFiles()
{
for f in $1; do
stripFile ./$f
substFile ./$f $2
done
}
installScript()
{
if [ -n "$1" -a -f "$1" ]; then
destfile=`basename $1`
filetype=`echo $destfile|cut -d. -f2`
if [ -n "$filetype" ]; then destfile=$filetype; fi
if [ -n "$subst" ]; then
sed -f $subst < $1 > $ctrldir/$destfile
else
cat $1 > $ctrldir/$destfile
fi
chmod +x $ctrldir/$destfile
fi
}