pviktori / rpms / blender

Forked from rpms/blender 5 years ago
Clone
Blob Blame History Raw
#!/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 $@