Linux:Packaging: Difference between revisions
add contact info & links |
|||
| (31 intermediate revisions by 11 users not shown) | |||
| Line 1: | Line 1: | ||
[[ | [[Linux|Linux Setup Guide]] < {{FULLPAGENAME}} | ||
= Linux Packaging = | = Linux Packaging = | ||
== Notification == | |||
[http://springrts.com/phpbb/feed.php?mode=news RSS feed for upcoming releases] (''News'' forum feed) | |||
Usually, releases get promoted one day before being set live on the server. | |||
== Packagers == | == Packagers == | ||
| Line 7: | Line 13: | ||
Nicknames and how to best contact them. | Nicknames and how to best contact them. | ||
'''det''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=1213 Forum:''det''], Lobby:'' | === [[Ubuntu_install|Ubuntu]] === | ||
{{navimg|xsize=48|ysize=48|image=Distributions-ubuntu.png|link=Ubuntu_install}} | |||
'''koshi''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=5787 Forum: ''koshi''], Lobby: ''_koshi_'' | |||
'''det''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=1213 Forum: ''det''], Lobby: ''det[THE]dave'' | |||
'''Tobi''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=596 Forum: ''Tobi''], Lobby: ''[RoX]Tobi'' | |||
'''YokoZar''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=5670 Forum:''YokoZar''], Lobby:'' | '''YokoZar''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=5670 Forum: ''YokoZar''], Lobby: ''???'' | ||
=== Debian === | === [[Debian_install|Debian]] === | ||
{{navimg|xsize=48|ysize=48|image=Distributions-debian.png|link=Debian_install}} | |||
'''mammadori''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=9045 Forum:''mammadori''], Lobby:''*mammadori*??'' | '''mammadori''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=9045 Forum:''mammadori''], Lobby:''*mammadori*??'' | ||
'''jandd''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=9301 Forum:''jandd''], Lobby:''*jandd*??'' | '''jandd''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=9301 Forum:''jandd''] & [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=9727 ''gilboa''], Lobby:''*jandd*??'' | ||
=== [[Slackware_install|Slackware]] === | |||
{{navimg|xsize=48|ysize=48|image=Distributions-slackware.png|link=Slackware_install}} | |||
== | '''MelKor''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=10340 Forum:''MelKor'' ], Lobby:''*MelKor*??'' | ||
=== | '''1467''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=10639 Forum:''1467'' ], Lobby:''*1467*??'' | ||
=== [[Mandriva_install|Mandriva]] === | |||
{{navimg|xsize=48|ysize=48|image=Distributions-mandriva_linux.png|link=Mandriva_install}} | |||
<font color="red">(no one?)</font> | <font color="red">(no one?)</font> | ||
=== | === [[OpenSUSE_install|OpenSUSE]] === | ||
{{navimg|xsize=48|ysize=48|image=Distributions-opensuse_linux.png|link=OpenSUSE_install}} | |||
=== | === [http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10 Fedora] === | ||
''' | {{navimgx|xsize=48|ysize=48|image=Distributions-fedora.png|link=http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10}} | ||
'''gilboa''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=9727 Forum:''gilboa''] | |||
=== [[Gentoo_install|Gentoo]] === | |||
{{navimg|xsize=48|ysize=48|image=Distributions-gentoo.png|link=Gentoo_install}} | |||
== Guidelines == | == Guidelines == | ||
| Line 43: | Line 61: | ||
=== Binary Distros === | === Binary Distros === | ||
We recommend using <code>CMAKE_BUILD_TYPE=RELWITHDEBINFO</code>, and later splitting the debug symbols off into separate files with a command like this: | |||
'' | |||
<font color="#77DD00"><code><pre> | |||
#!/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 | |||
</pre></code></font> | |||
'''main packages (''package'' ~ ''deps''):''' | '''main packages (''package'' ~ ''deps''):''' | ||
| Line 53: | Line 102: | ||
springrts-engine-dedicated | springrts-engine-dedicated | ||
springrts-engine-dedicated-dbg ~ springrts-engine-dedicated | springrts-engine-dedicated-dbg ~ springrts-engine-dedicated | ||
springrts-engine-headless ~ springrts-gamedata | springrts-engine-headless ~ springrts-gamedata | ||
springrts-engine-headless-dbg ~ springrts-engine-headless | springrts-engine-headless-dbg ~ springrts-engine-headless | ||
| Line 62: | Line 109: | ||
'''meta packages:''' | '''meta packages:''' | ||
<pre>springrts-engine ~ springrts-engine-default | <pre>springrts-engine ~ springrts-engine-default | ||
springrts-engine-dbg ~ springrts-engine springrts-engine-default | springrts-engine-dbg ~ springrts-engine springrts-engine-default-dbg | ||
springrts ~ springrts-engine unitsync | springrts ~ springrts-engine unitsync | ||
springrts-dbg ~ springrts springrts-engine-dbg unitsync-dbg | springrts-dbg ~ springrts springrts-engine-dbg unitsync-dbg | ||
| Line 71: | Line 118: | ||
<pre> | <pre> | ||
springrts [default -dedicated -headless | springrts [default -dedicated -headless unitsync] | ||
</pre> | </pre> | ||
[[Category:Linux]] | |||
Latest revision as of 13:38, 21 December 2021
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]