License dedicated server packaging under GPLv3
This commit is contained in:
parent
a68d6157be
commit
9473fc0b33
12 changed files with 774 additions and 3 deletions
|
|
@ -91,6 +91,21 @@ for filename in NETfishingServer.x86_64 NETfishingServer.pck BUILD_INFO SHA256SU
|
|||
exit 1
|
||||
fi
|
||||
done
|
||||
for filename in \
|
||||
GPL-3.0-or-later.txt \
|
||||
ASSET-LICENSE.md \
|
||||
THIRD-PARTY-NOTICES.md \
|
||||
TRADEMARKS.md \
|
||||
CREDITS.md; do
|
||||
if [[ ! -f "${payload_dir}/licenses/${filename}" ]]; then
|
||||
echo "Archive is missing required notice licenses/${filename}." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
if [[ ! -f "${payload_dir}/SOURCE-CODE.md" ]]; then
|
||||
echo "Archive is missing SOURCE-CODE.md." >&2
|
||||
exit 1
|
||||
fi
|
||||
(cd -- "${payload_dir}" && sha256sum -c SHA256SUMS)
|
||||
|
||||
manifest_value() {
|
||||
|
|
@ -135,6 +150,17 @@ else
|
|||
install -m 0444 "${payload_dir}/NETfishingServer.pck" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/BUILD_INFO" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/SHA256SUMS" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/SOURCE-CODE.md" "${release_stage}/"
|
||||
install -d -m 0755 "${release_stage}/licenses"
|
||||
for filename in \
|
||||
GPL-3.0-or-later.txt \
|
||||
ASSET-LICENSE.md \
|
||||
THIRD-PARTY-NOTICES.md \
|
||||
TRADEMARKS.md \
|
||||
CREDITS.md; do
|
||||
install -m 0444 "${payload_dir}/licenses/${filename}" \
|
||||
"${release_stage}/licenses/${filename}"
|
||||
done
|
||||
if [[ -f "${payload_dir}/README.md" ]]; then
|
||||
install -m 0444 "${payload_dir}/README.md" "${release_stage}/"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -18,12 +18,28 @@ 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 BUILD_INFO SHA256SUMS; do
|
||||
for filename in \
|
||||
NETfishingServer.x86_64 \
|
||||
NETfishingServer.pck \
|
||||
BUILD_INFO \
|
||||
SOURCE-CODE.md \
|
||||
SHA256SUMS; do
|
||||
if [[ ! -f "${dist_dir}/${filename}" ]]; then
|
||||
echo "Run scripts/stage-build.sh before packaging." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
for filename in \
|
||||
GPL-3.0-or-later.txt \
|
||||
ASSET-LICENSE.md \
|
||||
THIRD-PARTY-NOTICES.md \
|
||||
TRADEMARKS.md \
|
||||
CREDITS.md; do
|
||||
if [[ ! -f "${dist_dir}/licenses/${filename}" ]]; then
|
||||
echo "Staged build is missing licenses/${filename}." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
if ! grep -Fxq "game_version=${version}" "${dist_dir}/BUILD_INFO"; then
|
||||
echo "Staged BUILD_INFO does not match package version ${version}." >&2
|
||||
exit 1
|
||||
|
|
@ -39,10 +55,22 @@ install -m 0644 "${dist_dir}/BUILD_INFO" \
|
|||
"${staging_dir}/${package_name}/BUILD_INFO"
|
||||
install -m 0644 "${dist_dir}/SHA256SUMS" \
|
||||
"${staging_dir}/${package_name}/SHA256SUMS"
|
||||
install -m 0644 "${dist_dir}/SOURCE-CODE.md" \
|
||||
"${staging_dir}/${package_name}/SOURCE-CODE.md"
|
||||
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"
|
||||
install -d "${staging_dir}/${package_name}/licenses"
|
||||
for filename in \
|
||||
GPL-3.0-or-later.txt \
|
||||
ASSET-LICENSE.md \
|
||||
THIRD-PARTY-NOTICES.md \
|
||||
TRADEMARKS.md \
|
||||
CREDITS.md; do
|
||||
install -m 0644 "${dist_dir}/licenses/${filename}" \
|
||||
"${staging_dir}/${package_name}/licenses/${filename}"
|
||||
done
|
||||
|
||||
mkdir -p -- "${packages_dir}"
|
||||
archive="${packages_dir}/${package_name}.tar.gz"
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ game_version="$2"
|
|||
game_commit="${3,,}"
|
||||
repository_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
destination_dir="${repository_dir}/dist"
|
||||
licenses_dir="${destination_dir}/licenses"
|
||||
|
||||
if [[ ! "${game_version}" =~ ^[A-Za-z0-9][A-Za-z0-9._-]*$ ]]; then
|
||||
echo "GAME_VERSION must contain only letters, numbers, dots, underscores, or hyphens." >&2
|
||||
|
|
@ -32,6 +33,18 @@ install -m 0755 "${source_dir}/NETfishingServer.x86_64" \
|
|||
"${destination_dir}/NETfishingServer.x86_64"
|
||||
install -m 0644 "${source_dir}/NETfishingServer.pck" \
|
||||
"${destination_dir}/NETfishingServer.pck"
|
||||
rm -rf -- "${licenses_dir}"
|
||||
install -d -m 0755 "${licenses_dir}"
|
||||
install -m 0644 "${repository_dir}/LICENSE" \
|
||||
"${licenses_dir}/GPL-3.0-or-later.txt"
|
||||
install -m 0644 "${repository_dir}/ASSET-LICENSE.md" \
|
||||
"${licenses_dir}/ASSET-LICENSE.md"
|
||||
install -m 0644 "${repository_dir}/THIRD-PARTY-NOTICES.md" \
|
||||
"${licenses_dir}/THIRD-PARTY-NOTICES.md"
|
||||
install -m 0644 "${repository_dir}/TRADEMARKS.md" \
|
||||
"${licenses_dir}/TRADEMARKS.md"
|
||||
install -m 0644 "${repository_dir}/CREDITS.md" \
|
||||
"${licenses_dir}/CREDITS.md"
|
||||
|
||||
cd -- "${destination_dir}"
|
||||
executable_sha256="$(sha256sum NETfishingServer.x86_64 | awk '{print $1}')"
|
||||
|
|
@ -48,6 +61,27 @@ printf '%s\n' \
|
|||
"executable_sha256=${executable_sha256}" \
|
||||
"pck_sha256=${pck_sha256}" \
|
||||
> BUILD_INFO
|
||||
cat >SOURCE-CODE.md <<EOF
|
||||
# Corresponding source
|
||||
|
||||
NETfishing dedicated game-server code is licensed under GPL-3.0-or-later.
|
||||
|
||||
Source repository: https://forge.makearmy.io/woofmeow/netfishing
|
||||
Exact game source revision: ${game_commit}
|
||||
|
||||
Packaging source:
|
||||
https://forge.makearmy.io/woofmeow/netfishing-dedicated-server
|
||||
EOF
|
||||
umask "${apply_umask}"
|
||||
sha256sum NETfishingServer.x86_64 NETfishingServer.pck BUILD_INFO > SHA256SUMS
|
||||
sha256sum \
|
||||
NETfishingServer.x86_64 \
|
||||
NETfishingServer.pck \
|
||||
BUILD_INFO \
|
||||
SOURCE-CODE.md \
|
||||
licenses/GPL-3.0-or-later.txt \
|
||||
licenses/ASSET-LICENSE.md \
|
||||
licenses/THIRD-PARTY-NOTICES.md \
|
||||
licenses/TRADEMARKS.md \
|
||||
licenses/CREDITS.md \
|
||||
> SHA256SUMS
|
||||
echo "Staged dedicated server build in ${destination_dir}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue