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