Linux:Packaging: Difference between revisions

From Spring
Jump to navigationJump to search
Flozi (talk | contribs)
m →Fedora: use navimgx for external links
Abma (talk | contribs)
 
(8 intermediate revisions by 4 users not shown)
Line 5: Line 5:
== Notification ==
== Notification ==


[http://springrts.com/phpbb/feed.php?f=2 RSS feed for upcoming releases] (''News'' forum feed)
[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.
Usually, releases get promoted one day before being set live on the server.


== Packagers ==
== Packagers ==
Line 17: Line 16:
=== [[Ubuntu_install|Ubuntu]] ===
=== [[Ubuntu_install|Ubuntu]] ===
{{navimg|xsize=48|ysize=48|image=Distributions-ubuntu.png|link=Ubuntu_install}}
{{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''
'''det''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=1213 Forum: ''det''], Lobby: ''det[THE]dave''
Line 23: Line 24:


'''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: ''???''
'''koshi''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=5787 Forum: ''koshi''], Lobby: ''_koshi_''


=== [[Debian_install|Debian]] ===
=== [[Debian_install|Debian]] ===
Line 30: Line 29:
'''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]] ===
=== [[Slackware_install|Slackware]] ===
Line 47: Line 45:
=== [[OpenSUSE_install|OpenSUSE]] ===
=== [[OpenSUSE_install|OpenSUSE]] ===
{{navimg|xsize=48|ysize=48|image=Distributions-opensuse_linux.png|link=OpenSUSE_install}}
{{navimg|xsize=48|ysize=48|image=Distributions-opensuse_linux.png|link=OpenSUSE_install}}
'''Agon''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=5514 Forum:''Agon''], Lobby:''*Agon|*basket''
'''cghislai''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=10114 Forum:''cghislai'']


=== [http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10 Fedora] ===
=== [http://projects.springlobby.info/projects/springlobby/wiki/Install#Fedora-10 Fedora] ===
Line 57: Line 52:
=== [[Gentoo_install|Gentoo]] ===
=== [[Gentoo_install|Gentoo]] ===
{{navimg|xsize=48|ysize=48|image=Distributions-gentoo.png|link=Gentoo_install}}
{{navimg|xsize=48|ysize=48|image=Distributions-gentoo.png|link=Gentoo_install}}
'''Auswaschbar''' - [http://springrts.com/phpbb/memberlist.php?mode=viewprofile&u=5613 Forum:''Auswaschbar''], Lobby:''*Auswaschbar''
'''iElectric''', #sy@quakenet:''iElectric''


== Guidelines ==
== Guidelines ==
Line 79: Line 70:
# when compiling for windows
# when compiling for windows
HOST_PREFIX="${MINGW_HOST}"
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)"
FILE_LIST="spring.exe spring-dedicated.exe spring-headless.exe unitsync.dll $(find AI/Skirmish -name SkirmishAI.dll | xargs echo)"
else
else
# when compiling for linux
# when compiling for linux
HOST_PREFIX=""
HOST_PREFIX=""
FILE_LIST="spring spring-dedicated spring-multithreaded spring-headless libunitsync.so $(find AI/Skirmish -name libSkirmishAI.so | xargs echo)"
FILE_LIST="spring spring-dedicated spring-headless libunitsync.so $(find AI/Skirmish -name libSkirmishAI.so | xargs echo)"
fi
fi


Line 111: Line 102:
springrts-engine-dedicated
springrts-engine-dedicated
springrts-engine-dedicated-dbg ~ 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 ~ springrts-gamedata
springrts-engine-headless-dbg ~ springrts-engine-headless
springrts-engine-headless-dbg ~ springrts-engine-headless
Line 120: Line 109:


'''meta packages:'''
'''meta packages:'''
<pre>springrts-engine ~ springrts-engine-default springrts-engine-multithreaded
<pre>springrts-engine ~ springrts-engine-default
springrts-engine-dbg ~ springrts-engine springrts-engine-default-dbg springrts-engine-multithreaded-dbg
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 129: Line 118:


<pre>
<pre>
springrts [default -dedicated -headless multithreaded unitsync]
springrts [default -dedicated -headless unitsync]
</pre>
</pre>


[[Category:Linux]]
[[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]