Skip to content

Commit

Permalink
creates .tgs.yml, removes more binaries (cmss13-devs#3406)
Browse files Browse the repository at this point in the history
as above
  • Loading branch information
hry-gh authored May 24, 2023
1 parent 94b1032 commit b6d9c4b
Show file tree
Hide file tree
Showing 9 changed files with 97 additions and 107 deletions.
12 changes: 12 additions & 0 deletions .tgs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 1
byond: "514.1588"
static_files:
- name: config
- name: data
linux_scripts:
PreCompile.sh: tools/tgs_scripts/PreCompile.sh
WatchdogLaunch.sh: tools/tgs_scripts/WatchdogLaunch.sh
InstallDeps.sh: tools/tgs_scripts/InstallDeps.sh
windows_scripts:
PreCompile.bat: tools/tgs_scripts/PreCompile.bat
security: Trusted
Binary file removed libmariadb.dll
Binary file not shown.
Binary file removed libmysql.dll
Binary file not shown.
93 changes: 0 additions & 93 deletions tools/tgs4_scripts/PreCompile.sh

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
#!/bin/bash

# Special file to ensure all dependencies still exist between server lanuches.
# Mainly for use by people who abuse docker by modifying the container's system.
set -e
set -x

#find out what we have (+e is important for this)
set +e
has_git="$(command -v git)"
has_curl="$(command -v curl)"
has_cargo="$(command -v ~/.cargo/bin/cargo)"
has_sudo="$(command -v sudo)"
has_grep="$(command -v grep)"
has_youtubedl="$(command -v youtube-dl)"
has_pip3="$(command -v pip3)"
set -e
set -x

# apt packages, libssl needed by rust-g but not included in TGS barebones install
if ! ( [ -x "$has_git" ] && [ -x "$has_curl" ] && [ -f "/usr/lib/i386-linux-gnu/libssl.so" ] ); then
echo "Installing apt dependencies..."
if ! [ -x "$has_sudo" ]; then
dpkg --add-architecture i386
apt-get update
apt-get install -y lib32z1 git pkg-config libssl-dev:i386 libssl-dev zlib1g-dev:i386 curl
else
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y lib32z1 git pkg-config libssl-dev:i386 libssl-dev zlib1g-dev:i386 curl
fi
fi

# install cargo if needed
if ! [ -x "$has_cargo" ]; then
Expand All @@ -22,20 +32,19 @@ if ! [ -x "$has_cargo" ]; then
. ~/.profile
fi

# apt packages, libssl needed by rust-g but not included in TGS barebones install
if ! ( [ -x "$has_git" ] && [ -x "$has_grep" ] && [ -f "/usr/lib/i386-linux-gnu/libssl.so" ] ); then
dpkg --add-architecture i386
apt-get update
apt-get install -y lib32z1 git pkg-config libssl-dev:i386 libssl-dev libssl1.1:i386 gcc-multilib lib32z1-dev
fi

# install youtube-dl when not present
# install or update youtube-dl when not present, or if it is present with pip3,
# which we assume was used to install it
if ! [ -x "$has_youtubedl" ]; then
echo "Installing youtube-dl with pip3..."
if ! [ -x "$has_sudo" ]; then
apt-get update
apt-get install -y python3 python3-pip
else
sudo apt-get update
sudo apt-get install -y python3 python3-pip
fi
pip3 install youtube-dl
elif [ -x "$has_pip3" ]; then
echo "Ensuring youtube-dl is up-to-date with pip3..."
pip3 install youtube-dl -U
fi
15 changes: 15 additions & 0 deletions tools/tgs_scripts/PreCompile.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@echo off
cd /D "%~dp0"
set TG_BOOTSTRAP_CACHE=%cd%
IF NOT %1 == "" (
rem TGS4+: we are passed the game directory on the command line
cd %1
) ELSE IF EXIST "..\Game\B\tgstation.dmb" (
rem TGS3: Game/B/tgstation.dmb exists, so build in Game/A
cd ..\Game\A
) ELSE (
rem TGS3: Otherwise build in Game/B
cd ..\Game\B
)
set CBT_BUILD_MODE=TGS
tools\build\build
41 changes: 41 additions & 0 deletions tools/tgs_scripts/PreCompile.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash

./InstallDeps.sh

set -e
set -x

#load dep exports
#need to switch to game dir for Dockerfile weirdness
original_dir=$PWD
cd "$1"
. dependencies.sh
cd "$original_dir"

# update rust-g
if [ ! -d "rust-g" ]; then
echo "Cloning rust-g..."
git clone https://github.com/tgstation/rust-g
cd rust-g
~/.cargo/bin/rustup target add i686-unknown-linux-gnu
else
echo "Fetching rust-g..."
cd rust-g
git fetch
~/.cargo/bin/rustup target add i686-unknown-linux-gnu
fi

echo "Deploying rust-g..."
git checkout "$RUST_G_VERSION"
env PKG_CONFIG_ALLOW_CROSS=1 ~/.cargo/bin/cargo build --release --target=i686-unknown-linux-gnu --features redis_pubsub
mv target/i686-unknown-linux-gnu/release/librust_g.so "$1/librust_g.so"
cd ..

# compile tgui
echo "Compiling tgui..."
cd "$1"
chmod +x tools/bootstrap/node # Workaround for https://github.com/tgstation/tgstation-server/issues/1167
env TG_BOOTSTRAP_CACHE="$original_dir" TG_BOOTSTRAP_NODE_LINUX=1 CBT_BUILD_MODE="TGS" tools/bootstrap/node tools/build/build.js

echo "Running changelog script..."
python3 .github/ss13_genchangelog.py html/changelogs
File renamed without changes.
6 changes: 6 additions & 0 deletions tools/tgs_scripts/WatchdogLaunch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

# Special file to ensure all dependencies still exist between server launches.
# Mainly for use by people who abuse docker by modifying the container's system.

./InstallDeps.sh

0 comments on commit b6d9c4b

Please sign in to comment.