churchyard / 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

if [ -x /usr/bin/blender-freeworld.bin ]; then
    blend="blender-freeworld"
else
    blend="blender"
fi

if [ ! -d ~/.blender ]; then
    install -d ~/.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

    install -d ~/.blender/plugins/sequence
    install -d ~/.blender/plugins/texture

    install -d ~/.blender/scripts

    if [ -L ~/.blender/scripts/bpydata ]; then
	rm ~/.blender/scripts/bpydata
    fi

    if [ -d ~/.blender/scripts/bpydata ]; then
	mkdir -p ~/blender/scripts/bpydata
	mkdir -p ~/blender/scripts/bpydata/config
	cp -R /usr/share/blender/scripts/bpydata/* ~/.blender/scripts/bpydata/
    fi

    ln -sf /usr/share/blender/scripts/bpymodules ~/.blender/scripts/pbymodules
    ln -sf /usr/share/blender/scripts/* ~/.blender/scripts/

    if [ -d /usr/lib64/$blend/plugins ]; then
	ln -sf /usr/lib64/$blend/plugins/sequence ~/.blender/plugins/sequence
	ln -sf /usr/lib64/$blend/plugins/texture ~/.blender/plugin/textrure
    fi
fi


#
# Fully update the plugins every time blender is launched.
#

for s in /usr/share/blender/scripts/*.p* ; do
    s=`basename $s`
    if [ ! -e ~/.blender/scripts/$s ] ; then
         ln -sf /usr/share/blender/scripts/$s ~/.blender/scripts/
    fi
done

if [ -d /usr/lib64/blender/scripts ] ; then
    for s in /usr/lib64/blender/scripts/* ; do
	s=`basename $s`
	if [ ! -e ~/.blender/scripts/$s -a -x /usr/lib64/blender/scripts/$s ] ; then
	    ln -sf /usr/lib64/blender/scripts/$s ~/.blender/scripts/
	fi
    done
elif [ -d /usr/lib/blender/scripts ] ; then
    for s in /usr/lib/blender/scripts/* ; do
	s=`basename $s`
	if [ ! -e ~/.blender/scripts/$s -a -x /usr/lib/blender/scripts/$s ] ; then
	    ln -sf /usr/lib/blender/scripts/$s ~/.blender/scripts/
	fi
    done
fi


if [ -d /usr/lib64/$blend/plugins ]; then
    ln -sf /usr/lib64/$blend/plugins/sequence ~/.blender/plugins/sequence
    ln -sf /usr/lib64/$blend/plugins/texture ~/.blender/plugins/texture
elif [ -d /usr/lib/$blend/plugins ]; then
    ln -sf /usr/lib/$blend/plugins/sequence ~/.blender/plugins/sequence
    ln -sf /usr/lib/$blend/plugins/texture ~/.blender/plugins/texture    
fi

/usr/bin/${blend}.bin $@