Archive the result bundle

This commit is contained in:
2018-08-07 16:40:37 +02:00
parent aa30086fef
commit 710042f509

View File

@@ -19,6 +19,7 @@
SCRIPT=$(readlink -f $0)
SCRIPTPATH=`dirname $SCRIPT`
BENCHMARK_VERSION="1.0"
CONFIG="${SCRIPTPATH}/config"
@@ -51,31 +52,40 @@ fi
SVN_BENCHMARK_URL="https://svn.blender.org/svnroot/bf-blender/trunk/lib/benchmarks/cycles/"
SVN_BENCHMARK_CHECKOUT_DIRECTORY="${STORAGE_DIRECTORY}/benchmark_scenes"
BUNDLE_DIRECTORY="${STORAGE_DIRECTORY}/blender-benchmark"
SCENES="barbershop_interior bmw27 classroom fishy_cat koro pavillon_barcelona victor"
BUNDLE_DIRECTORY="${STORAGE_DIRECTORY}/blender-benchmark-${BENCHMARK_VERSION}"
SCENES="barbershop_interior bmw27 classroom fishy_cat koro pavillon_barcelona"
IMAGE_WIDTH=1600 # 800*2
IMAGE_HEIGHT=740 # 370*2
# Information about Blender to bundle.
if [ "${KERNEL_NAME}" == "Linux" ]; then
if [ "${BITNESS}" == "64" ]; then
BLENDER_PLATFORM_AND_EXTENSION="linux-glibc219-x86_64.tar.bz2"
BLENDER_PLATFORM="linux-glibc219-x86_64"
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.tar.bz2"
else
BLENDER_PLATFORM_AND_EXTENSION="linux-glibc219-i686.tar.bz2"
BLENDER_PLATFORM="linux-glibc219-i686"
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.tar.bz2"
fi
else
echo "ERROR: Unsupported platform."
exit 1
fi
# Tweak bundle directory.
BUNDLE_DIRECTORY="${BUNDLE_DIRECTORY}-${BLENDER_PLATFORM}"
BLENDER_RELEASE="2.79b"
BLENDER_RELEASE_NO_LETTER=${BLENDER_RELEASE//[a-z]/}
BLENDER_RELEASE_URL="https://download.blender.org/release/Blender${BLENDER_RELEASE_NO_LETTER}"
BLENDER_RELEASE_FILE="blender-${BLENDER_RELEASE}-${BLENDER_PLATFORM_AND_EXTENSION}"
BLENDER_FULL_URL="${BLENDER_RELEASE_URL}/${BLENDER_RELEASE_FILE}"
SVN=`which svn`
if [ -z "${SVN}" ]; then
echo "ERROR: Subversion is not found, can not continue."
GIT_BLENDER_REPOSITORY="git://git.blender.org/blender.git"
GIT_BENCHMARK_BRANCH="temp-benchmark"
CMAKE=`which cmake`
if [ -z "${CMAKE}" ]; then
echo "ERROR: cmake is not found, can not continue."
exit 1
fi
@@ -85,12 +95,43 @@ if [ -z "${CONVERT}" ]; then
exit 1
fi
GIT=`which git`
if [ -z "${GIT}" ]; then
echo "ERROR: Git is not found, can not continue."
exit 1
fi
MAKE=`which make`
if [ -z "${MAKE}" ]; then
echo "ERROR: Make is not found, can not continue."
exit 1
fi
STRIP=`which strip`
if [ -z "${STRIP}" ]; then
echo "ERROR: strip is not found, can not continue."
exit 1
fi
SVN=`which svn`
if [ -z "${SVN}" ]; then
echo "ERROR: Subversion is not found, can not continue."
exit 1
fi
TAR=`which tar`
if [ -z "${TAR}" ]; then
echo "ERROR: Tar is not found, can not continue."
exit 1
fi
WGET=`which wget`
if [ -z "${WGET}" ]; then
echo "ERROR: wget is not found, can not continue."
exit 1
fi
# Make sure storage directory exists.
if [ -z ${STORAGE_DIRECTORY} ]; then
echo "ERROR: STORAGE_DIRECTORY is not specified, can not continue."
@@ -126,7 +167,9 @@ echo "Downloading Blender..."
${WGET} -c "${BLENDER_FULL_URL}" -O "${STORAGE_DIRECTORY}/${BLENDER_RELEASE_FILE}"
echo "Unpacking Blender..."
mkdir -p "${BUNDLE_DIRECTORY}/blender"
tar -xf "${STORAGE_DIRECTORY}/${BLENDER_RELEASE_FILE}" --directory "${BUNDLE_DIRECTORY}/blender" --strip-components 1
${TAR} -xf "${STORAGE_DIRECTORY}/${BLENDER_RELEASE_FILE}" --directory "${BUNDLE_DIRECTORY}/blender" --strip-components 1
rm -f "${BUNDLE_DIRECTORY}/blender/blenderplayer"
# Create background to stack image on.
BACKGROUND_IMAGE="${STORAGE_DIRECTORY}/background.png"
@@ -153,3 +196,49 @@ for scene in ${SCENES}; do
rm ${output_scaled}
fi
done
################################################################################
# Compile blender-benchmark
SOURCE_DIRECTORY="${STORAGE_DIRECTORY}/blender.git"
BUILD_DIRECTORY="${STORAGE_DIRECTORY}/build-${BLENDER_PLATFORM}"
if [ ! -z "${CLEAN_BUILD_DIRECTORY}" ]; then
echo "Cleaning build directory..."
rm -rf "${BUILD_DIRECTORY}"
fi
GIT_C="${GIT} -C ${SOURCE_DIRECTORY}"
if [ ! -d "${SOURCE_DIRECTORY}" ]; then
echo "Checking out Blender.git..."
${GIT} clone "${GIT_BLENDER_REPOSITORY}" "${SOURCE_DIRECTORY}"
echo "Initializing submodules..."
${GIT_C} submodule update --init --recursive
fi
echo "Checking to a latest benchmark branch..."
${GIT_C} checkout ${GIT_BENCHMARK_BRANCH}
${GIT_C} pull
echo "Updatying submodules to the latest version..."
${GIT_C} submodule update --remote
mkdir -p "${BUILD_DIRECTORY}"
cd "${BUILD_DIRECTORY}"
${CMAKE} \
-C "${SOURCE_DIRECTORY}/build_files/cmake/config/blender_benchmark.cmake" \
-D CMAKE_INSTALL_PREFIX="${BUNDLE_DIRECTORY}" \
"${SOURCE_DIRECTORY}"
cd -
${MAKE} -C "${BUILD_DIRECTORY}" -j install
${STRIP} -s "${BUNDLE_DIRECTORY}/blender-benchmark"
################################################################################
# Package.
${TAR} \
-C "${STORAGE_DIRECTORY}" \
--exclude='*.pyc' \
-cjf `basename ${BUNDLE_DIRECTORY}`.tar.bz2 \
"`basename ${BUNDLE_DIRECTORY}`"