#!/bin/sh
#
# A wrapper script for Blender
#
# In case user's home directory doesn't contain ~/.blender, copy it
# from /usr/share/blender and the detected BLENDER_LIBDIR
if [ -x /usr/bin/blender-freeworld.bin ]; then
blend="blender-freeworld"
else
blend="blender"
fi
#Set the blender binary library directory
if [ -d ${BLENDER_LIBDIR}/plugins ]; then
break
elif [ -d /usr/lib64/blender/plugins ]; then
BLENDER_LIBDIR=/usr/lib64/blender
elif [ -d /usr/lib32/blender/plugins ]; then
BLENDER_LIBDIR=/usr/lib32/blender
elif [ -d /usr/lib/blender/plugins ]; then
BLENDER_LIBDIR=/usr/lib/blender
else
echo "blender binary directory was not found or BLENDER_LIBDIR is wrong"
exit 1
fi
if [ ! -d ~/.blender ]; then
mkdir -p ~/.blender
ln -sf /usr/share/locale ~/.blender/locale
ln -sf /usr/share/blender/.Blanguages ~/.blender
ln -sf /usr/share/blender/.bfont.ttf ~/.blender
ln -sf /usr/share/blender/VERSION ~/.blender/VERSION
mkdir -p ~/.blender/plugins
mkdir -p ~/.blender/scripts/bpydata/config
ln -sf /usr/share/blender/scripts/bpymodules ~/.blender/scripts/bpymodules
if [ -d ${BLENDER_LIBDIR}/plugins ]; then
ln -sf ${BLENDER_LIBDIR}/plugins/sequence ~/.blender/plugins/sequence
ln -sf ${BLENDER_LIBDIR}/plugins/texture ~/.blender/plugins/texture
fi
fi
if [ ! -d ~/.blender/scripts/bpydata ]; then
if [ -L ~/.blender/scripts/bpydata ]; then
rm ~/.blender/scripts/bpydata
fi
mkdir -p ~/.blender/scripts/bpydata/config
fi
#
# Fully update the plugins every time blender is launched.
#
for s in /usr/share/blender/scripts/bpydata/config/* ; do
s=`basename ${s}`
if [ $? ]; then
break
fi
if [ ! -e ~/.blender/scripts/bpydata/config/${s} ] ; then
cp -p /usr/share/blender/scripts/bpydata/config/${s} \
~/.blender/scripts/bpydata/config/${s}
fi
done
for s in /usr/share/blender/scripts/*.py* ; do
s=`basename ${s}`
if [ ! -e ~/.blender/scripts/${s} ] ; then
ln -sf /usr/share/blender/scripts/${s} ~/.blender/scripts/
fi
done
if [ -d ${BLENDER_LIBDIR}/scripts ] ; then
for s in ${BLENDER_LIBDIR}/blender/scripts/*.{py*,so} ; do
s=`basename ${s}`
if [ $? ]; then
break
fi
if [ ! -e ~/.blender/scripts/${s} ] ; then
ln -sf ${BLENDER_LIBDIR}/scripts/${s} ~/.blender/scripts/
fi
done
fi
/usr/bin/${blend}.bin $@