#!/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 $@