The International Simutrans Forum

 

Author Topic: Bridgewater-Brunel Nightly script nightly.sh  (Read 155 times)

0 Members and 1 Guest are viewing this topic.

Offline Matthew

  • *
  • Posts: 419
    • Japan Railway Journal
  • Languages: EN, some ZH, DE & SQ
Bridgewater-Brunel Nightly script nightly.sh
« on: October 04, 2020, 08:12:26 PM »
James,

According to this post you use a script called nightly.sh to build the 'official' Bridgewater-Brunel executables.

Could you please post the latest version of that script?

I am trying to get my self-compiled builds to replicate your 'official' builds and studying the script would help with this.

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 20274
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Bridgewater-Brunel Nightly script nightly.sh
« Reply #1 on: October 10, 2020, 12:08:01 PM »
Here it is:

Code: [Select]
echo "***"
echo "Nightly build for Linux"
date
echo "***"
cd /usr/share/games/nightly/simutrans-experimental
echo "Fetching new version of the code"
echo "***"
git pull origin master --no-edit
echo "***"
echo "Deleting the about to be out of date nightly hash"
echo "***"
rm /var/www/downloads/nightly/nightly.hash
echo "***"
echo "Building the main executable"
echo "***"
# Linux
env CFG=default make clean
env CFG=default make -j3
strip build/default/simutrans-extended
chmod +x build/default/simutrans-extended
env CFG=server make clean
env CFG=server make -j3
strip build/server/simutrans-extended
chmod +x build/server/simutrans-extended
# Windows (32-bit GDI)
env CFG=mingw32 make clean
env CFG=mingw32 make -j3
# Windows (64-bit SDL2)
env CFG=mingw64 make clean
env CFG=mingw64 make -j3
echo "***"
echo "Building makeobj"
echo "***"
cd makeobj
# Linux
env CFG=default make clean
env CFG=default make -j3
strip /usr/share/games/nightly/simutrans-experimental/build/default/makeobj-extended/makeobj-extended
chmod +x /usr/share/games/nightly/simutrans-experimental/build/default/makeobj-extended/makeobj-extended
# Windows
env CFG=mingw64 make clean
env CFG=mingw64 make -j3
echo "***"
echo "Linking Makeobj to the pakset directories"
echo "***"
ln -s /usr/share/games/nightly/simutrans-experimental/build/default/makeobj-extended/makeobj-extended /usr/share/games/nightly/simutrans-pak128.britain/makeobj-extended
ln -s /usr/share/games/nightly/simutrans-experimental/build/default/makeobj-extended/makeobj-extended /usr/share/games/nightly/Pak128.Sweden-Ex/makeobj
echo "***"
echo "Building nettool"
echo "***"
cd /usr/share/games/nightly/simutrans-experimental/nettools
# Linux
make clean
env CFG=default make -j3
strip /usr/share/games/nightly/simutrans-experimental/build/default/nettool/nettool
chmod +x /usr/share/games/nightly/simutrans-experimental/build/default/nettool/nettool
# Windows
env CFG=mingw32 make clean
env CFG=mingw32 make -j3
# Paksets
echo "***"
echo "Fetching the new version of the paksets"
echo "***"
cd /usr/share/games/nightly/simutrans-pak128.britain
git pull origin master --no-edit
cd /usr/share/games/nightly/Pak128.Sweden-Ex
git pull origin master --no-edit
echo "***"
echo "Building the paksets"
echo "***"
cd /usr/share/games/nightly/simutrans-pak128.britain
make clean; make -j3
cd /usr/share/games/nightly/Pak128.Sweden-Ex
make clean; make -j3
echo "***"
echo "Copying the files for download and the game server"
echo "***"
cp /usr/share/games/nightly/simutrans-experimental/build/default/simutrans-extended /var/www/downloads/nightly/linux-x64
cp /usr/share/games/nightly/simutrans-experimental/build/mingw32/Simutrans-Extended.exe /var/www/downloads/nightly/windows/Simutrans-Extended.exe
cp /usr/share/games/nightly/simutrans-experimental/build/mingw64/Simutrans-Extended.exe /var/www/downloads/nightly/windows/Simutrans-Extended-64.exe

cp /usr/share/games/nightly/simutrans-experimental/build/default/makeobj-extended/makeobj-extended /var/www/downloads/nightly/linux-x64
cp /usr/share/games/nightly/simutrans-experimental/build/mingw32/makeobj-extended/makeobj-extended /var/www/downloads/nightly/windows/Makeobj-Extended.exe

cp /usr/share/games/nightly/simutrans-experimental/build/default/nettool/nettool /var/www/downloads/nightly/linux-x64
cp /usr/share/games/nightly/simutrans-experimental/build/mingw32/nettool/nettool /var/www/downloads/nightly/windows/Nettool-Extended.exe

rm /usr/share/games/simutrans-extended/nettool
cp /usr/share/games/nightly/simutrans-experimental/build/default/nettool/nettool /usr/share/games/simutrans-extended/nettool

rm /usr/share/games/simutrans-extended/simutrans-extended
cp /usr/share/games/nightly/simutrans-experimental/build/server/simutrans-extended /usr/share/games/simutrans-extended/simutrans-extended
cp /usr/share/games/nightly/simutrans-experimental/build/server/simutrans-extended /var/www/downloads/nightly/linux-x64/command-line-server-build

tar -zcvf /var/www/downloads/nightly/pakset/pak128.britain-ex-nightly.tar.gz --directory "/usr/share/games/nightly/simutrans-pak128.britain/pak128.Britain-Ex" .
tar -zcvf /var/www/downloads/nightly/pakset/pak128.sweden-ex-nightly.tar.gz --directory "/usr/share/games/nightly/Pak128.Sweden-Ex/pak128.Sweden-Ex" .
echo "***"
echo "Cleaning up the pakset folders"
rm /usr/share/games/nightly/Pak128.Sweden-Ex/makeobj
rm /usr/share/games/nightly/simutrans-pak128.britain/makeobj-extended
echo "***"
echo "Copying files to the /simutrans folder to make the Windows complete .zip file"
echo "***"
rm /usr/share/games/nightly/simutrans-experimental/simutrans/Simutrans-Extended.exe
rm /usr/share/games/nightly/simutrans-experimental/simutrans/Simutrans-Extended-64.exe
cp /usr/share/games/nightly/simutrans-experimental/build/mingw32/Simutrans-Extended.exe /usr/share/games/nightly/simutrans-experimental/simutrans/Simutrans-Extended.exe
cp /usr/share/games/nightly/simutrans-experimental/build/mingw64/Simutrans-Extended.exe /usr/share/games/nightly/simutrans-experimental/simutrans/Simutrans-Extended-64.exe
rm /usr/share/games/nightly/simutrans-experimental/simutrans/Makeobj-Extended.exe
cp /usr/share/games/nightly/simutrans-experimental/build/mingw32/makeobj-extended/makeobj-extended /usr/share/games/nightly/simutrans-experimental/simutrans/Makeobj-Extended.exe
rm -rf /usr/share/games/nightly/simutrans-experimental/simutrans/Pak128.Britain-Ex
cp -R /usr/share/games/nightly/simutrans-pak128.britain/pak128.Britain-Ex /usr/share/games/nightly/simutrans-experimental/simutrans/Pak128.Britain-Ex
rm -rf /usr/share/games/nightly/simutrans-experimental/simutrans/Pak128.Sweden-Ex
cp -R /usr/share/games/nightly/Pak128.Sweden-Ex/pak128.Sweden-Ex /usr/share/games/nightly/simutrans-experimental/simutrans/Pak128.Sweden-Ex
echo "***"
echo "Zipping the Windows Simutrans-Extended-Complete file"
echo "***"
rm /var/www/downloads/nightly/packages/Simutrans-Extended-Complete.zip
cd /usr/share/games/nightly/simutrans-experimental/
rm ./simutrans/Simutrans-Extended.exe
rm ./simutrans/Simutrans-Extended-64.exe
cp /var/www/downloads/nightly/windows/Simutrans-Extended.exe ./simutrans
cp /var/www/downloads/nightly/windows/Simutrans-Extended-64.exe ./simutrans
rm ./simutrans/simutrans-extended
cp /var/www/downloads/nightly/linux-x64/simutrans-extended ./simutrans
rm ./simutrans/Nettool-Extended.exe
cp /var/www/downloads/nightly/windows/Nettool-Extended.exe ./simutrans
rm ./simutrans/nettool
cp /usr/share/games/simutrans-extended/nettool/nettool ./simutrans
zip -r /var/www/downloads/nightly/packages/Simutrans-Extended-Complete.zip ./simutrans
echo "***"
echo "Creating the hash to allow for selective downloading"
echo "***"
java -jar '/root/server-hasher.jar' -root '/var/www/downloads/raw/simutrans' -out '/var/www/downloads/nightly/' -name 'nightly.hash'
echo "***"
date
echo "Completed"

Offline Matthew

  • *
  • Posts: 419
    • Japan Railway Journal
  • Languages: EN, some ZH, DE & SQ
Re: Bridgewater-Brunel Nightly script nightly.sh
« Reply #2 on: October 11, 2020, 12:10:20 AM »
Thank you, James. Seeing that your Simutrans-Extended.exe uses GDI was the missing piece of the jigsaw puzzle. A lot of other things about the build process make much more sense now. Eureka!

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 20274
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Bridgewater-Brunel Nightly script nightly.sh
« Reply #3 on: October 11, 2020, 12:34:25 AM »
Only the Visual Studio builds that I use for debugging use GDI - the cross-compile builds on the server use SDL2.