Linux:Packaging
Linux Setup Guide < Linux:Packaging
Linux Packaging
Notification
RSS feed for upcoming releases (News forum feed)
Usually, releases get promoted one day before being set live on the server.
Packagers
Nicknames and how to best contact them.
Ubuntu
koshi - Forum: koshi, Lobby: _koshi_
det - Forum: det, Lobby: det[THE]dave
Tobi - Forum: Tobi, Lobby: [RoX]Tobi
YokoZar - Forum: YokoZar, Lobby: ???
Debian
mammadori - Forum:mammadori, Lobby:*mammadori*??
jandd - Forum:jandd & gilboa, Lobby:*jandd*??
Slackware
MelKor - Forum:MelKor , Lobby:*MelKor*??
1467 - Forum:1467 , Lobby:*1467*??
Mandriva
(no one?)
OpenSUSE
Fedora
gilboa - Forum:gilboa
Gentoo
Guidelines
Note: This section is only of interest for Linux package maintainers.
Here we outline the packaging scheme currently recommended by the engine development team.
Binary Distros
We recommend using CMAKE_BUILD_TYPE=RELWITHDEBINFO
, and later splitting the debug symbols off into separate files with a command like this:
#!/bin/sh
MINGW_HOST="i586-mingw32msvc-" # depends on your version of MinGW
if [ $(expr match "${TARGET_OS}" 'win') -gt 0 ]; then
# when compiling for windows
HOST_PREFIX="${MINGW_HOST}"
FILE_LIST="spring.exe spring-dedicated.exe spring-headless.exe unitsync.dll $(find AI/Skirmish -name SkirmishAI.dll | xargs echo)"
else
# when compiling for linux
HOST_PREFIX=""
FILE_LIST="spring spring-dedicated spring-headless libunitsync.so $(find AI/Skirmish -name libSkirmishAI.so | xargs echo)"
fi
for toStripFile in ${FILE_LIST}; do
if [ -f "${toStripFile}" ]; then
debugFile=${toStripFile}.dbg
echo "stripping debug-symbols from ${toStripFile} to ${debugFile} ..."
# create debugFile
${HOST_PREFIX}objcopy --only-keep-debug ${toStripFile} ${debugFile}
# strip toStripFile
${HOST_PREFIX}strip --strip-debug --strip-unneeded ${toStripFile}
# connect debugFile to toStripFile
# This should only be done if you want to painlessly use GDB.
# For getting a translated stack-trace in infolog.txt, this is not required.
# It will slow down spring a lot at runtime, if you do this,
# and keep the debug symbols around.
#${HOST_PREFIX}objcopy --add-gnu-debuglink=${debugFile} ${toStripFile}
fi
done
main packages (package ~ deps):
springrts-gamedata springrts-engine-default ~ springrts-gamedata springrts-engine-default-dbg ~ springrts-engine springrts-engine-dedicated springrts-engine-dedicated-dbg ~ springrts-engine-dedicated springrts-engine-headless ~ springrts-gamedata springrts-engine-headless-dbg ~ springrts-engine-headless springrts-unitsync ~ springrts-gamedata springrts-unitsync-dbg ~ springrts-unitsync
meta packages:
springrts-engine ~ springrts-engine-default springrts-engine-dbg ~ springrts-engine springrts-engine-default-dbg springrts ~ springrts-engine unitsync springrts-dbg ~ springrts springrts-engine-dbg unitsync-dbg
Source Distros
springrts [default -dedicated -headless unitsync]