Difference between revisions of "Buildbot"

Jump to navigation Jump to search
144 bytes added ,  15:16, 25 October 2018
m
Text replacement - "<source lang=" to "<syntaxhighlight lang="
(The buildbot services are now managed using systemd)
m (Text replacement - "<source lang=" to "<syntaxhighlight lang=")
(One intermediate revision by the same user not shown)
Line 51: Line 51:
When the buildbot config files are changed, a user with shell access and sudo privileges needs to run the following commands. It's good practice to do this once buildbot is idle:
When the buildbot config files are changed, a user with shell access and sudo privileges needs to run the following commands. It's good practice to do this once buildbot is idle:


<source lang="bash">
<syntaxhighlight lang="bash">
sudo -s
sudo -s
systemctl stop buildslave
systemctl stop buildslave
Line 59: Line 59:
systemctl start buildmaster
systemctl start buildmaster
systemctl start buildslave
systemctl start buildslave
</source>
</syntaxhighlight>


If problems arise, check if all files in the master (~buildbot/scummvm-master) and slave (~buildbot/scummvm-slave) directories are owned by the correct user (buildbot:buildbot). If the daemons were incorrectly started, new files might have been created under another user account. In that case:
If problems arise, check if all files in the master (~buildbot/scummvm-master) and slave (~buildbot/scummvm-slave) directories are owned by the correct user (buildbot:buildbot). If the daemons were incorrectly started, new files might have been created under another user account. In that case:
Line 65: Line 65:
* stop the daemons (see above)
* stop the daemons (see above)
* fix the permissions with
* fix the permissions with
<source lang="bash">
<syntaxhighlight lang="bash">
chown -R buildbot:buildbot ~buildbot/scummvm-master/*
chown -R buildbot:buildbot ~buildbot/scummvm-master/*
chown -R buildbot:buildbot ~buildbot/scummvm-slave/*
chown -R buildbot:buildbot ~buildbot/scummvm-slave/*
</source>
</syntaxhighlight>
* start the daemons
* start the daemons


Line 98: Line 98:
* Decompress the latest libSDL tarball to a temporary location i.e.
* Decompress the latest libSDL tarball to a temporary location i.e.


<source lang="bash">
<syntaxhighlight lang="bash">
tar -xvzf SDL-1.2.15.tar.gz -d /home/digitall
tar -xvzf SDL-1.2.15.tar.gz -d /home/digitall
</source>
</syntaxhighlight>


* Apply any required patches i.e. Currently libSDL-1.2.15 snapshot has a error in the Win32 version strings.. This may occur again on future releases :/
* Apply any required patches i.e. Currently libSDL-1.2.15 snapshot has a error in the Win32 version strings.. This may occur again on future releases :/


<source lang="bash">
<syntaxhighlight lang="bash">
patch -p0 < SDL-1.2.15-Fix-Windows-DLL-Version.patch
patch -p0 < SDL-1.2.15-Fix-Windows-DLL-Version.patch
</source>
</syntaxhighlight>


* Add toolchain binaries directory to path.
* Add toolchain binaries directory to path.


<source lang="bash">
<syntaxhighlight lang="bash">
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
export PATH
export PATH
</source>
</syntaxhighlight>


* Add out of tree build directory and configure the SDL codebase here with the host target and prefix to use the correct cross toolchain and target for make install.
* Add out of tree build directory and configure the SDL codebase here with the host target and prefix to use the correct cross toolchain and target for make install.


<source lang="bash">
<syntaxhighlight lang="bash">
mkdir SDL-1.2.15-x86_64-w64-mingw32
mkdir SDL-1.2.15-x86_64-w64-mingw32
cd SDL-1.2.15-x86_64-w64-mingw32
cd SDL-1.2.15-x86_64-w64-mingw32
../SDL-1.2.15/configure --host=x86_64-w64-mingw32 --prefix=/opt/toolchains/x86_64-w64-mingw32
../SDL-1.2.15/configure --host=x86_64-w64-mingw32 --prefix=/opt/toolchains/x86_64-w64-mingw32
</source>
</syntaxhighlight>


* Compile the codebase.
* Compile the codebase.


<source lang="bash">
<syntaxhighlight lang="bash">
make
make
</source>
</syntaxhighlight>


* Install the compiled files. As you become root, you need to make the same modification to the path to get the required cross toolchain tools such as ranlib.
* Install the compiled files. As you become root, you need to make the same modification to the path to get the required cross toolchain tools such as ranlib.


<source lang="bash">
<syntaxhighlight lang="bash">
sudo bash
sudo bash
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
export PATH
export PATH
make install
make install
</source>
</syntaxhighlight>
TrustedUser
2,147

edits

Navigation menu