Linux:Packaging
Linux < Linux:Packaging
Linux Packaging
Packagers
Nicknames and how to best contact them.
Ubuntu
det - Forum:det, Lobby:*det*??
Tobi - Forum:Tobi, Lobby:[RoX]Tobi
YokoZar - Forum:YokoZar, Lobby:*YokoZar*??
Debian
mammadori - Forum:mammadori, Lobby:*mammadori*??
jandd - Forum:jandd, Lobby:*jandd*??
Slackware
MelKor - Forum:MelKor , Lobby:*MelKor*??
Mandriva
(no one?)
OpenSuSe
Agon - Forum:Agon, Lobby:*Agon|*basket
cghislai - Forum:cghislai
Fedora
(unknown)
Gentoo
Auswaschbar - Forum:Auswaschbar, Lobby:*Auswaschbar
iElectric, #sy@quakenet:iElectric
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-multithreaded.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-multithreaded 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-multithreaded ~ springrts-gamedata springrts-engine-multithreaded-dbg ~ springrts-engine-multithreaded 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-multithreaded springrts-engine-dbg ~ springrts-engine springrts-engine-default-dbg springrts-engine-multithreaded-dbg springrts ~ springrts-engine unitsync springrts-dbg ~ springrts springrts-engine-dbg unitsync-dbg
Source Distros
springrts [default -dedicated -headless multithreaded unitsync]