libretro-buildbot-recipe.sh: Fix constant rebuilds for some cores.

A few cores built with the LEIRADEL command had an issue where a
hack used to build certain cores broke and caused them to be built
every time the buildbot encountered the recipe.

To fix this the build_libretro_leiradel_makefile function was removed
and incorporated into the build_libretro_generic_makefile function.
This allowed the script to easily use new logic to build multiple cores
with one recipe which entirely avoids the need for the broken hack.
This commit is contained in:
orbea 2018-01-14 17:03:09 -08:00
parent b79130be0c
commit 61c17c6ece
8 changed files with 37 additions and 117 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
/libretro-*
/libretro64-*
/retroarch/
/build-summary.log
/build-revisions/

View file

@ -323,13 +323,25 @@ build_libretro_generic_makefile() {
arg="${i##*:}"
if [ "$arg" != "$core" ]; then
CORE_ARGS="${arg} ${ARGS}"
CORE_ARGS="${ARGS} ${arg}"
else
CORE_ARGS="${ARGS}"
fi
CORE_ARGS="${CORE_ARGS#"${CORE_ARGS%%[! ]*}"}"
CORENAM="${core}_libretro${FORMAT}${LIBSUFFIX}.${FORMAT_EXT}"
LOGFILE="$TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${core}_${PLATFORM}.log"
if [ "${COMMAND}" = "LEIRADEL" ]; then
ARG1="${CORE_ARGS%% *}"
LOGFILE="$TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${core}_${PLATFORM}_${ARG1}.log"
ORIGNAM="${core}_libretro.${PLATFORM}_${ARG1}.${FORMAT_EXT}"
OUTPUT="$RARCH_DIST_DIR/${DIST}/${ARG1}/${CORENAM}"
mkdir -p -- "$RARCH_DIST_DIR/${DIST}/${ARG1}"
else
LOGFILE="$TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${core}_${PLATFORM}.log"
ORIGNAM="${CORENAM}"
OUTPUT="$RARCH_DIST_DIR/${DIST}/${CORENAM}"
fi
echo -------------------------------------------------- | tee "$LOGFILE"
cat $TMPDIR/vars | tee -a "$LOGFILE"
@ -339,6 +351,10 @@ build_libretro_generic_makefile() {
if [ "${NAME}" = "higan_sfc" ] || [ "${NAME}" = "higan_sfc_balanced" ]; then
rm -fv obj/*.{o,"${FORMAT_EXT}"} 2>&1 | tee -a "$LOGFILE"
rm -fv out/*.{o,"${FORMAT_EXT}"} 2>&1 | tee -a "$LOGFILE"
elif [ "${COMMAND}" = "LEIRADEL" ]; then
eval "set -- ${HELPER} ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARG1} platform=${PLATFORM}_${CORE_ARGS} -j${JOBS} clean"
echo "CLEANUP CMD: $@" 2>&1 | tee -a "$LOGFILE"
"$@" 2>&1 | tee -a "$LOGFILE"
else
eval "set -- ${HELPER} ${MAKE} -f ${MAKEFILE} platform=${PLATFORM} -j${JOBS} ${CORE_ARGS} clean"
echo "CLEANUP CMD: $@" 2>&1 | tee -a "$LOGFILE"
@ -368,6 +384,10 @@ build_libretro_generic_makefile() {
${HELPER} ${MAKE} -f ${MAKEFILE} -j${JOBS} 2>&1 | tee -a "$LOGFILE"
find . -mindepth 2 -name "${CORENAM}" -exec cp -f "{}" . \;
elif [ "${COMMAND}" = "LEIRADEL" ]; then
eval "set -- ${HELPER} ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARG1} platform=${PLATFORM}_${CORE_ARGS} -j${JOBS}"
echo "BUILD CMD: $@" 2>&1 | tee -a "$LOGFILE"
"$@" 2>&1 | tee -a "$LOGFILE"
elif [ "${NAME}" = "higan_sfc" ] || [ "${NAME}" = "higan_sfc_balanced" ]; then
platform=""
echo "BUILD CMD: ${HELPER} ${MAKE} -f ${MAKEFILE} -j${JOBS}" ${CORE_ARGS} 2>&1 | tee -a "$LOGFILE"
@ -387,9 +407,9 @@ build_libretro_generic_makefile() {
${STRIP:=strip} -s ${OUT}/${CORENAM}
fi
echo "COPY CMD: cp -v ${OUT}/${CORENAM} $RARCH_DIST_DIR/${DIST}/${CORENAM}" 2>&1 | tee -a "$LOGFILE"
cp -v ${OUT}/${CORENAM} $RARCH_DIST_DIR/${DIST}/${CORENAM} 2>&1 | tee -a "$LOGFILE"
cp -v ${OUT}/${CORENAM} $RARCH_DIST_DIR/${DIST}/${CORENAM}
echo "COPY CMD: cp -v ${OUT}/${ORIGNAM} ${OUTPUT}" 2>&1 | tee -a "$LOGFILE"
cp -v "${OUT}/${ORIGNAM}" "${OUTPUT}" 2>&1 | tee -a "$LOGFILE"
cp -v "${OUT}/${ORIGNAM}" "${OUTPUT}"
RET=$?
buildbot_handle_message "$RET" "$ENTRY_ID" "$core" "$jobid" "$LOGFILE"
@ -403,59 +423,6 @@ build_libretro_generic_makefile() {
ENTRY_ID=""
}
build_libretro_leiradel_makefile() {
NAME=$1
DIR=$2
SUBDIR=$3
MAKEFILE=$4
PLATFORM=$5
ARGS=$6
ENTRY_ID=""
if [ -n "$LOGURL" ]; then
ENTRY_ID=`curl -X POST -d type="start" -d master_log="$MASTER_LOG_ID" -d platform="$jobid" -d name="$NAME" http://buildbot.fiveforty.net/build_entry/`
fi
ARG1="${ARGS%% *}"
CORENAM="${NAME}_libretro${LIBSUFFIX}.${FORMAT_EXT}"
LOGFILE="$TMPDIR/log/${BOT}/${LOGDATE}/${LOGDATE}_${NAME}_${PLATFORM}.log"
ORIGNAM="${NAME}_libretro.${PLATFORM}_${ARG1}.${FORMAT_EXT}"
mkdir -p $RARCH_DIST_DIR/${DIST}/${ARG1}
cd $DIR
cd $SUBDIR
echo -------------------------------------------------- | tee "$LOGFILE"
cat $TMPDIR/vars | tee -a "$LOGFILE"
echo -------------------------------------------------- | tee -a "$LOGFILE"
if [ -z "${NOCLEAN}" ]; then
echo "CLEANUP CMD: ${HELPER} ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS} clean" 2>&1 | tee -a "$LOGFILE"
${HELPER} ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS} clean 2>&1 | tee -a "$LOGFILE"
if [ $? -eq 0 ]; then
echo buildbot job: $jobid ${NAME} cleanup success!
else
echo buildbot job: $jobid ${NAME} cleanup failed!
fi
fi
echo -------------------------------------------------- | tee -a "$LOGFILE"
echo "BUILD CMD: ${HELPER} ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS}" 2>&1 | tee -a "$LOGFILE"
${HELPER} ${MAKE} -f ${MAKEFILE}.${PLATFORM}_${ARGS} platform=${PLATFORM}_${ARGS} -j${JOBS} 2>&1 | tee -a "$LOGFILE"
echo "COPY CMD: cp -v ${ORIGNAM} $RARCH_DIST_DIR/${DIST}/${ARG1}/${CORENAM}" 2>&1 | tee -a "$LOGFILE"
cp -v ${ORIGNAM} $RARCH_DIST_DIR/${DIST}/${ARG1}/${CORENAM} 2>&1 | tee -a "$LOGFILE"
cp -v ${ORIGNAM} $RARCH_DIST_DIR/${DIST}/${ARG1}/${CORENAM}
RET=$?
buildbot_handle_message "$RET" "$ENTRY_ID" "$NAME" "$jobid" "$LOGFILE"
ENTRY_ID=""
}
build_libretro_generic_jni() {
NAME="$1"
DIR="$2"
@ -663,13 +630,6 @@ while read line; do
git --work-tree="." --git-dir=".git" -C "$DIR" submodule update --init --recursive
fi
for core in 81 emux_nes emux_sms fuse gw mgba; do
if [ "${PREVCORE}" = "$core" ] && [ "${PREVBUILD}" = "YES" ] && [ "${NAME}" = "${PREVCORE}" ]; then
FORCE="YES"
BUILD="YES"
fi
done
if [ "${BUILD}" = "YES" ] || [ "${FORCE}" = "YES" ]; then
touch $TMPDIR/built-cores
CORES_BUILT=YES
@ -679,7 +639,7 @@ while read line; do
build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET} "${ARGS}" "${CORES}" ;;
GENERIC_JNI ) build_libretro_generic_jni $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}" "${CORES}" ;;
GENERIC_ALT ) build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${FORMAT_COMPILER_TARGET_ALT} "${ARGS}" ;;
LEIRADEL ) build_libretro_leiradel_makefile $NAME $DIR $SUBDIR $MAKEFILE ${PLATFORM} "${ARGS}" ;;
LEIRADEL ) build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${PLATFORM} "${ARGS}" "${CORES}" ;;
* ) : ;;
esac
echo "Cleaning repo state after build $URL..."

View file

@ -1,32 +1,5 @@
81 libretro64-81 https://github.com/libretro/81-libretro.git master YES LEIRADEL Makefile build armeabi
81 libretro64-81 https://github.com/libretro/81-libretro.git master YES LEIRADEL Makefile build armeabi-v7a
81 libretro64-81 https://github.com/libretro/81-libretro.git master YES LEIRADEL Makefile build arm64-v8a
81 libretro64-81 https://github.com/libretro/81-libretro.git master YES LEIRADEL Makefile build x86
emux_chip8 libretro64-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi MACHINE=chip8
emux_chip8 libretro64-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi-v7a MACHINE=chip8
emux_chip8 libretro64-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro arm64-v8a MACHINE=chip8
emux_chip8 libretro64-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=chip8
emux_gb libretro64-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi MACHINE=gb
emux_gb libretro64-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi-v7a MACHINE=gb
emux_gb libretro64-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro arm64-v8a MACHINE=gb
emux_gb libretro64-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=gb
emux_nes libretro64-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi MACHINE=nes
emux_nes libretro64-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi-v7a MACHINE=nes
emux_nes libretro64-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro arm64-v8a MACHINE=nes
emux_nes libretro64-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=nes
emux_sms libretro64-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi MACHINE=sms
emux_sms libretro64-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro armeabi-v7a MACHINE=sms
emux_sms libretro64-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro arm64-v8a MACHINE=sms
emux_sms libretro64-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=sms
fuse libretro64-fuse https://github.com/libretro/fuse-libretro.git master YES LEIRADEL Makefile build armeabi
fuse libretro64-fuse https://github.com/libretro/fuse-libretro.git master YES LEIRADEL Makefile build armeabi-v7a
fuse libretro64-fuse https://github.com/libretro/fuse-libretro.git master YES LEIRADEL Makefile build arm64-v8a
fuse libretro64-fuse https://github.com/libretro/fuse-libretro.git master YES LEIRADEL Makefile build x86
gw libretro64-gw https://github.com/libretro/gw-libretro.git master YES LEIRADEL Makefile build armeabi
gw libretro64-gw https://github.com/libretro/gw-libretro.git master YES LEIRADEL Makefile build armeabi-v7a
gw libretro64-gw https://github.com/libretro/gw-libretro.git master YES LEIRADEL Makefile build arm64-v8a
gw libretro64-gw https://github.com/libretro/gw-libretro.git master YES LEIRADEL Makefile build x86
mgba libretro64-mgba https://github.com/libretro/mgba.git master YES LEIRADEL Makefile libretro-build armeabi
mgba libretro64-mgba https://github.com/libretro/mgba.git master YES LEIRADEL Makefile libretro-build armeabi-v7a
mgba libretro64-mgba https://github.com/libretro/mgba.git master YES LEIRADEL Makefile libretro-build arm64-v8a
mgba libretro64-mgba https://github.com/libretro/mgba.git master YES LEIRADEL Makefile libretro-build x86
81 libretro64-81 https://github.com/libretro/81-libretro.git master YES LEIRADEL Makefile build | 81:armeabi 81:armeabi-v7a 81:arm64-v8a 81:x86
emux libretro64-emux https://github.com/libretro/emux master YES LEIRADEL Makefile libretro | "emux_chip8:armeabi MACHINE=chip8" "emux_chip8:armeabi-v7a MACHINE=chip8" "emux_chip8:arm64-v8a MACHINE=chip8" "emux_chip8:x86 MACHINE=chip8" "emux_gb:armeabi MACHINE=gb" "emux_gb:armeabi-v7a MACHINE=gb" "emux_gb:arm64-v8a MACHINE=gb" "emux_gb:x86 MACHINE=gb" "emux_nes:armeabi MACHINE=nes" "emux_nes:armeabi-v7a MACHINE=nes" "emux_nes:arm64-v8a MACHINE=nes" "emux_nes:x86 MACHINE=nes" "emux_sms:armeabi MACHINE=sms" "emux_sms:armeabi-v7a MACHINE=sms" "emux_sms:arm64-v8a MACHINE=sms" "emux_sms:x86 MACHINE=sms"
fuse libretro64-fuse https://github.com/libretro/fuse-libretro.git master YES LEIRADEL Makefile build | fuse:armeabi fuse:armeabi-v7a fuse:arm64-v8a fuse:x86
gw libretro64-gw https://github.com/libretro/gw-libretro.git master YES LEIRADEL Makefile build | gw:armeabi gw:armeabi-v7a gw:arm64-v8a gw:x86
mgba libretro64-mgba https://github.com/libretro/mgba.git master YES LEIRADEL Makefile libretro-build | mgba:armeabi mgba:armeabi-v7a mgba:arm64-v8a mgba:x86

View file

@ -5,10 +5,7 @@ bluemsx libretro-bluemsx https://github.com/libretro/blueMSX-libretro.git master
crocods libretro-crocods https://github.com/libretro/libretro-crocods.git master YES GENERIC Makefile .
dinothawr libretro-dinothawr https://github.com/libretro/Dinothawr.git master YES GENERIC Makefile .
dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git master YES GENERIC Makefile.libretro .
emux_chip8 libretro-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro MACHINE=chip8
emux_gb libretro-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro MACHINE=gb
emux_nes libretro-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro MACHINE=nes
emux_sms libretro-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro MACHINE=sms
emux libretro-emux https://github.com/libretro/emux master YES LEIRADEL Makefile libretro | emux_chip8:MACHINE=chip8 emux_gb:MACHINE=gb emux_nes:MACHINE=nes emux_sms:MACHINE=sms
fbalpha libretro-fbalpha https://github.com/libretro/fbalpha.git master YES GENERIC makefile.libretro .
fbalpha2012 libretro-fbalpha2012 https://github.com/libretro/fbalpha2012.git master YES GENERIC makefile.libretro svn-current/trunk
fbalpha2012_cps1 libretro-fbalpha2012_cps1 https://github.com/libretro/fbalpha2012_cps1.git master YES GENERIC makefile.libretro .

View file

@ -11,10 +11,7 @@ chailove libretro-chailove https://github.com/RobLoach/ChaiLove.git master YES G
desmume libretro-desmume https://github.com/libretro/desmume.git master YES GENERIC Makefile.libretro desmume platform=armv7-neon-hardfloat
dinothawr libretro-dinothawr https://github.com/libretro/Dinothawr.git master YES GENERIC Makefile .
dosbox libretro-dosbox https://github.com/libretro/dosbox-libretro.git master YES GENERIC Makefile.libretro .
emux_chip8 libretro-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=chip8
emux_gb libretro-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=gb
emux_nes libretro-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=nes
emux_sms libretro-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=sms
emux libretro-emux https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 | emux_chip8:MACHINE=chip8 emux_gb:MACHINE=gb emux_nes:MACHINE=nes emux_sms:MACHINE=sms
fbalpha libretro-fbalpha https://github.com/libretro/fbalpha.git master YES GENERIC makefile.libretro .
fbalpha2012 libretro-fbalpha2012 https://github.com/libretro/fbalpha2012.git master YES GENERIC makefile.libretro svn-current/trunk
fbalpha2012_cps1 libretro-fbalpha2012_cps1 https://github.com/libretro/fbalpha2012_cps1.git master YES GENERIC makefile.libretro .

View file

@ -1,4 +1 @@
emux_nes libretro-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=nes
emux_sms libretro-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=sms
emux_chip8 libretro-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=chip8
emux_gb libretro-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=gb
emux libretro-emux https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 | emux_nes:MACHINE=nes emux_sms:MACHINE=sms emux_chip8:MACHINE=chip8 emux_gb:MACHINE=gb

View file

@ -1,4 +1 @@
emux_chip8 libretro-emux_chip8 https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=chip8
emux_gb libretro-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=gb
emux_nes libretro-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=nes
emux_sms libretro-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 MACHINE=sms
emux libretro-emux https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86_64 | emux_chip8:MACHINE=chip8 emux_gb:MACHINE=gb emux_nes:MACHINE=nes emux_sms:MACHINE=sms

View file

@ -1,3 +1 @@
emux_gb libretro-emux_gb https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=gb
emux_nes libretro-emux_nes https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=nes
emux_sms libretro-emux_sms https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 MACHINE=sms
emux libretro-emux https://github.com/libretro/emux master YES LEIRADEL Makefile libretro x86 | emux_chip8:MACHINE=chip8 emux_gb:MACHINE=gb emux_nes:MACHINE=nes emux_sms:MACHINE=sms