Commit 204684e4 authored by Manuel Moos's avatar Manuel Moos
Browse files

Merge from release_0.2.8.3 and legacy_0.2.8.3_mac_improvements

parents c963260e bd037868
Pipeline #265676350 passed with stages
in 39 minutes and 43 seconds
......@@ -102,3 +102,4 @@ desktop/armagetronad-link.xml
src/.cproject
src/.project
src/.settings
.vscode
......@@ -229,7 +229,7 @@ delay-release:
when: never
- if: '$CI_COMMIT_REF_PROTECTED == "true" && $CI_COMMIT_BRANCH'
when: delayed
start_in: '6 hours'
start_in: '16 hours'
- when: on_success
before_script: [""]
script: [""]
......
......@@ -23,8 +23,8 @@ SUBDIRS = src resource batch config desktop docker/build
# special tasks to do if we're building the master server
if BUILDMASTER
masterInstallTasks= cd $(DESTDIR)$(bindir); mv armagetronad_main_master$(EXEEXT) @prognamebase@-master$(executable_suffix)
masterUninstallTasks=rm -f $(DESTDIR)$(bindir)/@prognamebase@-master$(executable_suffix)
masterInstallTasks= cd "$(DESTDIR)$(bindir)"; mv armagetronad_main_master$(EXEEXT) @prognamebase@-master$(executable_suffix)
masterUninstallTasks=rm -f "$(DESTDIR)$(bindir)"/@prognamebase@-master$(executable_suffix)
else
masterInstallTasks=echo 'No tasks for the master server'
masterUninstallTasks=echo 'No tasks for the master server'
......@@ -41,7 +41,7 @@ if NEEDDATA
# install media data only when it is needed
nobase_texture_DATA=textures/cycle_body.png textures/cycle_wheel.png textures/dir_wall.png\
textures/floor_a.png textures/floor_b.png textures/floor.png textures/font_extra.png\
textures/font.png textures/font_s.png textures/icon.png textures/KGN_logo.png textures/rim_wall.png\
textures/font.png textures/font_s.png textures/icon.png textures/rim_wall.png\
textures/shadow.png textures/sky.png textures/title.jpg
nobase_sound_DATA=sound/cyclrun.wav sound/expl.wav
......@@ -96,9 +96,9 @@ uninstall_location=$(DESTDIR)${bindir}/${uninstaller}
# generate and install uninstallation script
install-uninstall: @srcdir@/batch/make/uninstall Makefile
$(install_sh_PROGRAM) $< $(uninstall_location)
rm $(uninstall_location)
ROOTDIR=$(ROOTDIR) DESTDIR=$(DESTDIR) MAKE="$(MAKE)" PREFIX="${prefix}" PROGTITLE="${progtitle}" PROGNAME="${progname}" SCRIPTDIR="${scriptdir}" sh $< $(uninstall_location) "$(external_uninstall_cmd)"
$(install_sh_PROGRAM) $< "$(uninstall_location)"
rm "$(uninstall_location)"
ROOTDIR=$(ROOTDIR) DESTDIR="$(DESTDIR)" MAKE="$(MAKE)" PREFIX="${prefix}" PROGTITLE="${progtitle}" PROGNAME="${progname}" SCRIPTDIR="${scriptdir}" sh $< "$(uninstall_location)" "$(external_uninstall_cmd)"
else
install-uninstall:
endif
......@@ -107,7 +107,7 @@ endif
install-exec-hook: install-uninstall
# rename executable to armagetronad-VERSION and link to armagetronad
if BUILDMAIN
cd $(DESTDIR)${bindir}; mv armagetronad_main$(EXEEXT) @progname@$(executable_suffix)
cd "$(DESTDIR)${bindir}"; mv armagetronad_main$(EXEEXT) @progname@$(executable_suffix)
endif
# delegate to special tasks
......@@ -116,12 +116,12 @@ endif
install-data-hook:
# install systemwide files
if USE_SYSINSTALL
DESTDIR=$(DESTDIR) ROOTDIR=$(ROOTDIR) bash $(DESTDIR)${scriptdir}/sysinstall install $(prefix)
DESTDIR="$(DESTDIR)" ROOTDIR=$(ROOTDIR) bash "$(DESTDIR)${scriptdir}"/sysinstall install $(prefix)
endif
uninstall-hook:
# delete executable and uninstaller
rm -f $(DESTDIR)${bindir}/@progname@$(executable_suffix)
rm -f "$(DESTDIR)${bindir}"/@progname@$(executable_suffix)
# delegate to special tasks
$(masterUninstallTasks)
......@@ -137,7 +137,7 @@ endif
uninstall-first:
# uninstall systemwide files
if USE_SYSINSTALL
if test -z "$(AA_FAKE_UNINSTALL)"; then DESTDIR=$(DESTDIR) ROOTDIR=$(ROOTDIR) bash $(DESTDIR)${scriptdir}/sysinstall uninstall $(prefix); fi
if test -z "$(AA_FAKE_UNINSTALL)"; then DESTDIR="$(DESTDIR)" ROOTDIR=$(ROOTDIR) bash "$(DESTDIR)${scriptdir}"/sysinstall uninstall $(prefix); fi
endif
install-first:
......
......@@ -40,7 +40,7 @@ for KDEDIR in /opt/kde* /opt/kde/* /usr/kde* /usr/kde/* /usr/local/kde* /usr/loc
test -x ${KDEDIR}/bin/kde-config && PATH=${PATH}:${KDEDIR}/bin
done
THISSCRIPT=`which $0`
THISSCRIPT="`which "$0"`"
MODE="$1"
shift
......@@ -104,9 +104,9 @@ function stop_server()
# no options accepted, paths with relative components can be problematic.
function mkdir_p()
{
parent=`dirname "$1"`
test -d ${parent} || mkdir_p ${parent}
test -d $1 || mkdir $1
parent="`dirname "$1"`"
test -d "${parent}" || mkdir_p "${parent}"
test -d "$1" || mkdir "$1"
}
# install or uninstall a symbolic link depending on mode
......@@ -115,23 +115,23 @@ function mkdir_p()
function install_link()
{
# right now, the source should be here:
source_now=${DESTDIR}$1
source_now="${DESTDIR}$1"
# but it will be moved here before it is used:
source_final=${ROOTDIR}$1
source_final="${ROOTDIR}$1"
# the link should go here:
target=${DESTDIR}$2
target="${DESTDIR}$2"
# if we don't link, but copy, the copy source needs to be the current source position
echo "@LN_S@" | grep "cp" > /dev/null && source_final=${source_now}
echo "@LN_S@" | grep "cp" > /dev/null && source_final="${source_now}"
if test "$MODE" = "install"; then
if test -r ${source_now}; then
mkdir_p `dirname ${target}`
test -f ${target} || @LN_S@ -f ${source_final} ${target} || exit 1
if test -r "${source_now}"; then
mkdir_p "`dirname ${target}`"
test -f "${target}" || @LN_S@ -f "${source_final}" "${target}" || exit 1
fi
else
if test -L ${target} ; then
rm -f ${target} || exit 1
if test -L "${target}" ; then
rm -f "${target}" || exit 1
fi
fi
}
......@@ -168,33 +168,33 @@ function kde_get_write_path()
echo ${FIRST}
}
SOURCE=$DESTDIR$PREFIX
SOURCE="$DESTDIR$PREFIX"
#@datadir@
#@prefix@
if test -z "$SOURCE"; then
# determine prefix directory from executable location
SCRIPTDIR=`dirname $THISSCRIPT`
SOURCE=`dirname $SCRIPTDIR`
SOURCE=`dirname $SOURCE`
SOURCE=`dirname $SOURCE`
SOURCE=`dirname $SOURCE`
DESTDIR=`echo $SOURCE | sed -e "s,${prefix},,"`
SCRIPTDIR="`dirname $THISSCRIPT`"
SOURCE="`dirname $SCRIPTDIR`"
SOURCE="`dirname $SOURCE`"
SOURCE="`dirname $SOURCE`"
SOURCE="`dirname $SOURCE`"
DESTDIR="`echo $SOURCE | sed -e "s,${prefix},,"`"
BINDIR=${SOURCE}/bin
else
SCRIPTDIR=`relocate @scriptdir@`
BINDIR=`relocate @bindir@`
SCRIPTDIR="`relocate @scriptdir@`"
BINDIR="`relocate @bindir@`"
fi
# determine data locations
EXECUTABLE=${DESTDIR}${BINDIR}/@progname@@executable_suffix@
CONFIGDIR=`relocate @aa_sysconfdir@`
VARDIR=`relocate @aa_localstatedir@`
EXECUTABLE="${DESTDIR}${BINDIR}/@progname@@executable_suffix@"
CONFIGDIR="`relocate @aa_sysconfdir@`"
VARDIR="`relocate @aa_localstatedir@`"
# determine location of scripts
test -d $DESTDIR$SCRIPTDIR || { echo "Script directory not found."; exit 1; }
test -d "$DESTDIR$SCRIPTDIR" || { echo "Script directory not found."; exit 1; }
# transscribe true location into scripts
if test $MODE = install; then
......@@ -202,23 +202,23 @@ if test $MODE = install; then
sedcommands=$(eval echo "RELOCATECOMMANDS
")
# echo ${sedcommands}
for script in $DESTDIR$SCRIPTDIR/* $DESTDIR$CONFIGDIR/rc.config; do
if test $script != $DESTDIR$SCRIPTDIR/sysinstall; then
sed -e ${sedcommands} < $script > $script.trans || exit 1
mv $script.trans $script
chmod 755 $script
for script in "$DESTDIR$SCRIPTDIR"/* "$DESTDIR$CONFIGDIR"/rc.config; do
if test "$script" != "$DESTDIR$SCRIPTDIR"/sysinstall; then
sed -e ${sedcommands} < "$script" > "$script.trans" || exit 1
mv "$script.trans" "$script"
chmod 755 "$script"
fi
done
fi
# install init scripts into /etc/init.d
INITSCRIPTDIR=$DESTDIR@initdir@
INITSCRIPTDIR="$DESTDIR@initdir@"
if test @enable_initscripts@ = yes ; then
# stop running servers on uninstall
if test ${MODE} = uninstall; then
echo Making sure servers are stopped...
stop_server $DESTDIR$SCRIPTDIR/rcd_master
stop_server $DESTDIR$SCRIPTDIR/rcd_server
stop_server "$DESTDIR$SCRIPTDIR/rcd_master"
stop_server "$DESTDIR$SCRIPTDIR/rcd_server"
fi
# install/uninstall scripts
......@@ -233,11 +233,11 @@ if test @enable_initscripts@ = yes ; then
#install shortcut script (TODO: I bet there's a canonical path for sbin)
AACTL=${PREFIX}/sbin/aactl
AAMCTL=${PREFIX}/sbin/aamasterctl
install_link ${SCRIPTDIR}/rcd_server ${AACTL}
install_link ${SCRIPTDIR}/rcd_master ${AAMCTL}
install_link "${SCRIPTDIR}/rcd_server" ${AACTL}
install_link "${SCRIPTDIR}/rcd_master" ${AAMCTL}
if test `cat /etc/rc.local | grep TAG_ARMAGETRONAD | wc -c` = 0; then
if test -r $DESTDIR$SCRIPTDIR/rcd_server; then
if test -r "$DESTDIR$SCRIPTDIR/rcd_server"; then
cat >> /etc/rc.local <<EOF
# Armagetron Advanced #TAG_ARMAGETRONAD
if [ X"\${armagetronad}" != X"NO" -a -x ${AACTL} ]; then #TAG_ARMAGETRONAD
......@@ -245,7 +245,7 @@ if [ X"\${armagetronad}" != X"NO" -a -x ${AACTL} ]; then #TAG_ARMAGETRONAD
fi #TAG_ARMAGETRONAD
EOF
fi
if test -r $DESTDIR$SCRIPTDIR/rcd_master; then
if test -r "$DESTDIR$SCRIPTDIR/rcd_master"; then
cat >> /etc/rc.local <<EOF
if [ X"\${armagetronad_master}" != X"NO" -a -x ${AAMCTL} ]; then #TAG_ARMAGETRONAD
${AAMCTL} start #TAG_ARMAGETRONAD
......@@ -257,10 +257,10 @@ EOF
# Inserting configuration IF AA should be started at system boot, default = NO
if test `cat /etc/rc.conf.local | grep TAG_ARMAGETRONAD | wc -c` = 0; then
if test -r $DESTDIR$SCRIPTDIR/rcd_server; then
if test -r "$DESTDIR$SCRIPTDIR/rcd_server"; then
echo 'armagetronad="NO" #TAG_ARMAGETRONAD, change "NO" to "YES" to autostart an armagetronad game server' >> /etc/rc.conf.local
fi
if test -r $DESTDIR$SCRIPTDIR/rcd_master; then
if test -r "$DESTDIR$SCRIPTDIR/rcd_master"; then
echo 'armagetronad_master="NO" #TAG_ARMAGETRONAD, change "NO" to "YES" to autostart an armagetronad master server' >> /etc/rc.conf.local
fi
fi
......@@ -272,11 +272,11 @@ EOF
fi
else
# for the rest of the world. Link the starter scripts to the init script dir.
if mkdir_p ${DESTDIR}@initdir@ > /dev/null 2>&1 && test -w ${DESTDIR}@initdir@; then
install_link $SCRIPTDIR/rcd_master @initdir@/@prognamebase@-master
install_link $SCRIPTDIR/rcd_master @initdir@/@prognamebase@-master-@version@
install_link $SCRIPTDIR/rcd_server @initdir@/@progname@
install_link $SCRIPTDIR/rcd_server @initdir@/@progname@-@version@
if mkdir_p "${DESTDIR}@initdir@" > /dev/null 2>&1 && test -w "${DESTDIR}@initdir@"; then
install_link "$SCRIPTDIR/rcd_master" @initdir@/@prognamebase@-master
install_link "$SCRIPTDIR/rcd_master" @initdir@/@prognamebase@-master-@version@
install_link "$SCRIPTDIR/rcd_server" @initdir@/@progname@
install_link "$SCRIPTDIR/rcd_server" @initdir@/@progname@-@version@
else
echo -e "\nWarning: unable to ${MODE} start script symlinks in ${DESTDIR}@initdir@, it's not writable.\n"
fi
......@@ -285,16 +285,16 @@ fi
# install etc configuration (if it's not already there)
if test @enable_etc@ = yes && echo @aa_sysconfdir@ | grep -v "^/etc/" > /dev/null; then
if mkdir_p $DESTDIR/etc > /dev/null 2>&1 && test -w $DESTDIR/etc; then
if mkdir_p "$DESTDIR/etc" > /dev/null 2>&1 && test -w "$DESTDIR/etc"; then
echo ${INSTALLING} configuration directories in $DESTDIR/etc...
install_link $CONFIGDIR /etc/@progname@
test -z "@progdir_suffix@" || install_link $CONFIGDIR /etc/@progname@-@progdir_suffix@
install_link "$CONFIGDIR" /etc/@progname@
test -z "@progdir_suffix@" || install_link "$CONFIGDIR" /etc/@progname@-@progdir_suffix@
fi
fi
# link executable files
install_link ${BINDIR}/@progname@-@version@ ${BINDIR}/@progname@
install_link ${BINDIR}/@prognamebase@-master-@version@ ${BINDIR}/@prognamebase@-master
install_link "${BINDIR}/@progname@-@version@" "${BINDIR}/@progname@"
install_link "${BINDIR}/@prognamebase@-master-@version@" "${BINDIR}/@prognamebase@-master"
# install desktop files
if test @enable_desktop@ = yes; then
......@@ -305,19 +305,19 @@ if test @enable_desktop@ = yes; then
if test @prognamebase@ = armagetronad; then
true # echo no rebranding
else
for f in large small medium; do mv ${DESTDIR}${DESKTOPSOURCE}/icons/$f/armagetronad.png ${DESTDIR}${DESKTOPSOURCE}/icons/$f/@prognamebase@.png; done
mv ${DESTDIR}${DESKTOPSOURCE}/armagetronad.desktop ${DESTDIR}${DESKTOPSOURCE}/@prognamebase@.desktop
for f in large small medium; do mv "${DESTDIR}${DESKTOPSOURCE}/icons/$f/armagetronad.png" "${DESTDIR}${DESKTOPSOURCE}/icons/$f/@prognamebase@.png"; done
mv "${DESTDIR}${DESKTOPSOURCE}/armagetronad.desktop" "${DESTDIR}${DESKTOPSOURCE}/@prognamebase@.desktop"
fi
fi
# add KDE icons and desktop link
if kde-config --install icon > /dev/null 2>&1; then
ICONSDEST=`kde_get_write_path icon ${DESTDIR}`
ICONSDEST="`kde_get_write_path icon "${DESTDIR}"`"
if test -z "${ICONSDEST}"; then
echo "No permission to write to KDE icons directory."
else
echo "${INSTALLING} KDE icon in ${ICONSDEST}..."
install_link ${DESKTOPSOURCE}/icons/large/@prognamebase@.png ${ICONSDEST}/@progname@.png
install_link "${DESKTOPSOURCE}/icons/large/@prognamebase@.png" "${ICONSDEST}/@progname@.png"
fi
DESKTOPDEST=`kde_get_write_path apps ${DESTDIR}`
......@@ -325,7 +325,7 @@ if test @enable_desktop@ = yes; then
echo "No permission to write to KDE application menu directory."
else
echo "${INSTALLING} KDE start menu entry in ${DESKTOPDEST}..."
install_link ${DESKTOPSOURCE}/@prognamebase@.desktop ${DESKTOPDEST}/@progname@.desktop
install_link "${DESKTOPSOURCE}/@prognamebase@.desktop" "${DESKTOPDEST}/@progname@.desktop"
fi
fi
fi
......@@ -337,7 +337,7 @@ if test @enable_restoreold@ = yes && test ${MODE} = uninstall; then
NEWEST=""
for CANDIDATE in $SOURCE/@progname@* $SOURCE/share/@progname@* $SOURCE/share/games/@progname@* $SOURCE/games/@progname@*; do
SCRIPTCANDIDATE=$CANDIDATE${scriptsuffix}/sysinstall
if test "$CANDIDATE"${scriptsuffix} != "$SCRIPTDIR" && echo "$CANDIDATE" | grep -v "@progname@-dedicated" > /dev/null && test "$THISSCRIPT" != "`which $SCRIPTCANDIDATE 2>/dev/null`" && test -r "$SCRIPTCANDIDATE"; then
if test "$CANDIDATE"${scriptsuffix} != "$SCRIPTDIR" && echo "$CANDIDATE" | grep -v "@progname@-dedicated" > /dev/null && test "$THISSCRIPT" != "`which "$SCRIPTCANDIDATE" 2>/dev/null`" && test -r "$SCRIPTCANDIDATE"; then
test "$SCRIPTCANDIDATE" -nt "$NEWEST" && NEWEST=$SCRIPTCANDIDATE
fi
done
......@@ -358,9 +358,9 @@ NEWVARDIR=`relocate @aa_localstatedir@`
if test ${MODE} = install && test @enable_migratestate@ != no; then
# locate old configuration
OLDVARDIR=`relocate @oldvardir@`
if test -d ${ROOTDIR}${OLDVARDIR}; then
if test -d "${ROOTDIR}${OLDVARDIR}"; then
# locate new configuration
if ! test -r ${ROOTDIR}${NEWVARDIR}/won_rounds.txt && test ${OLDVARDIR} != ${NEWVARDIR}; then
if ! test -r "${ROOTDIR}${NEWVARDIR}/won_rounds.txt" && test "${OLDVARDIR}" != "${NEWVARDIR}"; then
# move or copy it over
command=cp
verb=copying
......@@ -369,8 +369,8 @@ if test ${MODE} = install && test @enable_migratestate@ != no; then
verb=movimg
fi
echo "Old dynamic data found in ${OLDVARDIR}, ${verb} it to ${NEWVARDIR}."
mkdir_p ${DESTDIR}${NEWVARDIR}
${command} ${ROOTDIR}${OLDVARDIR}/* ${DESTDIR}${NEWVARDIR}/
mkdir_p "${DESTDIR}${NEWVARDIR}"
${command} "${ROOTDIR}${OLDVARDIR}"/* "${DESTDIR}${NEWVARDIR}/"
fi
fi
fi
......
......@@ -465,6 +465,8 @@ GENERICUNIX
)
SDL_CONFIG_DEFAULT=sdl-config
macosx=false
OBJC="not_needed_on_this_platform"
dnl *************************************************
dnl GL AND MATHLIB SELECTION ( SYSTEM DEPENDANT)
......@@ -488,6 +490,8 @@ case "$target" in
SYS_GL_LIB=""
SYS_GLU_LIB=""
test x$build_regular = xfalse || LIBS="$LIBS -framework OpenGL"
unset OBJC
macosx=true
dnl -framework GLU -framework Quicktime -lsmpeg"
;;
*-*-aix*)
......@@ -525,8 +529,13 @@ SAFEUNIX
;;
esac
dnl Objective C:
AC_PROG_OBJC
test -z "$SDL_CONFIG" && SDL_CONFIG=$SDL_CONFIG_DEFAULT
AM_CONDITIONAL(MACOSX, test x$macosx = xtrue)
AC_SUBST(docstyle)
#processor specific setup
......@@ -950,6 +959,7 @@ src/doc/Makefile src/doc/net/Makefile src/doc/Doxyfile
src/doc/html.m4
src/thirdparty/Makefile
src/thirdparty/particles/Makefile
src/macosx/build_bundle.sh
resource/Makefile
config/Makefile
desktop/Makefile
......
......@@ -111,6 +111,7 @@ CI_INFO: ${srcdir}/../scripts/brand.sh
echo PROGRAM_TITLE=$${PROGRAM_TITLE} >> $@ && \
echo CI_COMMIT_REF_PROTECTED=$${CI_COMMIT_REF_PROTECTED} >> $@ && \
echo CI_COMMIT_SHA=$${CI_COMMIT_SHA} >> $@ && \
echo CI_RELEASE_YEAR=$${CI_RELEASE_YEAR} >> $@ && \
echo CI_COMMIT_REF_NAME=$${CI_COMMIT_REF_NAME} >> $@
.PRECIOUS: CI_INFO
......@@ -549,6 +550,33 @@ zeroinstall: zeroinstall.tag
#***************************************************************
# build on the mac via GitHub Actions. Requires staging.
context.macbuild: rootcontext.64 ${srcdir}/../deploy/*_macbuild.sh ${srcdir}/../deploy/wait_for_upload.sh ../deploy/* CI_INFO
${srcdir}/prepare_context.sh $@.dir $<.dir/'*' ../deploy/'*' ${srcdir}/../deploy/*_macbuild.sh ${srcdir}/../deploy/wait_for_upload.sh CI_INFO ${srcdir}/../scripts/.cache/gits/macOS
rm -f $@.dir/image
echo "armadeploy_64" > $@.dir/image
echo > $@
result.macbuild: context.macbuild
+$(srcdir)/context_to_result.sh $@.dir ./deploy_macbuild.sh
echo > $@
# only build macOS if we're not staging
macbuild: macbuild.tag
macbuild.tag: maybe_macbuild_${STAGING}.tag
touch $@
maybe_macbuild_.tag:
touch $@
maybe_macbuild_true.tag:
touch $@
maybe_macbuild_false.tag: result.macbuild upload/.tag
cp $<.dir/upload/${PROGRAM_TITLE}* upload/
# rm -rf steamdirs/steam_macOS.dir
# mkdir -p steamdirs/steam_macOS.dir
# cd steamdirs/steam_macOS.dir; unzip ../../$<.dir/upload/${STEAM_PACKAGE_NAME}-${PACKAGE_VERSION}.macOS.zip
touch $@
#***************************************************************
steamdirs/.tag:
mkdir -p steamdirs
echo > $@
......@@ -616,7 +644,7 @@ deploy_external: deploy_essential deploy_steam
# targets in our control
deploy_ours: result.deploy_zi result.deploy_download deploy_external
context.deploy_base_%: rootcontext.64 deploy_base.tag ${srcdir}/../deploy/deploy_%.sh ${srcdir}/../deploy/wait_for_upload.sh ../deploy/* CI_INFO
context.deploy_base_%: rootcontext.64 deploy_base.tag ${srcdir}/../deploy/deploy_%.sh ${srcdir}/../deploy/wait_for_upload.sh ../deploy/* CI_INFO macbuild
${srcdir}/prepare_context.sh $@.dir $<.dir/'*' upload ../deploy/'*' ${srcdir}/../deploy/deploy_$*.sh ${srcdir}/../deploy/wait_for_upload.sh CI_INFO
echo > $@
context.deploy_%: context.deploy_base_%
......
......@@ -21,8 +21,8 @@ rm -f $1
ARCH=${ARCH} appimagetool-${ARCH}.AppImage --appimage-extract-and-run appdir $1 || exit $?
# test that the package runs with and without system libraries
./$1 --appimage-extract --version || exit $?
LD_LIBRARY_PATH="" LD_DEBUG_APP=true ./$1 --appimage-extract --version || exit $?
./$1 --appimage-extract-and-run --version || exit $?
LD_LIBRARY_PATH="" LD_DEBUG_APP=true ./$1 --appimage-extract-and-run --version || exit $?
# comment out to inspect result for debug purposes
rm -rf appdir
......@@ -73,7 +73,7 @@ for suffix in bat nsi nsi.m4 cfg txt dsp dsw h cpp dtd xml; do
done
rm -rf $WINDIR/config.* $WINDIR/configure* $WINDIR/*.m4 $WINDIR/*.kde*
rm -rf $WINDIR/bootstrap.sh $WINDIR/batch $WINDIR/missing $WINDIR/install-sh $WINDIR/textures/KGN*
rm -rf $WINDIR/bootstrap.sh $WINDIR/batch $WINDIR/missing $WINDIR/install-sh
find $WINDIR -name "*.in" -exec rm \{\} \;
find $WINDIR -name "*.am" -exec rm \{\} \;
find $WINDIR -name "Makefile*" -exec rm \{\} \;
......
......@@ -9,12 +9,6 @@ to upgrade to 0.2.9 just yet.
If you are in that camp and need help integrating the changes into your build,
contact us.
0.2.8.3.6 is the first release using the build system that powers the 0.2.9 series.
It should bring more consistency between this and future releases,
but as newer versions of autotools are now used, differences to 0.2.8.3.5 in the tarball
are to be expected.
Security related: One fix for a remotely exploitable use after free was backported from 0.2.9 (#34) and one
client crash exploitable by making you play back a specially prepared recording (#54) was fixed.
0.2.8.3.6.1 fixes silly build system mistakes and adds ppa support for Ubuntu 21.04.
\ No newline at end of file
We started to integrate builds for [macOS](http://wiki.armagetronad.org/index.php?title=MacOS).
Consider them alpha for now, testing and patches very welcome. The current macOS specific issues
can be viewed [on our tracker](https://gitlab.com/armagetronad/armagetronad/-/issues?label_name%5B%5D=macOS).
\ No newline at end of file
......@@ -53,6 +53,12 @@ for f in *; do
*win32.zip)
WAIT=false
;;
*-dedicated-*.dmg)
MACOS_SERVER=$f
;;
*.dmg)
MACOS_CLIENT=$f
;;
*-${PACKAGE_VERSION}.zip)
SOURCE_ZIP=$f
;;
......@@ -109,10 +115,12 @@ uri_base: ${DOWNLOAD_URI_BASE}
uri_winclient: ${WIN_CLIENT}
uri_lin64client: ${LIN64_CLIENT}
uri_lin32client: ${LIN32_CLIENT}
uri_macosclient: ${MACOS_CLIENT}
uri_winserver: ${WIN_SERVER}
uri_lin64server: ${LIN64_SERVER}
uri_lin32server: ${LIN32_SERVER}
uri_macosserver: ${MACOS_SERVER}
uri_tarsrc: ${SOURCE_TARBALL}
uri_zipsrc: ${SOURCE_ZIP}
......
......@@ -29,6 +29,8 @@ rm -f upload/*.md upload/*.html
if test ${STAGING} == true; then
echo "Just staging, no upload to Launchpad"
elif test -z "${LP_SERIES}"; then
echo "No LP upload configured"
else
EXIT=0
for f in upload/*${PACKAGE_VERSION}* upload/*.txt; do
......
#!/bin/bash
# update and push macOS build on GitHib
set +x
mv secrets/ssh ~/.ssh
rm -rf secrets/*
set -x
. ./version.sh || exit $?
. ./targets.sh || exit $?
dd=`dirname $0`
# get tarball URI, make sure it exists
TAR_FILENAME=${PACKAGE_NAME}-${PACKAGE_VERSION}.tbz
TAR_URI=${DOWNLOAD_URI_BASE_STAGING}${TAR_FILENAME}
./wait_for_upload.sh ${TAR_URI} || exit $?
trust_github || exit $?
BRANCH_BASE=${ZI_SERIES}
pushd macOS || exit $?
DEPLOY_BRANCH=deploy_${BRANCH_BASE}_${VERSION_SERIES}
# take current cached revision, put it into the deploy branch
git branch -d ${DEPLOY_BRANCH} > /dev/null 2>&1 || true
git checkout -b ${DEPLOY_BRANCH} || exit $?
git remote add upstream ${MACOS_GIT} || exit $?
STEAM_PACKAGE_NAME=retrocycles
STEAM_PACKAGE_TITLE=Retrocycles
#PACKAGE_NAME_SUFFIX="`echo ${PACKAGE_NAME} | sed -e "s,.*-,-,"`"
#PACKAGE_TITLE_SUFFIX="`echo ${PACKAGE_TITLE} | sed -e "s,.* , ,"`"
#PROGTITLE_RC="${STEAM_PACKAGE_TITLE}${PACKAGE_TITLE_SUFFIX}"
#PROGNAME_RC="${STEAM_PACKAGE_NAME}${PACKAGE_NAME_SUFFIX}"
# write new definiton file
cat > INFO <<EOF
TARBALL=${TAR_URI}
VERSION=${PACKAGE_VERSION}
BRANCH=${ZI_SERIES}
PROGTITLE_RC="${STEAM_PACKAGE_TITLE}"
PROGNAME_RC="${STEAM_PACKAGE_NAME}"
UPLOAD=${UPLOAD_SCP_BASE_STAGING}${SF_DIR}/${PACKAGE_VERSION}/macOS
EOF
cat INFO
CHANGED=`git status --short -uno | sed -e "s/^ . //"`
if test -z "${CHANGED}"; then
echo "Nothing updated."
exit 0
fi
# commit and push
git commit . -m "Update to version ${PACKAGE_VERSION}" || exit $?
if ! test ${STAGING} == true; then
git push --force --set-upstream upstream ${DEPLOY_BRANCH} || exit $?
fi
popd
# cleanup
rm -rf source upload secrets secrets.*
if test ${STAGING} == true; then
# just staging, no actual build is done
exit 0
fi
# wait for result
sleep 300