Add dedicated server packaging
This commit is contained in:
commit
b9c031dfab
13 changed files with 275 additions and 0 deletions
40
scripts/package-native.sh
Executable file
40
scripts/package-native.sh
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 1 || -z "$1" ]]; then
|
||||
echo "Usage: $0 VERSION" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
version="$1"
|
||||
repository_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
dist_dir="${repository_dir}/dist"
|
||||
packages_dir="${repository_dir}/packages"
|
||||
package_name="netfishing-dedicated-server-${version}-linux-x86_64"
|
||||
staging_dir="$(mktemp -d)"
|
||||
trap 'rm -rf -- "${staging_dir}"' EXIT
|
||||
|
||||
for filename in NETfishingServer.x86_64 NETfishingServer.pck; do
|
||||
if [[ ! -f "${dist_dir}/${filename}" ]]; then
|
||||
echo "Run scripts/stage-build.sh before packaging." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
install -d "${staging_dir}/${package_name}"
|
||||
install -m 0755 "${dist_dir}/NETfishingServer.x86_64" \
|
||||
"${staging_dir}/${package_name}/NETfishingServer.x86_64"
|
||||
install -m 0644 "${dist_dir}/NETfishingServer.pck" \
|
||||
"${staging_dir}/${package_name}/NETfishingServer.pck"
|
||||
install -m 0644 "${repository_dir}/config/server.cfg.example" \
|
||||
"${staging_dir}/${package_name}/server.cfg"
|
||||
install -m 0644 "${repository_dir}/README.md" \
|
||||
"${staging_dir}/${package_name}/README.md"
|
||||
|
||||
mkdir -p -- "${packages_dir}"
|
||||
archive="${packages_dir}/${package_name}.tar.gz"
|
||||
tar --sort=name --mtime=@0 --owner=0 --group=0 --numeric-owner \
|
||||
-C "${staging_dir}" -czf "${archive}" "${package_name}"
|
||||
cd -- "${packages_dir}"
|
||||
sha256sum "${package_name}.tar.gz" > "${package_name}.tar.gz.sha256"
|
||||
echo "Created ${archive}"
|
||||
27
scripts/stage-build.sh
Executable file
27
scripts/stage-build.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "Usage: $0 /path/to/server-linux-x86_64" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
source_dir="${1%/}"
|
||||
repository_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
destination_dir="${repository_dir}/dist"
|
||||
|
||||
for filename in NETfishingServer.x86_64 NETfishingServer.pck; do
|
||||
if [[ ! -f "${source_dir}/${filename}" ]]; then
|
||||
echo "Missing ${source_dir}/${filename}" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
install -m 0755 "${source_dir}/NETfishingServer.x86_64" \
|
||||
"${destination_dir}/NETfishingServer.x86_64"
|
||||
install -m 0644 "${source_dir}/NETfishingServer.pck" \
|
||||
"${destination_dir}/NETfishingServer.pck"
|
||||
|
||||
cd -- "${destination_dir}"
|
||||
sha256sum NETfishingServer.x86_64 NETfishingServer.pck > SHA256SUMS
|
||||
echo "Staged dedicated server build in ${destination_dir}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue