libretro-super/libretro-buildbot-recipe.sh

2108 lines
55 KiB
Bash
Raw Normal View History

# vim: set ts=3 sw=3 noet ft=sh : bash
####usage:
2015-10-13 23:18:23 +00:00
# ./libretro-buildbot-recipe.sh configfile
# if you want to force all enabled cores to rebuild prepend FORCE=YES
# you may need to specify your make command by prepending it to the commandline, for instance MAKE=mingw32-make
#
2014-12-06 18:46:21 +00:00
# eg: FORCE=YES MAKE=mingw32-make ./libretro-fetch-and-build.sh buildbot
2015-10-13 23:18:23 +00:00
# setup the environment with the variables from the recipe config
2015-01-29 03:22:06 +00:00
echo "BUILDBOT JOB: Setting up Environment for $1"
2015-03-07 00:11:33 +00:00
echo
2015-07-26 01:25:59 +00:00
LOGDATE=`date +%Y-%m-%d`
ORIGPATH=$PATH
2014-12-17 23:59:08 +00:00
WORK=$PWD
2015-10-13 23:18:23 +00:00
echo OLD PATH: $PATH
while read line; do
KEY=`echo $line | cut -f 1 -d " "`
VALUE=`echo $line | cut -f 2 -d " "`
if [ "${KEY}" = "PATH" ]; then
export PATH=${VALUE}:${ORIGPATH}
2015-10-13 23:18:23 +00:00
echo NEW PATH: $PATH
else
export ${KEY}=${VALUE}
echo $KEY: $VALUE
fi
2015-03-09 12:23:17 +00:00
done < $1.conf
2014-12-06 18:46:21 +00:00
echo
echo
2015-10-13 23:18:23 +00:00
# set a few extra variables with libretro-config.sh
. $WORK/libretro-config.sh
2015-10-13 23:18:23 +00:00
# set jobs to 2 if not specified
2015-08-29 03:24:40 +00:00
if [ -z "$JOBS" ]; then
2015-10-13 23:18:23 +00:00
JOBS=2
2015-08-29 03:24:40 +00:00
fi
2015-09-10 23:14:34 +00:00
2015-10-13 23:18:23 +00:00
# set force to NO if not specified
# this is useful if running manually
2015-09-10 05:39:29 +00:00
if [ -z "$FORCE" ]; then
2015-09-13 16:52:57 +00:00
FORCE=NO
2015-09-10 05:39:29 +00:00
fi
2015-09-10 23:14:34 +00:00
2015-10-13 23:18:23 +00:00
# set force_retroarch_build to NO if not specified
# this is useful if running manually
if [ -z "$FORCE_RETROARCH_BUILD" ]; then
FORCE_RETROARCH_BUILD=NO
2015-09-10 23:14:34 +00:00
fi
2015-10-13 23:18:23 +00:00
# keep track if cores have been built to force building RetroArch
# for statically linked platforms
CORES_BUILT=NO
2015-09-10 23:14:34 +00:00
2015-10-13 23:18:23 +00:00
# original values of some variables that might change for a particular job
2015-09-10 18:17:36 +00:00
OLDFORCE=$FORCE
2015-08-29 03:24:40 +00:00
OLDJ=$JOBS
2015-10-13 23:18:23 +00:00
echo === BUILDBOT VARS: $LOGDATE BOTNAME: $BOT FORCE: $FORCE JOBS: $JOBS ===
2015-08-29 03:24:40 +00:00
2015-10-13 23:18:23 +00:00
# set format_compiler_target
[[ "${ARM_NEON}" ]] && echo 'ARM NEON opts enabled...' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-neon"
[[ "${CORTEX_A8}" ]] && echo 'Cortex A8 opts enabled...' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-cortexa8"
[[ "${CORTEX_A9}" ]] && echo 'Cortex A9 opts enabled...' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-cortexa9"
[[ "${ARM_HARDFLOAT}" ]] && echo 'ARM hardfloat ABI enabled...' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-hardfloat"
[[ "${ARM_SOFTFLOAT}" ]] && echo 'ARM softfloat ABI enabled...' && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-softfloat"
[[ "${IOS}" ]] && echo 'iOS detected...'
read_link()
{
TARGET_FILE="$1"
cd $(dirname "$TARGET_FILE")
TARGET_FILE=$(basename "$TARGET_FILE")
2015-03-09 12:23:17 +00:00
while [ -L "$TARGET_FILE" ]; do
TARGET_FILE=$(readlink "$TARGET_FILE")
cd $(dirname "$TARGET_FILE")
TARGET_FILE=$(basename "$TARGET_FILE")
done
PHYS_DIR=$(pwd -P)
RESULT="$PHYS_DIR/$TARGET_FILE"
echo $RESULT
}
SCRIPT=$(read_link "$0")
echo "SCRIPT: $SCRIPT"
BASE_DIR=$(dirname "$SCRIPT")
if [ -z "$RARCH_DIST_DIR" ]; then
RARCH_DIR="$BASE_DIR/dist"
RARCH_DIST_DIR="$RARCH_DIR/$DIST_DIR"
fi
2015-10-13 23:18:23 +00:00
# create the folder that will hold compiled cores
2014-12-31 21:09:22 +00:00
mkdir -v -p "$RARCH_DIST_DIR"
2014-12-23 23:11:56 +00:00
2015-10-13 23:18:23 +00:00
# create the folder for each androi abi
if [ "${PLATFORM}" = "android" ]; then
2015-03-09 12:23:17 +00:00
IFS=' ' read -ra ABIS <<< "$TARGET_ABIS"
for a in "${ABIS[@]}"; do
echo $a
if [ -d $RARCH_DIST_DIR/${a} ]; then
echo "Directory $RARCH_DIST_DIR/${a} already exists, skipping creation..."
else
mkdir $RARCH_DIST_DIR/${a}
fi
2015-03-09 12:23:17 +00:00
done
2014-12-23 23:11:56 +00:00
fi
2014-12-23 21:53:38 +00:00
2015-10-13 23:18:23 +00:00
# define the compilers
if [ "$HOST_CC" ]; then
CC="${HOST_CC}-gcc"
CXX="${HOST_CC}-g++"
CXX11="${HOST_CC}-g++"
STRIP="${HOST_CC}-strip"
fi
if [ -z "$MAKE" ]; then
2015-03-09 12:23:17 +00:00
if uname -s | grep -i MINGW32 > /dev/null 2>&1; then
MAKE=mingw32-make
else
if type gmake > /dev/null 2>&1; then
MAKE=gmake
else
MAKE=make
fi
2015-03-09 12:23:17 +00:00
fi
fi
if [ -z "$CC" ]; then
2015-03-09 12:23:17 +00:00
if [ $FORMAT_COMPILER_TARGET = "osx" ]; then
CC=cc
2015-03-09 12:23:17 +00:00
elif uname -s | grep -i MINGW32 > /dev/null 2>&1; then
CC=mingw32-gcc
2015-03-09 12:23:17 +00:00
else
CC=gcc
2015-03-09 12:23:17 +00:00
fi
fi
if [ -z "$CXX" ]; then
2015-03-09 12:23:17 +00:00
if [ $FORMAT_COMPILER_TARGET = "osx" ]; then
CXX=c++
CXX11="clang++ -std=c++11 -stdlib=libc++"
2015-03-09 12:23:17 +00:00
elif uname -s | grep -i MINGW32 > /dev/null 2>&1; then
CXX=mingw32-g++
CXX11=mingw32-g++
2015-03-09 12:23:17 +00:00
else
CXX=g++
CXX11=g++
2015-03-09 12:23:17 +00:00
fi
fi
2014-12-06 18:46:21 +00:00
if [ "${CC}" ] && [ "${CXX}" ]; then
2015-03-09 12:23:17 +00:00
COMPILER="CC=${CC} CXX=${CXX}"
2014-12-06 18:46:21 +00:00
else
2015-03-09 12:23:17 +00:00
COMPILER=""
2014-12-06 18:46:21 +00:00
fi
2015-10-13 23:18:23 +00:00
echo === BUILDBOT VARS: CC: $CC CXX:: $CXX STRIP: $STRIP COMPILER: $COMPILER ===
2014-12-07 17:42:11 +00:00
export CC=$CC
export CXX=$CXX
RESET_FORMAT_COMPILER_TARGET=$FORMAT_COMPILER_TARGET
RESET_FORMAT_COMPILER_TARGET_ALT=$FORMAT_COMPILER_TARGET_ALT
check_opengl() {
2015-03-09 12:23:17 +00:00
if [ "${BUILD_LIBRETRO_GL}" ]; then
if [ "${ENABLE_GLES}" ]; then
echo '=== OpenGL ES enabled ==='
export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-gles"
export FORMAT_COMPILER_TARGET_ALT="${FORMAT_COMPILER_TARGET}"
else
echo '=== OpenGL enabled ==='
export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-opengl"
export FORMAT_COMPILER_TARGET_ALT="${FORMAT_COMPILER_TARGET}"
fi
2015-03-09 12:23:17 +00:00
else
echo '=== OpenGL disabled in build ==='
2015-03-09 12:23:17 +00:00
fi
}
reset_compiler_targets() {
2015-03-09 12:23:17 +00:00
export FORMAT_COMPILER_TARGET=$RESET_FORMAT_COMPILER_TARGET
export FORMAT_COMPILER_TARGET_ALT=$RESET_FORMAT_COMPILER_TARGET_ALT
}
cd "${BASE_DIR}"
2015-10-13 23:18:23 +00:00
# build commands
# logs to alcarobot
2015-02-01 19:48:09 +00:00
buildbot_log() {
2015-10-18 19:30:45 +00:00
echo === BUILDBOT MSG: $MESSAGE ===
MESSAGE=`echo -e $1`
2015-03-06 00:50:45 +00:00
2015-10-13 23:52:34 +00:00
HASH=`echo -n "$MESSAGE" | openssl sha1 -hmac $SIG | cut -f 2 -d " "`
2015-08-16 06:10:25 +00:00
curl --max-time 30 --data "message=$MESSAGE&sign=$HASH" $LOGURL
2015-02-01 19:48:09 +00:00
}
2015-10-13 23:18:23 +00:00
# generic makefile job
# it includes a few workarounds for a few problematic cores, I plan to move these to a different command later
build_libretro_generic_makefile() {
NAME=$1
DIR=$2
SUBDIR=$3
MAKEFILE=$4
PLATFORM=$5
ARGS=$6
2015-08-03 03:36:17 +00:00
JOBS=$JOBS
2015-10-17 01:33:06 +00:00
buildbot_log "$1 build starting [$jobid]"
2015-10-18 19:30:45 +00:00
BUILDBOT_DBG1="NAME: $NAME DIR: $DIR SUBDIR: $SUBDIR MAKEFILE: $MAKEFILE PLATFORM: $PLATFORM ARGS: $ARGS CC: $CC CXX: $CXX"
cd $DIR
cd $SUBDIR
2015-03-07 20:03:49 +00:00
OLDJ=$JOBS
2015-09-13 16:52:57 +00:00
echo BUILDBOT THREADS: $JOBS
2015-08-29 03:24:40 +00:00
2015-10-06 05:29:39 +00:00
if [ "${NAME}" == "mame078" ]; then
JOBS=1
fi
2015-10-06 05:29:39 +00:00
if [ "${NAME}" == "mame2010" ]; then
JOBS=1
fi
2015-03-09 12:23:17 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
2015-10-06 05:29:39 +00:00
echo "cleanup command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} clean"
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} clean
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $1 cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid $1 cleanup failed!
fi
fi
echo "compiling..."
2015-10-18 19:30:45 +00:00
if [ "${NAME}" == "mame2010" ]; then
echo "build command: ${MAKE} -f ${MAKEFILE} "VRENDER=soft" "NATIVE=1" buildtools -j${JOBS}"
BUILDBOT_DBG3="build command: PLATFORM="" platform="" ${MAKE} -f ${MAKEFILE} "VRENDER=soft" "NATIVE=1" buildtools -j${JOBS}"
PLATFORM="" platform="" ${MAKE} -f ${MAKEFILE} "VRENDER=soft" "NATIVE=1" buildtools -j${JOBS} | tee $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
JOBS=$OLDJ
fi
2015-10-16 05:24:41 +00:00
if [ -z "${ARGS}" ]; then
2015-10-18 19:30:45 +00:00
BUILDBOT_DBG2="build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS}"
echo "build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS}"
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
else
2015-10-18 19:30:45 +00:00
BUILDBOT_DBG2="build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} ${ARGS}"
echo "build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} ${ARGS}"
2015-10-16 05:28:56 +00:00
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} ${ARGS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
fi
2015-10-16 05:24:41 +00:00
2015-10-16 05:20:40 +00:00
if [ "${MAKEPORTABLE}" == "YES" ]; then
2015-10-18 19:30:45 +00:00
echo "$1 running retrolink [$jobid]"
$WORK/retrolink.sh ${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
fi
2015-10-16 05:20:40 +00:00
2015-10-18 19:30:45 +00:00
echo === BUILDBOT VARS: $BUILDBOT_DBG1 === | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
echo === BUILDBOT VARS: $BUILDBOT_DBG3 === | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
echo === BUILDBOT VARS: $BUILDBOT_DBG2 === | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
2015-10-16 05:24:41 +00:00
2015-10-18 19:30:45 +00:00
cp -v ${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT} $RARCH_DIST_DIR/${DIST}/${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="$1 build succeeded [$jobid]"
2015-08-04 21:08:15 +00:00
if [ "${PLATFORM}" == "windows" -o "${PLATFORM}" == "unix" ]; then
2015-10-06 05:32:57 +00:00
strip -s ${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
2015-07-21 05:31:15 +00:00
fi
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-07-03 14:40:27 +00:00
MESSAGE="$1 build failed [$jobid] LOG: http://hastebin.com/$HASTE"
fi
echo BUILDBOT JOB: $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
JOBS=$OLDJ
2015-10-17 01:21:16 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
echo "cleanup command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} clean"
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} clean
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $1 cleanup success!
else
echo BUILDBOT JOB: $jobid $1 cleanup failed!
fi
fi
}
2015-10-13 23:18:23 +00:00
# command fo leiradel's cross makefiles
2015-06-17 23:49:20 +00:00
build_libretro_leiradel_makefile() {
NAME=$1
DIR=$2
SUBDIR=$3
MAKEFILE=$4
PLATFORM=$5
ARGS=$6
2015-10-17 01:35:52 +00:00
buildbot_log "$1 build starting [$jobid]"
2015-06-17 23:49:20 +00:00
2015-09-13 16:52:57 +00:00
ARG1=`echo ${ARGS} | cut -f 1 -d " "`
mkdir -p $RARCH_DIST_DIR/${DIST}/${ARG1}
2015-08-13 22:11:51 +00:00
2015-06-17 23:49:20 +00:00
cd $DIR
cd $SUBDIR
OLDJ=$JOBS
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
2015-08-16 19:48:14 +00:00
echo "cleanup command: ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS} clean"
${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS} clean
2015-06-17 23:49:20 +00:00
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $1 cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid $1 cleanup failed!
2015-06-17 23:49:20 +00:00
fi
fi
echo "compiling..."
2015-08-16 19:48:14 +00:00
echo "build command: ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS}"
2015-10-16 05:09:13 +00:00
${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS} | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
2015-06-17 23:49:20 +00:00
2015-10-18 19:30:45 +00:00
cp -v ${NAME}_libretro.${PLATFORM}_${ARG1}.${FORMAT_EXT} $RARCH_DIST_DIR/${DIST}/${ARG1}/${NAME}_libretro${LIBSUFFIX}.${FORMAT_EXT}
2015-07-21 05:31:15 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="$1 build succeeded [$jobid]"
2015-07-21 05:31:15 +00:00
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log | tail -n 100`
2015-10-18 19:30:45 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-09-13 16:52:57 +00:00
MESSAGE="$1 build failed [$jobid] LOG: http://hastebin.com/$HASTE"
fi
echo BUILDBOT JOB: $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
2015-10-16 05:20:40 +00:00
JOBS=$OLDJ
2014-12-23 23:11:56 +00:00
}
2015-10-13 23:18:23 +00:00
# command for jni makefiles
2014-12-23 23:11:56 +00:00
build_libretro_generic_jni() {
echo PARAMETERS: DIR $2, SUBDIR: $3
NAME=$1
DIR=$2
SUBDIR=$3
MAKEFILE=$4
PLATFORM=$5
ARGS=$6
2015-10-17 01:35:52 +00:00
buildbot_log "$1 build starting [$jobid]"
cd ${DIR}/${SUBDIR}
for a in "${ABIS[@]}"; do
2015-03-09 12:23:17 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
echo "cleanup command: ${NDK} -j${JOBS} ${ARGS} APP_ABI=${a} clean"
${NDK} -j${JOBS} ${ARGS} APP_ABI=${a} clean
2015-10-06 05:32:57 +00:00
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $a $1 cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid $a $1 cleanup failed!
fi
fi
echo "compiling for ${a}..."
2015-03-09 12:23:17 +00:00
if [ -z "${ARGS}" ]; then
echo "build command: ${NDK} -j${JOBS} APP_ABI=${a}"
${NDK} -j${JOBS} APP_ABI=${a} 2>&1 | tee $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}_${a}.log
else
echo "build command: ${NDK} -j${JOBS} APP_ABI=${a} ${ARGS} "
${NDK} -j${JOBS} APP_ABI=${a} ${ARGS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}_${a}.log
fi
2015-10-18 19:30:45 +00:00
cp -v ../libs/${a}/libretro.${FORMAT_EXT} $RARCH_DIST_DIR/${a}/${1}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="$1-$a build succeeded [$jobid]"
echo BUILDBOT JOB: $MESSAGE
buildbot_log "$MESSAGE"
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}_${a}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="$1-$a build failed [$jobid] LOG: http://hastebin.com/$HASTE"
echo BUILDBOT JOB: $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
fi
2015-10-17 22:36:05 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
echo "cleanup command: ${NDK} -j${JOBS} ${ARGS} APP_ABI=${a} clean"
${NDK} -j${JOBS} ${ARGS} APP_ABI=${a} clean
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $a $1 cleanup success!
else
echo BUILDBOT JOB: $jobid $a $1 cleanup failed!
fi
fi
done
2014-12-18 03:39:09 +00:00
}
2015-10-13 23:18:23 +00:00
# command for bsnes jni makefiles
build_libretro_bsnes_jni() {
echo PARAMETERS: DIR $2, SUBDIR: $3
NAME=$1
DIR=$2
SUBDIR=$3
MAKEFILE=$4
PLATFORM=$5
PROFILE=$6
2015-10-17 01:35:52 +00:00
buildbot_log "$1 build starting [$jobid]"
CORENAME=bsnes
cd ${DIR}/${SUBDIR}
for a in "${ABIS[@]}"; do
2015-03-09 12:23:17 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
echo "cleanup command: ${NDK} -j${JOBS} APP_ABI=${a} clean"
${NDK} -j${JOBS} APP_ABI=${a} clean
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $1 cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid $1 cleanup failed!
2015-03-09 12:23:17 +00:00
fi
fi
2015-03-09 12:23:17 +00:00
echo "compiling for ${a}..."
if [ -z "${ARGS}" ]; then
echo "build command: ${NDK} -j${JOBS} APP_ABI=${a}"
${NDK} -j${JOBS} APP_ABI=${a}
else
echo "build command: ${NDK} -j${JOBS} APP_ABI=${a}"
${NDK} -j${JOBS} APP_ABI=${a}
fi
2015-10-18 19:30:45 +00:00
cp -v ../libs/${a}/libretro_${CORENAME}_${PROFILE}.${FORMAT_EXT} $RARCH_DIST_DIR/${a}/${NAME}_${PROFILE}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="$1 build succeeded [$jobid]"
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="$1 build failed [$jobid] LOG: http://hastebin.com/$HASTE"
fi
echo BUILDBOT JOB: $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
done
}
2015-10-13 23:18:23 +00:00
# command for gl cores, not sure if this is still needed but it uses an alternate format_compiler_target
2014-11-06 06:21:26 +00:00
build_libretro_generic_gl_makefile() {
NAME=$1
DIR=$2
SUBDIR=$3
MAKEFILE=$4
PLATFORM=$5
ARGS=$6
2015-10-17 01:35:52 +00:00
buildbot_log "$1 build starting [$jobid]"
check_opengl
cd $DIR
cd $SUBDIR
2015-03-09 12:23:17 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
echo "cleanup command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} clean"
2015-03-09 12:23:17 +00:00
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} clean
2015-10-06 05:32:57 +00:00
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $1 cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid $1 cleanup failed!
fi
fi
echo "compiling..."
2015-03-09 12:23:17 +00:00
if [ -z "${ARGS}" ]; then
echo "build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS}"
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} 2>&1 | tee $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
else
echo "build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} ${COMPILER} -j${JOBS} ${ARGS}"
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} ${ARGS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
fi
2015-10-18 19:30:45 +00:00
cp -v ${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT} $RARCH_DIST_DIR/${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
2015-10-06 05:32:57 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="$1 build succeeded [$jobid]"
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-07-21 05:31:15 +00:00
MESSAGE="$1 build failed [$jobid] LOG: http://hastebin.com/$HASTE"
fi
echo BUILDBOT JOB: $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
reset_compiler_targets
}
2015-10-13 23:18:23 +00:00
# command for bsnes
build_libretro_bsnes() {
NAME=$1
DIR=$2
PROFILE=$3
MAKEFILE=$4
PLATFORM=$5
BSNESCOMPILER=$6
2015-10-17 01:35:52 +00:00
buildbot_log "$1 build starting [$jobid]"
cd $DIR
2015-03-09 12:23:17 +00:00
if [ -z "${NOCLEAN}" ]; then
echo "cleaning up..."
rm -f obj/*.{o,"${FORMAT_EXT}"}
2015-10-06 05:32:57 +00:00
rm -f out/*.{o,"${FORMAT_EXT}"}
if [ "${PROFILE}" = "cpp98" -o "${PROFILE}" = "bnes" ]; then
2015-03-09 12:23:17 +00:00
${MAKE} clean
fi
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
echo BUILDBOT JOB: $jobid $1 cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid $1 cleanup failed!
fi
fi
echo "compiling..."
if [ "${PROFILE}" = "cpp98" ]; then
${MAKE} platform="${PLATFORM}" ${COMPILER} "-j${JOBS}" 2>&1 | tee $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
elif [ "${PROFILE}" = "bnes" ]; then
echo "build command: ${MAKE} -f Makefile ${COMPILER} "-j${JOBS}" compiler=${BSNESCOMPILER}" platform=${FORMAT_COMPILER_TARGET}
${MAKE} -f Makefile ${COMPILER} "-j${JOBS}" compiler="${BSNESCOMPILER}" platform=${FORMAT_COMPILER_TARGET} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
else
echo "build command: ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} compiler=${BSNESCOMPILER} ui='target-libretro' profile=${PROFILE} -j${JOBS}"
${MAKE} -f ${MAKEFILE} platform=${PLATFORM} compiler=${BSNESCOMPILER} ui='target-libretro' profile=${PROFILE} -j${JOBS} 2>&1 | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log
fi
2015-10-18 19:30:45 +00:00
if [ "${PROFILE}" = "cpp98" ]; then
cp -fv "out/${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}" "${RARCH_DIST_DIR}/${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}"
elif [ "${PROFILE}" = "bnes" ]; then
cp -fv "${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}" "${RARCH_DIST_DIR}/${NAME}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}"
else
cp -fv "out/${NAME}_${PROFILE}_libretro${FORMAT}.${FORMAT_EXT}" $RARCH_DIST_DIR/${NAME}_${PROFILE}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}
fi
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="$1 build succeeded [$jobid]"
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-09-13 16:52:57 +00:00
MESSAGE="$1 build failed [$jobid] LOG: http://hastebin.com/$HASTE"
fi
echo BUILDBOT JOB: $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
2014-11-06 06:21:26 +00:00
}
2015-10-13 23:18:23 +00:00
# main part of the script
export jobid=$1
2015-01-17 05:56:23 +00:00
2015-10-13 23:18:23 +00:00
# fetch a project and mark it for building if there have been any changes
echo
echo
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
COMMAND=`echo $line | cut -f 6 -d " "`
MAKEFILE=`echo $line | cut -f 7 -d " "`
SUBDIR=`echo $line | cut -f 8 -d " "`
if [ "${ENABLED}" = "YES" ]; then
echo "BUILDBOT JOB: $jobid Processing $NAME"
echo
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
echo COMMAND: $COMMAND
echo MAKEFILE: $MAKEFILE
echo DIR: $DIR
echo SUBDIR: $SUBDIR
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
2015-09-13 16:52:57 +00:00
TEMP=""
TEMP=`echo $line | cut -f 15 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 16 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 17 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 18 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 19 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 20 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 21 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 22 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 23 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 24 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 25 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 26 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 27 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 28 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 29 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
2015-03-09 12:23:17 +00:00
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
echo
echo
2015-10-18 19:30:45 +00:00
# repo is a regular repository
if [ "${TYPE}" = "PROJECT" ]; then
2015-03-09 12:23:17 +00:00
if [ -d "${DIR}/.git" ]; then
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-03-09 12:23:17 +00:00
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
2015-03-18 03:46:52 +00:00
OLDFORCE=$FORCE
2015-07-21 05:31:15 +00:00
OLDBUILD=$BUILD
2015-03-18 03:46:52 +00:00
2015-09-13 16:52:57 +00:00
echo $OUT $FORCE $BUILD
2015-10-18 19:30:45 +00:00
# workarounds for a few cores that might be built from the same source tree (it will be already up-to-date so it would be skipped otherwise)
if [ "${PREVCORE}" = "bsnes" -a "${PREVBUILD}" = "YES" -a "${COMMAND}" = "BSNES" ]; then
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "gw" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "gw" ]; then
2015-06-17 23:49:20 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "fuse" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "fuse" ]; then
2015-06-17 23:56:58 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "81" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "81" ]; then
2015-08-05 05:08:56 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "snes9x-next" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "snes9x-next" ]; then
2015-08-05 05:08:56 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "vba_next" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "vba_next" ]; then
2015-08-05 05:08:56 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "emux_nes" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "emux_nes" ]; then
2015-08-13 22:19:20 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "emux_sms" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "emux_sms" ]; then
2015-08-05 05:08:56 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "mgba" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "mgba" ]; then
2015-08-05 05:08:56 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
if [ "${PREVCORE}" = "snes9x_next" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "snes9x_next" ]; then
2015-08-17 01:25:22 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-06-17 23:49:20 +00:00
if [ "${PREVCORE}" = "bsnes_mercury" -a "${PREVBUILD}" = "YES" -a "${COMMAND}" = "BSNES" ]; then
FORCE="YES"
BUILD="YES"
fi
2015-08-03 04:34:38 +00:00
if [ "${PREVCORE}" = "mame2014" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "mess2014" ]; then
FORCE="YES"
BUILD="YES"
fi
2015-08-03 04:34:38 +00:00
if [ "${PREVCORE}" = "mess2014" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "ume2014" ]; then
FORCE="YES"
BUILD="YES"
fi
2015-03-18 03:46:52 +00:00
if [[ "${PREVCORE}" == *fb* ]] && [[ "${PREVBUILD}" = "YES" ]] && [[ "${NAME}" == *fb* ]]; then
2015-03-18 03:27:33 +00:00
FORCE="YES"
BUILD="YES"
fi
2015-10-06 05:29:39 +00:00
if [ "${PREVCORE}" = "mame2010" -a "${PREVBUILD}" = "YES" -a "${NAME}" = "mame2010" ]; then
FORCE="YES"
BUILD="YES"
fi
cd $WORK
else
echo "cloning repo..."
git clone --depth=1 "$URL" "$DIR"
BUILD="YES"
fi
2015-10-13 23:18:23 +00:00
2015-10-18 19:30:45 +00:00
# repo is a branch, need to make this more generic, currently only used for psp mednafen_pce
elif [ "${TYPE}" = "psp_hw_render" ]; then
2015-03-09 12:23:17 +00:00
if [ -d "${DIR}/.git" ]; then
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-03-09 12:23:17 +00:00
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
cd $WORK
else
echo "cloning repo..."
2015-03-07 21:07:38 +00:00
git clone "$URL" "$DIR"
cd $DIR
git checkout $TYPE
cd $WORK
BUILD="YES"
fi
2015-10-18 19:30:45 +00:00
# repo has submodules
2015-03-09 12:23:17 +00:00
elif [ "${TYPE}" == "SUBMODULE" ]; then
if [ -d "${DIR}/.git" ]; then
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-03-09 12:23:17 +00:00
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
OUT=`git submodule foreach git pull origin master`
cd $WORK
else
echo "cloning repo..."
git clone --depth=1 "$URL" "$DIR"
cd $DIR
git submodule update --init
BUILD="YES"
fi
cd $WORK
fi
if [ "${BUILD}" = "YES" -o "${FORCE}" = "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-cores
CORES_BUILT=YES
echo building core...
if [ "${COMMAND}" = "GENERIC" ]; then
build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET} "${ARGS}"
2015-06-17 23:49:20 +00:00
elif [ "${COMMAND}" = "LEIRADEL" ]; then
2015-08-13 21:11:32 +00:00
build_libretro_leiradel_makefile $NAME $DIR $SUBDIR $MAKEFILE ${PLATFORM} "${ARGS}"
elif [ "${COMMAND}" = "GENERIC_GL" ]; then
build_libretro_generic_gl_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET} "${ARGS}"
elif [ "${COMMAND}" = "GENERIC_ALT" ]; then
build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}"
elif [ "${COMMAND}" = "GENERIC_JNI" ]; then
build_libretro_generic_jni $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}"
elif [ "${COMMAND}" = "BSNES_JNI" ]; then
build_libretro_bsnes_jni $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}"
elif [ "${COMMAND}" = "GENERIC_THEOS" ]; then
build_libretro_generic_theos $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}"
elif [ "${COMMAND}" = "BSNES" ]; then
build_libretro_bsnes $NAME $DIR "${ARGS}" $MAKEFILE ${FORMAT_COMPILER_TARGET} ${CXX11}
2015-03-09 12:23:17 +00:00
fi
else
echo BUILDBOT JOB: $jobid $NAME already up-to-date...
fi
echo
fi
cd "${BASE_DIR}"
PREVCORE=$NAME
PREVBUILD=$BUILD
2015-03-18 03:46:52 +00:00
BUILD=$OLDBUILD
2015-07-21 05:31:15 +00:00
FORCE=$OLDFORCE
2015-03-18 03:46:52 +00:00
2015-03-09 12:23:17 +00:00
done < $1
2015-10-13 23:18:23 +00:00
# retroarch area of the script, a lot of code duplication could be removed but it's quite easy
# to copy this for any other case and customize for the particular platform
2015-10-19 19:52:29 +00:00
echo "BUILDBOT JOB: $jobid Building Retroarch" for $PLATFORM
echo
2014-12-17 23:59:08 +00:00
cd $WORK
BUILD=""
2014-12-07 08:08:27 +00:00
if [ "${PLATFORM}" = "android" ] && [ "${RA}" = "YES" ]; then
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
if [ "${ENABLED}" = "YES" ]; then
echo "BUILDBOT JOB: $jobid Processing $NAME"
2015-07-03 14:40:27 +00:00
echo
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
2015-03-09 12:23:17 +00:00
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
echo $OUT
if [ "${TYPE}" = "PROJECT" ]; then
RADIR=$DIR
2015-03-09 12:23:17 +00:00
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
fi
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
if [ "${TYPE}" = "PROJECT" ]; then
BUILD="YES"
RADIR=$DIR
fi
cd $WORK
fi
fi
echo
echo
2015-03-09 12:23:17 +00:00
done < $1.ra
if [ "${BUILD}" = "YES" -o "${FORCE}" = "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-frontend
echo "BUILDBOT JOB: $jobid Compiling Shaders"
echo
2015-03-09 12:23:17 +00:00
echo RADIR $RADIR
cd $RADIR
2015-07-13 01:35:55 +00:00
$MAKE -f Makefile.griffin shaders-convert-glsl PYTHON3=$PYTHON
2015-03-09 12:23:17 +00:00
echo "BUILDBOT JOB: $jobid Processing Assets"
echo
2015-03-09 12:23:17 +00:00
2015-09-20 14:18:37 +00:00
rm -rf pkg/android/phoenix/assets/assets
rm -rf pkg/android/phoenix/assets/cores
rm -rf pkg/android/phoenix/assets/info
rm -rf pkg/android/phoenix/assets/overlays
rm -rf pkg/android/phoenix/assets/shaders/shaders_glsl/
rm -rf pkg/android/phoenix/assets/database
rm -rf pkg/android/phoenix/assets/autoconfig
rm -rf pkg/android/phoenix/assets/cheats
rm -rf pkg/android/phoenix/assets/playlists
rm -rf pkg/android/phoenix/assets/dowloads
rm -rf pkg/android/phoenix/assets/remaps
rm -rf pkg/android/phoenix/assets/system
mkdir -p pkg/android/phoenix/assets
mkdir -p pkg/android/phoenix/assets/
mkdir -p pkg/android/phoenix/assets/assets
mkdir -p pkg/android/phoenix/assets/cores
mkdir -p pkg/android/phoenix/assets/info
mkdir -p pkg/android/phoenix/assets/overlays
mkdir -p pkg/android/phoenix/assets/shaders/shaders_glsl/
mkdir -p pkg/android/phoenix/assets/database
mkdir -p pkg/android/phoenix/assets/autoconfig
mkdir -p pkg/android/phoenix/assets/cheats
mkdir -p pkg/android/phoenix/assets/playlists
mkdir -p pkg/android/phoenix/assets/dowloads
mkdir -p pkg/android/phoenix/assets/remaps
mkdir -p pkg/android/phoenix/assets/saves/
mkdir -p pkg/android/phoenix/assets/states/
mkdir -p pkg/android/phoenix/assets/system/
cp -rf media/assets/xmb pkg/android/phoenix/assets/assets/
cp -rf media/autoconfig/* pkg/android/phoenix/assets/autoconfig/
cp -rf media/overlays/* pkg/android/phoenix/assets/overlays/
2015-09-15 18:38:35 +00:00
cp -rf media/shaders_glsl $TMPDIR/
2015-09-20 14:18:37 +00:00
touch pkg/android/phoenix/assets/cheats/.empty-folder
touch pkg/android/phoenix/assets/saves/.empty-folder
touch pkg/android/phoenix/assets/states/.empty-folder
touch pkg/android/phoenix/assets/system/.empty-folder
2015-07-03 14:40:27 +00:00
2015-09-20 14:18:37 +00:00
cp -rf $RARCH_DIR/info/* pkg/android/phoenix/assets/info/
2015-03-09 12:23:17 +00:00
echo "BUILDBOT JOB: $jobid Building"
2015-06-16 03:23:52 +00:00
echo
2015-09-20 14:18:37 +00:00
cd pkg/android/phoenix
2015-03-09 12:23:17 +00:00
rm bin/*.apk
2015-10-21 16:02:46 +00:00
$NDK clean &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
$NDK -j${JOBS} &>> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
ant clean | &>> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
android update project --path . --target android-22 &>> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
android update project --path libs/googleplay --target android-21 &>> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
android update project --path libs/appcompat --target android-21 &>> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
ant debug &>> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
2015-03-09 12:23:17 +00:00
echo $MESSAGE
2015-02-24 19:00:38 +00:00
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
2015-03-09 12:23:17 +00:00
echo $MESSAGE
2015-02-24 19:00:38 +00:00
fi
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
buildbot_log "$MESSAGE"
fi
fi
2014-12-07 08:08:27 +00:00
if [ "${PLATFORM}" = "MINGW64" ] || [ "${PLATFORM}" = "MINGW32" ] && [ "${RA}" = "YES" ]; then
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
if [ "${ENABLED}" = "YES" ]; then
echo "BUILDBOT JOB: $jobid Processing $NAME"
2015-09-13 16:37:15 +00:00
echo
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
2015-07-21 05:31:15 +00:00
if [ "${NAME}" = "retroarch" ]; then
ARGS=""
TEMP=`echo $line | cut -f 7 -d " "`
if [ -n ${TEMP} ];
then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 8 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 9 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
fi
2015-07-21 05:31:15 +00:00
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-07-21 05:31:15 +00:00
echo $OUT
if [ "${TYPE}" = "PROJECT" ]; then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
fi
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
2015-07-21 05:31:15 +00:00
if [ "${TYPE}" = "PROJECT" ]; then
BUILD="YES"
2015-07-21 05:31:15 +00:00
RADIR=$DIR
fi
2015-07-21 05:31:15 +00:00
cd $WORK
fi
fi
echo
echo
2015-03-09 12:23:17 +00:00
done < $1.ra
if [ "${BUILD}" = "YES" -o "${FORCE}" = "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-frontend
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
2015-09-13 16:37:15 +00:00
echo
echo "compiling audio filters"
cd audio/audio_filters
echo "audio filter build command: ${MAKE}"
$MAKE
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-06-17 04:28:53 +00:00
echo BUILDBOT JOB: $jobid audio filter build success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid audio filter build failed!
fi
2015-06-17 04:28:53 +00:00
2015-09-13 16:52:57 +00:00
cd ..
cd ..
2015-06-17 04:28:53 +00:00
echo "compiling video filters"
cd gfx/video_filters
echo "audio filter build command: ${MAKE}"
$MAKE
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-06-17 04:28:53 +00:00
echo BUILDBOT JOB: $jobid video filter build success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid video filter build failed!
fi
2015-06-17 04:28:53 +00:00
cd ..
2015-03-25 02:15:09 +00:00
cd ..
2015-04-07 04:57:26 +00:00
echo "configuring..."
2015-07-21 05:31:15 +00:00
echo "configure command: $CONFIGURE $ARGS"
${CONFIGURE} ${ARGS}
2015-04-07 04:57:26 +00:00
echo "cleaning up..."
echo "cleanup command: $MAKE clean"
$MAKE clean
2015-03-25 02:15:09 +00:00
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-03-25 02:15:09 +00:00
echo BUILDBOT JOB: $jobid retroarch cleanup success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid retroarch cleanup failed!
2015-03-25 02:15:09 +00:00
fi
2015-04-07 04:57:26 +00:00
2015-03-25 02:15:09 +00:00
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-03-25 02:15:09 +00:00
echo BUILDBOT JOB: $jobid retroarch configure success!
else
2015-10-16 05:09:13 +00:00
echo BUILDBOT JOB: $jobid retroarch configure failed!
2015-03-19 21:35:37 +00:00
fi
echo "building..."
echo "build command: $MAKE -j${JOBS}"
2015-10-16 05:09:13 +00:00
$MAKE -j${JOBS} | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
strip -s retroarch.exe
2015-03-25 02:15:09 +00:00
2015-03-09 12:23:17 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
echo $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
buildbot_log "$MESSAGE"
2015-03-25 02:15:09 +00:00
echo "Packaging"
echo ============================================
cp retroarch.cfg retroarch.default.cfg
2015-04-16 16:40:42 +00:00
2015-07-21 05:31:15 +00:00
rm -rf windows
2015-04-16 16:40:42 +00:00
mkdir -p windows
mkdir -p windows/overlays
2015-07-04 16:37:05 +00:00
mkdir -p windows/shaders/shaders_cg
2015-04-16 16:40:42 +00:00
mkdir -p windows/autoconfig
mkdir -p windows/filters
mkdir -p windows/filters/video
mkdir -p windows/filters/audio
mkdir -p windows/assets
mkdir -p windows/cheats
mkdir -p windows/database
mkdir -p windows/database/cursors
mkdir -p windows/database/rdb
2015-06-27 19:52:28 +00:00
mkdir -p windows/playlists
2015-08-03 03:36:17 +00:00
mkdir -p windows/content
mkdir -p windows/downloads
mkdir -p windows/info
mkdir -p windows/cores
mkdir -p windows/config/remap
mkdir -p windows/system
mkdir -p windows/saves
mkdir -p windows/states
2015-04-16 16:40:42 +00:00
cat << EOF > windows/retroarch.cfg
2015-07-04 20:02:18 +00:00
dpi_override_value = "160"
menu_driver = "xmb"
assets_directory = ":\assets"
audio_filter_dir = ":\filters\audio"
cheat_database_path = ":\cheats"
config_save_on_exit = "true"
2015-07-04 19:24:57 +00:00
content_database_path = ":\database\rdb"
cursor_directory = ":\database\cursors"
input_joypad_driver = "winxinput"
input_osk_overlay_enable = "false"
2015-07-04 21:50:55 +00:00
input_remapping_directory = ":\config\remap"
joypad_autoconfig_dir = ":\autoconfig"
libretro_directory = ":\cores"
2015-07-04 20:02:18 +00:00
libretro_directory = ":\cores"
load_dummy_on_core_shutdown = "false"
menu_collapse_subgroups_enable = "true"
osk_overlay_directory = ":\overlays"
overlay_directory = ":\overlays"
playlist_directory = ":\playlists"
rgui_config_directory = ":\config"
screenshot_directory = ":\screenshots"
video_driver = "gl"
video_filter_dir = ":\filters\video"
video_shader_dir = ":\shaders"
2015-07-04 19:24:57 +00:00
core_assets_directory = ":\downloads"
2015-07-04 20:02:18 +00:00
libretro_info_path = ":\info"
2015-01-29 01:38:25 +00:00
EOF
2015-04-26 22:09:37 +00:00
cp -v retroarch.default.cfg windows/
cp -v *.exe tools/*.exe windows/
2015-07-21 05:31:15 +00:00
cp -rf media/overlays/* windows/overlays
cp -rf media/autoconfig/* windows/autoconfig
cp -rf media/assets/* windows/assets
cp -rf $RARCH_DIR/info/* windows/info
cp -rf audio/audio_filters/*.dll windows/filters/audio
cp -rf audio/audio_filters/*.dsp windows/filters/audio
cp -rf gfx/video_filters/*.dll windows/filters/video
cp -rf gfx/video_filters/*.filt windows/filters/video
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
2015-09-13 16:52:57 +00:00
echo $MESSAGE
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
buildbot_log "$MESSAGE"
2015-09-13 16:52:57 +00:00
fi
fi
2015-01-27 23:34:52 +00:00
fi
if [ "${PLATFORM}" = "psp1" ] && [ "${RA}" = "YES" ]; then
2015-02-26 01:32:07 +00:00
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
2015-02-26 01:32:07 +00:00
if [ "${ENABLED}" = "YES" ]; then
2015-02-26 01:32:07 +00:00
echo "BUILDBOT JOB: $jobid Processing $NAME"
2015-06-17 04:28:53 +00:00
echo
2015-02-26 01:32:07 +00:00
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
2015-03-09 12:23:17 +00:00
if [ -n ${TEMP} ]; then
2015-02-26 01:32:07 +00:00
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
2015-02-26 01:32:07 +00:00
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
2015-02-26 01:32:07 +00:00
echo ARGS: $ARGS
2015-02-26 01:32:07 +00:00
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
echo $OUT
if [ "${TYPE}" = "PROJECT" ]; then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
2015-06-17 04:28:53 +00:00
else
BUILD="YES"
fi
fi
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
2015-06-17 04:28:53 +00:00
if [ "${TYPE}" = "PROJECT" ]; then
2015-02-26 01:32:07 +00:00
BUILD="YES"
RADIR=$DIR
2015-02-26 01:32:07 +00:00
fi
cd $WORK
2015-02-26 01:32:07 +00:00
fi
fi
echo
echo
2015-03-09 12:23:17 +00:00
done < $1.ra
2015-02-26 01:32:07 +00:00
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" -o "${CORES_BUILT}" == "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-frontend
2015-02-26 01:32:07 +00:00
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
2015-09-13 16:37:15 +00:00
echo
2015-02-26 01:32:07 +00:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR/*.a .
#ls -1 *.a | awk -F "." ' { print "cp " $0 " " $1 "_psp1." $2 }' |sh
2015-02-26 01:32:07 +00:00
2015-10-21 16:02:46 +00:00
./dist-cores.sh psp1 &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
echo $MESSAGE
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
echo $MESSAGE
fi
buildbot_log "$MESSAGE"
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
2015-03-25 02:15:09 +00:00
echo "Packaging"
echo ============================================
cd $WORK/$RADIR
cp retroarch.cfg retroarch.default.cfg
mkdir -p pkg/psp1/
mkdir -p pkg/psp1/cheats
2015-10-18 19:30:45 +00:00
cp -p $RARCH_DIST_DIR/../info/*.info pkg/psp1/cores/
2015-02-26 01:32:07 +00:00
fi
fi
if [ "${PLATFORM}" == "wii" ] && [ "${RA}" == "YES" ]; then
2015-03-07 21:08:46 +00:00
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
if [ "${ENABLED}" == "YES" ]; then
2015-03-07 21:08:46 +00:00
echo "BUILDBOT JOB: $jobid Processing $NAME"
2015-07-19 18:59:14 +00:00
echo
2015-03-07 21:08:46 +00:00
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
if [ -n ${TEMP} ]; then
2015-03-07 21:08:46 +00:00
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
2015-03-07 21:08:46 +00:00
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
2015-03-07 21:08:46 +00:00
echo ARGS: $ARGS
2015-03-07 21:08:46 +00:00
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
echo $OUT
if [ "${TYPE}" == "PROJECT" ]; then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
2015-10-06 05:32:57 +00:00
else
BUILD="YES"
fi
2015-03-07 21:08:46 +00:00
fi
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
2015-03-11 03:10:11 +00:00
if [ "${TYPE}" == "PROJECT" ]; then
BUILD="YES"
RADIR=$DIR
2015-03-07 21:08:46 +00:00
fi
cd $WORK
2015-03-07 21:08:46 +00:00
fi
fi
echo
echo
2015-03-07 21:08:46 +00:00
done < $1.ra
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" -o "${CORES_BUILT}" == "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-frontend
2015-03-07 21:08:46 +00:00
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
2015-03-07 21:51:20 +00:00
echo
2015-03-07 21:08:46 +00:00
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" ]; then
2015-03-10 19:36:15 +00:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR/*.a .
2015-03-07 21:08:46 +00:00
2015-03-25 02:15:09 +00:00
#ls -1 *.a | awk -F "." ' { print "cp " $0 " " $1 "_wii." $2 }' |sh
2015-10-21 16:02:46 +00:00
sh ./dist-cores.sh wii &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
2015-03-10 19:36:15 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
2015-03-10 19:36:15 +00:00
echo $MESSAGE
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
2015-03-10 19:36:15 +00:00
echo $MESSAGE
fi
buildbot_log "$MESSAGE"
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
2015-03-11 00:20:56 +00:00
cd $WORK/$RADIR
2015-03-07 21:08:46 +00:00
fi
2015-03-10 19:36:15 +00:00
echo "Packaging"
echo ============================================
cp retroarch.cfg retroarch.default.cfg
2015-09-07 17:43:33 +00:00
mkdir -p pkg/wii
mkdir -p pkg/wii/overlays
mkdir -p pkg/wii/cheats
mkdir -p pkg/wii/remaps
cp -rf media/overlays/wii/* pkg/wii/overlays
2015-03-07 21:08:46 +00:00
fi
fi
2015-01-27 23:34:52 +00:00
2015-10-19 19:47:52 +00:00
if [ "${PLATFORM}" == "ngc" ] && [ "${RA}" == "YES" ]; then
2015-03-11 02:38:12 +00:00
while read line; do
NAME=`echo $line | cut --fields=1 --delimiter=" "`
DIR=`echo $line | cut --fields=2 --delimiter=" "`
URL=`echo $line | cut --fields=3 --delimiter=" "`
TYPE=`echo $line | cut --fields=4 --delimiter=" "`
ENABLED=`echo $line | cut --fields=5 --delimiter=" "`
PARENTDIR=`echo $line | cut --fields=6 --delimiter=" "`
if [ "${ENABLED}" == "YES" ];
then
echo "BUILDBOT JOB: $jobid Processing $NAME"
2015-10-06 05:32:57 +00:00
echo
2015-03-11 02:38:12 +00:00
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut --fields=9 --delimiter=" "`
if [ -n ${TEMP} ];
then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut --fields=10 --delimiter=" "`
if [ -n ${TEMP} ];
then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut --fields=11 --delimiter=" "`
if [ -n ${TEMP} ];
then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut --fields=12 --delimiter=" "`
if [ -n ${TEMP} ];
then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut --fields=13 --delimiter=" "`
if [ -n ${TEMP} ];
then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut --fields=14 --delimiter=" "`
if [ -n ${TEMP} ];
then
ARGS="${ARGS} ${TEMP}"
fi
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
if [ -d "${PARENTDIR}/${DIR}/.git" ];
then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-03-11 02:38:12 +00:00
echo $OUT
if [ "${TYPE}" == "PROJECT" ];
then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]
then
BUILD="NO"
2015-06-17 04:28:53 +00:00
else
2015-03-11 02:38:12 +00:00
BUILD="YES"
fi
fi
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
2015-06-17 04:28:53 +00:00
2015-03-11 02:38:12 +00:00
if [ "${TYPE}" == "PROJECT" ];
then
BUILD="YES"
RADIR=$DIR
fi
cd $WORK
fi
fi
echo
echo
done < $1.ra
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" -o "${CORES_BUILT}" == "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-frontend
2015-03-11 02:38:12 +00:00
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
2015-09-13 16:37:15 +00:00
echo
2015-03-11 02:38:12 +00:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR/*.a .
2015-06-17 04:28:53 +00:00
2015-03-25 02:15:09 +00:00
#ls -1 *.a | awk -F "." ' { print "cp " $0 " " $1 "_ngc." $2 }' |sh
2015-10-21 16:02:46 +00:00
sh ./dist-cores.sh ngc &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
2015-09-13 16:52:57 +00:00
if [ $? -eq 0 ];
then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
2015-09-13 16:52:57 +00:00
echo $MESSAGE
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
2015-09-13 16:52:57 +00:00
echo $MESSAGE
2015-03-11 02:38:12 +00:00
fi
buildbot_log "$MESSAGE"
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
2015-08-03 03:44:28 +00:00
cd ..
2015-03-11 02:38:12 +00:00
2015-08-03 03:44:28 +00:00
echo "Packaging"
echo ============================================
cp retroarch.cfg retroarch.default.cfg
2015-09-07 17:43:33 +00:00
mkdir -p pkg/ngc/
mkdir -p pkg/ngc/cheats
mkdir -p pkg/ngc/remaps
mkdir -p pkg/ngc/overlays
cp -rf media/overlays/wii/* pkg/ngc/overlays
2015-03-11 02:38:12 +00:00
fi
fi
2015-09-07 19:39:28 +00:00
if [ "${PLATFORM}" == "ctr" ] && [ "${RA}" == "YES" ]; then
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
if [ "${ENABLED}" == "YES" ]; then
echo "BUILDBOT JOB: $jobid Processing $NAME"
echo
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-09-07 19:39:28 +00:00
echo $OUT
if [ "${TYPE}" == "PROJECT" ]; then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
2015-09-10 23:14:34 +00:00
else
2015-09-07 19:39:28 +00:00
BUILD="YES"
fi
fi
echo $OUT $BUILD $FORCE $FORCE_RETROARCH_BUILD
2015-09-10 18:17:36 +00:00
2015-09-07 19:39:28 +00:00
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
if [ "${TYPE}" == "PROJECT" ]; then
BUILD="YES"
RADIR=$DIR
fi
cd $WORK
fi
fi
echo
echo
done < $1.ra
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" -o "${CORES_BUILT}" == "YES" ]; then
2015-09-07 19:39:28 +00:00
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
echo
2015-09-13 16:54:11 +00:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR/*.a .
2015-09-07 19:39:28 +00:00
2015-09-13 16:54:11 +00:00
#ls -1 *.a | awk -F "." ' { print "cp " $0 " " $1 "_ctr." $2 }' |sh
2015-10-21 16:02:46 +00:00
JOBS=1 sh ./dist-cores.sh ctr &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
2015-09-13 16:54:11 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
2015-09-13 16:54:11 +00:00
echo $MESSAGE
2015-10-21 15:27:13 +00:00
touch $TMPDIR/built-frontend-3ds
2015-09-13 16:54:11 +00:00
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
2015-09-13 16:54:11 +00:00
echo $MESSAGE
2015-09-07 19:39:28 +00:00
fi
buildbot_log "$MESSAGE"
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
2015-09-13 16:54:11 +00:00
cd $WORK/$RADIR
2015-09-07 19:39:28 +00:00
echo "Packaging"
echo ============================================
cp retroarch.cfg retroarch.default.cfg
2015-09-10 05:50:58 +00:00
mkdir -p pkg/3ds
mkdir -p pkg/3ds/remaps
2015-10-18 19:30:45 +00:00
mkdir -p pkg/3ds/cheats
2015-09-10 05:50:58 +00:00
cp -rf media/overlays/* pkg/3ds/overlays/
2015-09-07 19:39:28 +00:00
fi
fi
2015-09-14 23:25:58 +00:00
if [ "${PLATFORM}" == "vita" ] && [ "${RA}" == "YES" ]; then
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
if [ "${ENABLED}" == "YES" ]; then
echo "BUILDBOT JOB: $jobid Processing $NAME"
echo
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
2015-09-15 04:11:34 +00:00
OUT=`git pull`
2015-09-15 03:53:02 +00:00
2015-09-14 23:25:58 +00:00
echo $OUT
if [ "${TYPE}" == "PROJECT" ]; then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
fi
echo $OUT $BUILD $FORCE $FORCE_RETROARCH_BUILD
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
if [ "${TYPE}" == "PROJECT" ]; then
BUILD="YES"
RADIR=$DIR
fi
cd $WORK
fi
fi
echo
echo
done < $1.ra
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" -o "${CORES_BUILT}" == "YES" ]; then
2015-09-15 18:38:35 +00:00
touch $TMPDIR/built-frontend
2015-09-14 23:25:58 +00:00
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
echo
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR/*.a .
#ls -1 *.a | awk -F "." ' { print "cp " $0 " " $1 "_vita." $2 }' |sh
2015-10-21 16:02:46 +00:00
JOBS=1 sh ./dist-cores.sh vita &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
2015-09-14 23:25:58 +00:00
if [ $? -eq 0 ]; then
2015-10-16 05:09:13 +00:00
MESSAGE="retroarch build succeeded [$jobid]"
2015-09-14 23:25:58 +00:00
echo $MESSAGE
else
2015-09-15 18:38:35 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
2015-10-14 00:02:37 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
2015-10-18 19:30:45 +00:00
HASTE=`echo $HASTE | cut -d"\"" -f4`
2015-10-13 23:52:34 +00:00
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
2015-09-14 23:25:58 +00:00
echo $MESSAGE
fi
buildbot_log "$MESSAGE"
2015-10-13 22:47:28 +00:00
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
2015-09-14 23:25:58 +00:00
cd $WORK/$RADIR
echo "Packaging"
echo ============================================
cp retroarch.cfg retroarch.default.cfg
mkdir -p pkg/vita
mkdir -p pkg/vita/remaps
2015-10-18 19:30:45 +00:00
mkdir -p pkg/vita/cheats
2015-09-14 23:25:58 +00:00
cp -rf media/overlays/* pkg/vita/overlays/
fi
fi
2015-10-19 19:47:52 +00:00
if [ "${PLATFORM}" == "osx" ] && [ "${RA}" == "YES" ]; then
while read line; do
NAME=`echo $line | cut -f 1 -d " "`
DIR=`echo $line | cut -f 2 -d " "`
URL=`echo $line | cut -f 3 -d " "`
TYPE=`echo $line | cut -f 4 -d " "`
ENABLED=`echo $line | cut -f 5 -d " "`
PARENTDIR=`echo $line | cut -f 6 -d " "`
if [ "${ENABLED}" == "YES" ]; then
echo "BUILDBOT JOB: $jobid Processing $NAME"
echo
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
ARGS=""
TEMP=`echo $line | cut -f 9 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 10 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 11 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 12 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 13 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
TEMP=""
TEMP=`echo $line | cut -f 14 -d " "`
if [ -n ${TEMP} ]; then
ARGS="${ARGS} ${TEMP}"
fi
ARGS="${ARGS%"${ARGS##*[![:space:]]}"}"
echo ARGS: $ARGS
if [ -d "${PARENTDIR}/${DIR}/.git" ]; then
cd $PARENTDIR
cd $DIR
echo "pulling from repo... "
OUT=`git pull`
echo $OUT
if [ "${TYPE}" == "PROJECT" ]; then
RADIR=$DIR
if [[ $OUT == *"Already up-to-date"* ]]; then
BUILD="NO"
else
BUILD="YES"
fi
fi
echo $OUT $BUILD $FORCE $FORCE_RETROARCH_BUILD
cd $WORK
else
echo "cloning repo..."
cd $PARENTDIR
git clone "$URL" "$DIR" --depth=1
cd $DIR
if [ "${TYPE}" == "PROJECT" ]; then
BUILD="YES"
RADIR=$DIR
fi
cd $WORK
fi
fi
echo
echo
done < $1.ra
if [ "${BUILD}" == "YES" -o "${FORCE}" == "YES" -o "${FORCE_RETROARCH_BUILD}" == "YES" -o "${CORES_BUILT}" == "YES" ]; then
touch $TMPDIR/built-frontend
cd $RADIR
echo "BUILDBOT JOB: $jobid Building"
echo
cd pkg/apple
2015-10-21 16:02:46 +00:00
xcodebuild -project RetroArch.xcodeproj -target RetroArch -configuration Release &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log
2015-10-19 19:47:52 +00:00
if [ $? -eq 0 ]; then
MESSAGE="retroarch build succeeded [$jobid]"
echo $MESSAGE
else
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_${PLATFORM}.log | tail -n 100`
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
HASTE=`echo $HASTE | cut -d"\"" -f4`
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
echo $MESSAGE
fi
2015-10-19 20:20:10 +00:00
2015-10-19 21:09:21 +00:00
buildbot_log "$MESSAGE"
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
2015-10-19 20:20:10 +00:00
cd pkg/apple
2015-10-21 16:02:46 +00:00
xcodebuild -project RetroArch.xcodeproj -target "RetroArch Cg" -configuration Release &> $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_CG_${PLATFORM}.log
2015-10-19 20:20:10 +00:00
if [ $? -eq 0 ]; then
MESSAGE="retroarch build succeeded [$jobid]"
echo $MESSAGE
else
2015-10-19 21:09:21 +00:00
ERROR=`cat $TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_RetroArch_CG_${PLATFORM}.log | tail -n 100`
2015-10-19 20:20:10 +00:00
HASTE=`curl -XPOST http://hastebin.com/documents -d"$ERROR"`
HASTE=`echo $HASTE | cut -d"\"" -f4`
MESSAGE="retroarch build failed [$jobid] LOG: http://hastebin.com/$HASTE"
echo $MESSAGE
fi
2015-10-19 19:47:52 +00:00
buildbot_log "$MESSAGE"
echo BUILDBOT JOB: $MESSAGE | tee -a $TMPDIR/log/${BOT}/${LOGDATE}.log
cd $WORK/$RADIR
echo "Packaging"
echo ============================================
fi
fi
2015-09-07 19:39:28 +00:00
PATH=$ORIGPATH