Difference between revisions of "Buildbot"

Jump to navigation Jump to search
753 bytes added ,  08:53, 23 November 2018
→‎Rebuilding Toolchain Libraries: Added note on MinGW toolchain patches to sdl-config / pkg-config output
(→‎Administration: Add HOWTO on building libraries for toolchains on Buildbot.)
(→‎Rebuilding Toolchain Libraries: Added note on MinGW toolchain patches to sdl-config / pkg-config output)
(5 intermediate revisions by 4 users 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:


sudo -s
<syntaxhighlight lang="bash">
/etc/init.d/buildslave stop
sudo -s
/etc/init.d/buildbot stop
systemctl stop buildslave
cd ~buildbot/buildbot
systemctl stop buildmaster
git pull
cd ~buildbot/scummvm-sites
/etc/init.d/buildbot start
sudo -u buildbot git pull --ff-only
/etc/init.d/buildslave start
systemctl start buildmaster
systemctl start buildslave
</syntaxhighlight>


If problems arise, check if all files in the master (~buildbot/master) and slave (~buildbot/slave) directories are owned by the correct user (buildbot:nogroup). 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:


* stop the daemons (see above)
* stop the daemons (see above)
* fix the permissions with
* fix the permissions with
chown -R buildbot:nogroup ~buildbot/master/*
<syntaxhighlight lang="bash">
chown -R buildbot:nogroup ~buildbot/slave/*
chown -R buildbot:buildbot ~buildbot/scummvm-master/*
chown -R buildbot:buildbot ~buildbot/scummvm-slave/*
</syntaxhighlight>
* start the daemons
* start the daemons


Line 89: Line 93:


* /opt/toolchains is actually a symlink to the real location of the external storage drive, but /opt/toolchains should be used in all configuration to ensure that this can be freely moved in future if necessary.
* /opt/toolchains is actually a symlink to the real location of the external storage drive, but /opt/toolchains should be used in all configuration to ensure that this can be freely moved in future if necessary.
* Check for any platform specific library build instructions at the relevant page [[Compiling_ScummVM|here]].


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


tar -xvzf SDL-1.2.15.tar.gz -d /home/digitall
<syntaxhighlight lang="bash">
tar -xvzf SDL-1.2.15.tar.gz -d /home/digitall
</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 :/
 
 
patch -p0 < SDL-1.2.15-Fix-Windows-DLL-Version.patch
<syntaxhighlight lang="bash">
patch -p0 < SDL-1.2.15-Fix-Windows-DLL-Version.patch
</syntaxhighlight>


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


PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
<syntaxhighlight lang="bash">
export PATH
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
export PATH
</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.


mkdir SDL-1.2.15-x86_64-w64-mingw32
<syntaxhighlight lang="bash">
cd SDL-1.2.15-x86_64-w64-mingw32
mkdir 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
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
</syntaxhighlight>


* Compile the codebase.
* Compile the codebase.


make
<syntaxhighlight lang="bash">
make
</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.


sudo bash
<syntaxhighlight lang="bash">
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
sudo bash
export PATH
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH
make install
export PATH
make install
</syntaxhighlight>
 
* IMPORTANT: If installing libSDL for Win32 / Win64 MinGW toolchains, please check the note [[Compiling_ScummVM/MinGW#SDL|here]] and make the relevant fixes to bin/sdl-config and lib/pkg-config/sdl2.pc etc.
TrustedUser
574

edits

Navigation menu