mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-25 11:50:50 +00:00
Implement deployer scripts for Travis -- OSX and Linux package building [Kart merge]
This commit is contained in:
parent
e009ab94d1
commit
e2f5c99217
35 changed files with 1598 additions and 156 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -19,3 +19,5 @@ Win32_LIB_ASM_Release
|
||||||
*.db
|
*.db
|
||||||
*.opendb
|
*.opendb
|
||||||
/.vs
|
/.vs
|
||||||
|
/debian
|
||||||
|
/assets/debian
|
||||||
|
|
448
.travis.yml
448
.travis.yml
|
@ -1,9 +1,20 @@
|
||||||
|
# Travis-CI Config
|
||||||
|
#
|
||||||
|
# You may use the Deployer to upload packages and builds to external servers.
|
||||||
|
# See deployer/travis/deployer_defaults.sh for environment variables to configure.
|
||||||
|
|
||||||
language: c
|
language: c
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
dist: trusty
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
################################
|
||||||
|
# Test Buildbots
|
||||||
|
# Deployer does not operate on these. See Deployer Buildbots, below.
|
||||||
|
# These bots are disabled when a deployment is triggered by 'deployer' branch name AND DPL_TERMINATE_TESTS=1.
|
||||||
|
# These bots remain enabled when a deployment is triggered by release tag.
|
||||||
|
################################
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
|
@ -15,6 +26,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- gcc-4.4
|
- gcc-4.4
|
||||||
compiler: gcc-4.4
|
compiler: gcc-4.4
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7
|
#gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -27,6 +39,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- gcc-4.6
|
- gcc-4.6
|
||||||
compiler: gcc-4.6
|
compiler: gcc-4.6
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4
|
#gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -39,9 +52,11 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- gcc-4.7
|
- gcc-4.7
|
||||||
compiler: gcc-4.7
|
compiler: gcc-4.7
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc-4.7
|
#gcc-4.7
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
|
#gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -56,6 +71,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- gcc-4.8
|
- gcc-4.8
|
||||||
compiler: gcc-4.8
|
compiler: gcc-4.8
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -71,6 +87,7 @@ matrix:
|
||||||
- gcc-7
|
- gcc-7
|
||||||
compiler: gcc-7
|
compiler: gcc-7
|
||||||
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough"
|
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough"
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802
|
#gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -86,9 +103,11 @@ matrix:
|
||||||
- gcc-8
|
- gcc-8
|
||||||
compiler: gcc-8
|
compiler: gcc-8
|
||||||
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough -Wno-error=format-overflow"
|
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough -Wno-error=format-overflow"
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#gcc-8 (Ubuntu 7.2.0-1ubuntu1~14.04) 8.1.0
|
#gcc-8 (Ubuntu 7.2.0-1ubuntu1~14.04) 8.1.0
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#clang version 3.5.0 (tags/RELEASE_350/final)
|
#clang version 3.5.0 (tags/RELEASE_350/final)
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -103,6 +122,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- clang-3.5
|
- clang-3.5
|
||||||
compiler: clang-3.5
|
compiler: clang-3.5
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
|
#Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -118,6 +138,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- clang-3.6
|
- clang-3.6
|
||||||
compiler: clang-3.6
|
compiler: clang-3.6
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2)
|
#Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2)
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -133,6 +154,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- clang-3.7
|
- clang-3.7
|
||||||
compiler: clang-3.7
|
compiler: clang-3.7
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1)
|
#Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1)
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -148,6 +170,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- clang-3.8
|
- clang-3.8
|
||||||
compiler: clang-3.8
|
compiler: clang-3.8
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#clang version 3.8.1-svn271127-1~exp1 (branches/release_38)
|
#clang version 3.8.1-svn271127-1~exp1 (branches/release_38)
|
||||||
- os: linux
|
- os: linux
|
||||||
addons:
|
addons:
|
||||||
|
@ -163,6 +186,7 @@ matrix:
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
- clang-3.9
|
- clang-3.9
|
||||||
compiler: clang-3.9
|
compiler: clang-3.9
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#clang version 3.9.X
|
#clang version 3.9.X
|
||||||
# - os: linux
|
# - os: linux
|
||||||
# addons:
|
# addons:
|
||||||
|
@ -178,6 +202,7 @@ matrix:
|
||||||
# - p7zip-full
|
# - p7zip-full
|
||||||
# - clang-4.0
|
# - clang-4.0
|
||||||
# compiler: clang-4.0
|
# compiler: clang-4.0
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #clang version 4.0.X
|
# #clang version 4.0.X
|
||||||
# - os: linux
|
# - os: linux
|
||||||
# addons:
|
# addons:
|
||||||
|
@ -193,32 +218,321 @@ matrix:
|
||||||
# - p7zip-full
|
# - p7zip-full
|
||||||
# - clang-5.0
|
# - clang-5.0
|
||||||
# compiler: clang-5.0
|
# compiler: clang-5.0
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #clang version 5.0.X
|
# #clang version 5.0.X
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: beta-xcode6.1
|
# osx_image: beta-xcode6.1
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
|
# #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: beta-xcode6.2
|
# osx_image: beta-xcode6.2
|
||||||
# compiler: gcc
|
# compiler: gcc
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
|
# #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
|
||||||
## - os: osx
|
## - os: osx
|
||||||
## osx_image: beta-xcode6.3
|
## osx_image: beta-xcode6.3
|
||||||
|
## if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
## #I think xcode.6.3 VM is broken, it does not boot
|
## #I think xcode.6.3 VM is broken, it does not boot
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: xcode6.4
|
# osx_image: xcode6.4
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
|
# #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: xcode7
|
# osx_image: xcode7
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #Apple LLVM version 7.0.0 (clang-700.0.72)
|
# #Apple LLVM version 7.0.0 (clang-700.0.72)
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: xcode7.1
|
# osx_image: xcode7.1
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #Apple LLVM version 7.0.0 (clang-700.1.76)
|
# #Apple LLVM version 7.0.0 (clang-700.1.76)
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# osx_image: xcode7.2
|
# osx_image: xcode7.2
|
||||||
|
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
# #Apple LLVM version 7.0.2 (clang-700.1.81)
|
# #Apple LLVM version 7.0.2 (clang-700.1.81)
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode7.3
|
osx_image: xcode7.3
|
||||||
|
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
||||||
#Apple LLVM version 7.3.0 (clang-703.0.31)
|
#Apple LLVM version 7.3.0 (clang-703.0.31)
|
||||||
|
|
||||||
|
|
||||||
|
################################
|
||||||
|
# Deployer Buildbots - OSX
|
||||||
|
################################
|
||||||
|
- os: osx
|
||||||
|
osx_image: xcode7.3
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_MAIN) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=osx
|
||||||
|
- _DPL_FTP_TARGET=1
|
||||||
|
- _DPL_PACKAGE_BINARY=1
|
||||||
|
#Apple LLVM version 7.3.0 (clang-703.0.31)
|
||||||
|
|
||||||
|
|
||||||
|
################################
|
||||||
|
# Deployer Buildbots - Linux assets
|
||||||
|
# Set DPL_TERMINATE_ASSETS to disable all of these
|
||||||
|
# List Ubuntu LTS next, newest to oldest
|
||||||
|
# Then list non-LTS, newest to oldest
|
||||||
|
################################
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-4.8
|
||||||
|
compiler: gcc-4.8
|
||||||
|
dist: xenial
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_ASSETS) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=bionic-asset
|
||||||
|
- _DPL_DPUT_TARGET=1
|
||||||
|
- _DPL_PACKAGE_SOURCE=1
|
||||||
|
- _DPL_PACKAGE_MAIN=0
|
||||||
|
- _DPL_PACKAGE_ASSET=1
|
||||||
|
- PACKAGE_DISTRO=bionic
|
||||||
|
#- PACKAGE_SUBVERSION=~18.04bionic
|
||||||
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
|
||||||
|
################################
|
||||||
|
# The below asset bots produce packages that occupy too much space.
|
||||||
|
# It would be nice if the asset files were not included in the source package itself,
|
||||||
|
# so these can deploy to each Ubuntu target without manual intervention.
|
||||||
|
#
|
||||||
|
# Currently, to get around Launchpad's space limitation,
|
||||||
|
# copy the packages from *one* bot and the space usage is not increased.
|
||||||
|
################################
|
||||||
|
# - os: linux
|
||||||
|
# addons:
|
||||||
|
# apt:
|
||||||
|
# packages:
|
||||||
|
# - libsdl2-mixer-dev
|
||||||
|
# - libpng-dev
|
||||||
|
# - libgl1-mesa-dev
|
||||||
|
# - libgme-dev
|
||||||
|
# - p7zip-full
|
||||||
|
# - gcc-4.8
|
||||||
|
# compiler: gcc-4.8
|
||||||
|
# dist: trusty
|
||||||
|
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
||||||
|
# env:
|
||||||
|
# - _DPL_JOB_ENABLED=1
|
||||||
|
# - _DPL_JOB_NAME=trusty-asset
|
||||||
|
# - _DPL_DPUT_TARGET=1
|
||||||
|
# - _DPL_PACKAGE_SOURCE=1
|
||||||
|
# - _DPL_PACKAGE_MAIN=0
|
||||||
|
# - _DPL_PACKAGE_ASSET=1
|
||||||
|
# - PACKAGE_DISTRO=trusty
|
||||||
|
# #- PACKAGE_SUBVERSION=~14.04trusty
|
||||||
|
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
# - os: linux
|
||||||
|
# addons:
|
||||||
|
# apt:
|
||||||
|
# packages:
|
||||||
|
# - libsdl2-mixer-dev
|
||||||
|
# - libpng-dev
|
||||||
|
# - libgl1-mesa-dev
|
||||||
|
# - libgme-dev
|
||||||
|
# - p7zip-full
|
||||||
|
# - gcc-4.8
|
||||||
|
# compiler: gcc-4.8
|
||||||
|
# dist: xenial
|
||||||
|
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
||||||
|
# env:
|
||||||
|
# - _DPL_JOB_ENABLED=1
|
||||||
|
# - _DPL_JOB_NAME=disco-asset
|
||||||
|
# - _DPL_DPUT_TARGET=1
|
||||||
|
# - _DPL_PACKAGE_SOURCE=1
|
||||||
|
# - _DPL_PACKAGE_MAIN=0
|
||||||
|
# - _DPL_PACKAGE_ASSET=1
|
||||||
|
# - PACKAGE_DISTRO=disco
|
||||||
|
# #- PACKAGE_SUBVERSION=~19.04disco
|
||||||
|
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
# - os: linux
|
||||||
|
# addons:
|
||||||
|
# apt:
|
||||||
|
# packages:
|
||||||
|
# - libsdl2-mixer-dev
|
||||||
|
# - libpng-dev
|
||||||
|
# - libgl1-mesa-dev
|
||||||
|
# - libgme-dev
|
||||||
|
# - p7zip-full
|
||||||
|
# - gcc-4.8
|
||||||
|
# compiler: gcc-4.8
|
||||||
|
# dist: xenial
|
||||||
|
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
||||||
|
# env:
|
||||||
|
# - _DPL_JOB_ENABLED=1
|
||||||
|
# - _DPL_JOB_NAME=cosmic-asset
|
||||||
|
# - _DPL_DPUT_TARGET=1
|
||||||
|
# - _DPL_PACKAGE_SOURCE=1
|
||||||
|
# - _DPL_PACKAGE_MAIN=0
|
||||||
|
# - _DPL_PACKAGE_ASSET=1
|
||||||
|
# - PACKAGE_DISTRO=cosmic
|
||||||
|
# #- PACKAGE_SUBVERSION=~18.10cosmic
|
||||||
|
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
# - os: linux
|
||||||
|
# addons:
|
||||||
|
# apt:
|
||||||
|
# packages:
|
||||||
|
# - libsdl2-mixer-dev
|
||||||
|
# - libpng-dev
|
||||||
|
# - libgl1-mesa-dev
|
||||||
|
# - libgme-dev
|
||||||
|
# - p7zip-full
|
||||||
|
# - gcc-4.8
|
||||||
|
# compiler: gcc-4.8
|
||||||
|
# dist: xenial
|
||||||
|
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
||||||
|
# env:
|
||||||
|
# - _DPL_JOB_ENABLED=1
|
||||||
|
# - _DPL_JOB_NAME=xenial-asset
|
||||||
|
# - _DPL_DPUT_TARGET=1
|
||||||
|
# - _DPL_PACKAGE_SOURCE=1
|
||||||
|
# - _DPL_PACKAGE_MAIN=0
|
||||||
|
# - _DPL_PACKAGE_ASSET=1
|
||||||
|
# - PACKAGE_DISTRO=xenial
|
||||||
|
# #- PACKAGE_SUBVERSION=~16.04xenial
|
||||||
|
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
|
||||||
|
|
||||||
|
################################
|
||||||
|
# Deployer Buildbots - Linux binaries
|
||||||
|
# List Ubuntu LTS, newest to oldest
|
||||||
|
# Then list non-LTS, newest to oldest
|
||||||
|
################################
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-4.8
|
||||||
|
compiler: gcc-4.8
|
||||||
|
dist: xenial
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_MAIN) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=bionic
|
||||||
|
- _DPL_DPUT_TARGET=1
|
||||||
|
- _DPL_PACKAGE_SOURCE=1
|
||||||
|
- PACKAGE_DISTRO=bionic
|
||||||
|
- PACKAGE_SUBVERSION=~18.04bionic
|
||||||
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-4.8
|
||||||
|
compiler: gcc-4.8
|
||||||
|
dist: trusty
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_MAIN) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=trusty
|
||||||
|
- _DPL_DPUT_TARGET=1
|
||||||
|
- _DPL_PACKAGE_SOURCE=1
|
||||||
|
- PACKAGE_DISTRO=trusty
|
||||||
|
- PACKAGE_SUBVERSION=~14.04trusty
|
||||||
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-4.8
|
||||||
|
compiler: gcc-4.8
|
||||||
|
dist: xenial
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_MAIN) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=disco
|
||||||
|
- _DPL_DPUT_TARGET=1
|
||||||
|
- _DPL_PACKAGE_SOURCE=1
|
||||||
|
- PACKAGE_DISTRO=disco
|
||||||
|
- PACKAGE_SUBVERSION=~19.04disco
|
||||||
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-4.8
|
||||||
|
compiler: gcc-4.8
|
||||||
|
dist: xenial
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_MAIN) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=cosmic
|
||||||
|
- _DPL_DPUT_TARGET=1
|
||||||
|
- _DPL_PACKAGE_SOURCE=1
|
||||||
|
- PACKAGE_DISTRO=cosmic
|
||||||
|
- PACKAGE_SUBVERSION=~18.10cosmic
|
||||||
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
|
- os: linux
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libsdl2-mixer-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libgme-dev
|
||||||
|
- p7zip-full
|
||||||
|
- gcc-4.8
|
||||||
|
compiler: gcc-4.8
|
||||||
|
dist: xenial
|
||||||
|
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
||||||
|
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
||||||
|
AND env(DPL_TERMINATE_MAIN) != "1"
|
||||||
|
env:
|
||||||
|
- _DPL_JOB_ENABLED=1
|
||||||
|
- _DPL_JOB_NAME=xenial
|
||||||
|
- _DPL_DPUT_TARGET=1
|
||||||
|
- _DPL_PACKAGE_SOURCE=1
|
||||||
|
- PACKAGE_DISTRO=xenial
|
||||||
|
- PACKAGE_SUBVERSION=~16.04xenial
|
||||||
|
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- compiler: clang-3.5
|
- compiler: clang-3.5
|
||||||
- compiler: clang-3.6
|
- compiler: clang-3.6
|
||||||
|
@ -229,12 +543,14 @@ matrix:
|
||||||
- compiler: clang-5.0
|
- compiler: clang-5.0
|
||||||
- compiler: gcc-8
|
- compiler: gcc-8
|
||||||
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
apt: true
|
apt: true
|
||||||
ccache: true
|
ccache: true
|
||||||
directories:
|
directories:
|
||||||
- $HOME/srb2_cache
|
- $HOME/srb2_cache
|
||||||
|
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
|
@ -242,23 +558,127 @@ addons:
|
||||||
- libpng-dev
|
- libpng-dev
|
||||||
- libgl1-mesa-dev
|
- libgl1-mesa-dev
|
||||||
- libgme-dev
|
- libgme-dev
|
||||||
|
- zlib1g-dev
|
||||||
- p7zip-full
|
- p7zip-full
|
||||||
|
|
||||||
before_script:
|
|
||||||
- wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z
|
|
||||||
- 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets
|
|
||||||
- mkdir build
|
|
||||||
- cd build
|
|
||||||
- export CFLAGS="-Wall -W -Werror $WFLAGS"
|
|
||||||
- export CCACHE_COMPRESS=true
|
|
||||||
- cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
# Initialize Deployer defaults
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2 sdl2_mixer game-music-emu p7zip; fi
|
- . ./deployer/travis/deployer_defaults.sh
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi
|
# Initialize Deployer; check if Deployer is enabled
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.6.dmg; hdiutil attach SDL2-2.0.6.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi
|
# This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi
|
- . ./deployer/travis/deployer.sh
|
||||||
|
# Also check if we should now terminate
|
||||||
|
- if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then
|
||||||
|
if [[ "$__DPL_ACTIVE" != "1" ]]; then
|
||||||
|
echo "Exiting early because this job is not deploying.";
|
||||||
|
exit;
|
||||||
|
fi;
|
||||||
|
fi
|
||||||
|
# If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1
|
||||||
|
- if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then
|
||||||
|
ASSET_FILES_OPTIONAL_GET=1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
|
||||||
|
install:
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||||
|
brew update;
|
||||||
|
brew install sdl2 game-music-emu zlib p7zip;
|
||||||
|
brew install sdl2_mixer --with-flac --with-mpg123;
|
||||||
|
brew install cmake||true;
|
||||||
|
fi
|
||||||
- mkdir -p $HOME/srb2_cache
|
- mkdir -p $HOME/srb2_cache
|
||||||
|
|
||||||
script: make -k
|
|
||||||
|
before_script:
|
||||||
|
# OLDPWD is root repo folder
|
||||||
|
- OLDPWD=$PWD
|
||||||
|
- cd "$HOME/srb2_cache"
|
||||||
|
|
||||||
|
# stat is different for OSX
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||||
|
STATCMD="stat -f %m";
|
||||||
|
else
|
||||||
|
STATCMD="stat -c %y";
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get asset files (required for MD5)
|
||||||
|
- if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then
|
||||||
|
if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then
|
||||||
|
echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))";
|
||||||
|
fi;
|
||||||
|
wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH";
|
||||||
|
7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$HOME/srb2_cache" -aos;
|
||||||
|
for f in $ASSET_FILES_REQUIRED; do
|
||||||
|
cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f";
|
||||||
|
done;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Get individual required files
|
||||||
|
- for f in $ASSET_FILES_REQUIRED; do
|
||||||
|
if [ -f "$f" ]; then
|
||||||
|
echo "$f cache date -- $($STATCMD $f)";
|
||||||
|
fi;
|
||||||
|
wget --verbose --server-response -N "$ASSET_BASE_PATH/$f";
|
||||||
|
if [ ! -f "$HOME/srb2_cache/$f" ]; then
|
||||||
|
echo "Could not download \"$ASSET_BASE_PATH/$f\"";
|
||||||
|
return 1;
|
||||||
|
fi;
|
||||||
|
cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f";
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Get the docs
|
||||||
|
- for f in $ASSET_FILES_DOCS; do
|
||||||
|
if [ -f "$f" ]; then
|
||||||
|
echo "$f cache date -- $($STATCMD $f)";
|
||||||
|
fi;
|
||||||
|
wget --verbose --server-response -N "$ASSET_BASE_PATH/$f";
|
||||||
|
cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f";
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Get optional files too
|
||||||
|
- if [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]]; then
|
||||||
|
for f in $ASSET_FILES_OPTIONAL; do
|
||||||
|
if [ -f "$f" ]; then
|
||||||
|
echo "$f cache date -- $($STATCMD $f)";
|
||||||
|
fi;
|
||||||
|
wget --verbose --server-response -N "$ASSET_BASE_PATH/$f";
|
||||||
|
cp "$HOME/srb2_cache/$f" "$OLDPWD/assets/$f";
|
||||||
|
done;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Go back to root repo folder
|
||||||
|
- cd "$OLDPWD"
|
||||||
|
|
||||||
|
# Prepare CMake asset lists
|
||||||
|
- SRB2_ASSET_REQUIRED=$(echo ${ASSET_FILES_REQUIRED// /\;})
|
||||||
|
- SRB2_ASSET_OPTIONAL=$(echo ${ASSET_FILES_OPTIONAL// /\;})
|
||||||
|
- SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;})
|
||||||
|
|
||||||
|
# Prepare CMake
|
||||||
|
- mkdir build
|
||||||
|
- cd build
|
||||||
|
- mkdir package
|
||||||
|
- export CFLAGS="-Wall -W -Werror $WFLAGS"
|
||||||
|
- export CCACHE_COMPRESS=true
|
||||||
|
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package
|
||||||
|
-DSRB2_ASSET_REQUIRED="${SRB2_ASSET_REQUIRED}" -DSRB2_ASSET_OPTIONAL="${SRB2_ASSET_OPTIONAL}"
|
||||||
|
-DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}"
|
||||||
|
-DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}"
|
||||||
|
-DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}"
|
||||||
|
-DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}"
|
||||||
|
|
||||||
|
|
||||||
|
script:
|
||||||
|
# Build our Makefile from Cmake!
|
||||||
|
- if [[ "$__DPL_ACTIVE" == "1" ]]; then
|
||||||
|
. ../deployer/travis/deployer_build.sh;
|
||||||
|
else
|
||||||
|
make -k;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
# Run the Deployer scripts
|
||||||
|
- . ../deployer/travis/deployer_ftp.sh
|
||||||
|
- . ../deployer/travis/deployer_dput.sh
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
# DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string.
|
||||||
|
# Version change is fine.
|
||||||
project(SRB2
|
project(SRB2
|
||||||
VERSION 2.1.20
|
VERSION 2.1.20
|
||||||
LANGUAGES C)
|
LANGUAGES C)
|
||||||
|
@ -86,8 +88,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
|
|
||||||
# Set EXE names so the assets CMakeLists can refer to its target
|
# Set EXE names so the assets CMakeLists can refer to its target
|
||||||
set(SRB2_SDL2_EXE_NAME srb2)
|
set(SRB2_SDL2_EXE_NAME srb2 CACHE STRING "Executable binary output name")
|
||||||
set(SRB2_WIN_EXE_NAME srb2dd)
|
set(SRB2_WIN_EXE_NAME srb2dd CACHE STRING "Executable binary output name for DirectDraw build")
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
|
include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
|
||||||
|
|
||||||
|
@ -116,8 +118,8 @@ if(${CMAKE_SYSTEM} MATCHES "Darwin")
|
||||||
set(CPACK_GENERATOR "DragNDrop")
|
set(CPACK_GENERATOR "DragNDrop")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2")
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2" CACHE STRING "Program name for display purposes")
|
||||||
set(CPACK_PACKAGE_VENDOR "Sonic Team Jr.")
|
set(CPACK_PACKAGE_VENDOR "Sonic Team Jr." CACHE STRING "Vendor name for display purposes")
|
||||||
#set(CPACK_PACKAGE_DESCRIPTION_FILE )
|
#set(CPACK_PACKAGE_DESCRIPTION_FILE )
|
||||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
|
||||||
set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR})
|
set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR})
|
||||||
|
|
9
assets/.gitignore
vendored
9
assets/.gitignore
vendored
|
@ -1,5 +1,10 @@
|
||||||
*
|
*.srb
|
||||||
*.*
|
*.pk3
|
||||||
|
*.dta
|
||||||
|
*.wad
|
||||||
|
*.txt
|
||||||
!README.txt
|
!README.txt
|
||||||
!LICENSE.txt
|
!LICENSE.txt
|
||||||
!LICENSE-3RD-PARTY.txt
|
!LICENSE-3RD-PARTY.txt
|
||||||
|
!CMakeLists.txt
|
||||||
|
!debian-template/*
|
||||||
|
|
|
@ -1,32 +1,48 @@
|
||||||
## Assets Target Configuration ##
|
## Assets Target Configuration ##
|
||||||
|
|
||||||
# MD5 generation
|
# For prepending the current source path, later
|
||||||
set(SRB2_ASSET_ALL
|
FUNCTION(PREPEND var prefix)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/srb2.srb
|
SET(listVar "")
|
||||||
#${CMAKE_CURRENT_SOURCE_DIR}/patch.dta
|
FOREACH(f ${ARGN})
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/patch.kart
|
LIST(APPEND listVar "${prefix}/${f}")
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/gfx.kart
|
ENDFOREACH(f)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/textures.kart
|
SET(${var} "${listVar}" PARENT_SCOPE)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/chars.kart
|
ENDFUNCTION(PREPEND)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/maps.kart
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/sounds.kart
|
set(SRB2_ASSET_REQUIRED
|
||||||
#${CMAKE_CURRENT_SOURCE_DIR}/music.dta
|
"srb2.srb;\
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/music.kart
|
patch.kart;\
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/README.txt
|
gfx.kart;\
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt
|
textures.kart;\
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE-3RD-PARTY.txt
|
chars.kart;\
|
||||||
|
bonuschars.kart;\
|
||||||
|
maps.kart;\
|
||||||
|
sounds.kart"
|
||||||
|
CACHE STRING "Required asset files for packaging. No spaces between entries!"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SRB2_ASSET_HASHED
|
set(SRB2_ASSET_DOCS
|
||||||
srb2.srb
|
"README.txt;\
|
||||||
#patch.dta
|
history.txt;\
|
||||||
patch.kart
|
LICENSE.txt;\
|
||||||
gfx.kart
|
LICENSE-3RD-PARTY.txt"
|
||||||
textures.kart
|
CACHE STRING "Documentation files; will not fail if they do not exist. Packaged differently from optional assets. No spaces between entries!"
|
||||||
chars.kart
|
|
||||||
maps.kart
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(SRB2_ASSET_OPTIONAL
|
||||||
|
"music.kart"
|
||||||
|
CACHE STRING "Optional asset files. No spaces between entries!"
|
||||||
|
)
|
||||||
|
|
||||||
|
# MD5 generation - Filename only, we don't append path to this
|
||||||
|
set(SRB2_ASSET_HASHED
|
||||||
|
${SRB2_ASSET_REQUIRED}
|
||||||
|
)
|
||||||
|
|
||||||
|
PREPEND(SRB2_ASSET_REQUIRED ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_REQUIRED})
|
||||||
|
PREPEND(SRB2_ASSET_DOCS ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_DOCS})
|
||||||
|
PREPEND(SRB2_ASSET_OPTIONAL ${CMAKE_CURRENT_SOURCE_DIR} ${SRB2_ASSET_OPTIONAL})
|
||||||
|
|
||||||
foreach(SRB2_ASSET ${SRB2_ASSET_HASHED})
|
foreach(SRB2_ASSET ${SRB2_ASSET_HASHED})
|
||||||
file(MD5 ${CMAKE_CURRENT_SOURCE_DIR}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH")
|
file(MD5 ${CMAKE_CURRENT_SOURCE_DIR}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH")
|
||||||
set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE)
|
set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE)
|
||||||
|
@ -34,13 +50,29 @@ endforeach()
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
if(CLANG)
|
if(${CMAKE_SYSTEM} MATCHES Darwin)
|
||||||
get_target_property(outname SRB2SDL2 OUTPUT_NAME)
|
get_target_property(outname SRB2SDL2 OUTPUT_NAME)
|
||||||
install(FILES ${SRB2_ASSET_ALL}
|
install(FILES ${SRB2_ASSET_REQUIRED}
|
||||||
DESTINATION "${outname}.app/Contents/Resources"
|
DESTINATION "${outname}.app/Contents/Resources"
|
||||||
)
|
)
|
||||||
|
install(FILES ${SRB2_ASSET_OPTIONAL}
|
||||||
|
DESTINATION "${outname}.app/Contents/Resources"
|
||||||
|
OPTIONAL
|
||||||
|
)
|
||||||
|
install(FILES ${SRB2_ASSET_DOCS}
|
||||||
|
DESTINATION .
|
||||||
|
OPTIONAL
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
install(FILES ${SRB2_ASSET_ALL}
|
install(FILES ${SRB2_ASSET_REQUIRED}
|
||||||
DESTINATION .
|
DESTINATION .
|
||||||
)
|
)
|
||||||
|
install(FILES ${SRB2_ASSET_OPTIONAL}
|
||||||
|
DESTINATION .
|
||||||
|
OPTIONAL
|
||||||
|
)
|
||||||
|
install(FILES ${SRB2_ASSET_DOCS}
|
||||||
|
DESTINATION .
|
||||||
|
OPTIONAL
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -12,9 +12,39 @@ with apt-key add. Thanks!
|
||||||
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
||||||
|
|
||||||
|
|
||||||
|
---------------
|
||||||
|
|
||||||
|
|
||||||
|
Templating
|
||||||
|
|
||||||
|
Note that you MUST run [repo-root]/debian_template.sh before running debuild
|
||||||
|
on these scripts! debian_template.sh fills these template files with working values.
|
||||||
|
|
||||||
|
You should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
|
||||||
|
the identity of the key you will use to sign the package.
|
||||||
|
|
||||||
|
|
||||||
|
Building for Launchpad PPA
|
||||||
|
|
||||||
|
Run this step first:
|
||||||
|
|
||||||
|
1. source [repo-root]/debian_template.sh
|
||||||
|
* Initializes defaults for the package variables and fills in templates.
|
||||||
|
|
||||||
|
Use these steps to prepare building a source package for Launchpad:
|
||||||
|
|
||||||
|
1. cd [repo-root]/assets/
|
||||||
|
2. debuild -T clean-all (optional; if you already have asset files, this clears them)
|
||||||
|
|
||||||
|
Build the source package:
|
||||||
|
|
||||||
|
1. debuild -T build (this downloads the asset files from srb2.org if necessary)
|
||||||
|
2. debuild -S (builds the source package for Launchpad, including the asset files)
|
||||||
|
|
||||||
|
|
||||||
Signing for Launchpad PPA
|
Signing for Launchpad PPA
|
||||||
|
|
||||||
First, follow the above instructions to generate a GnuPG key with your identity. You will need
|
First, follow Callum's instructions to generate a GnuPG key with your identity. You will need
|
||||||
to publish the fingerprint of that key to Ubuntu's key server.
|
to publish the fingerprint of that key to Ubuntu's key server.
|
||||||
|
|
||||||
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver
|
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver
|
||||||
|
@ -26,22 +56,18 @@ upload signed source packages and publish them onto your PPA.
|
||||||
IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that
|
IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that
|
||||||
means your key is not set up correctly with your Launchpad account.
|
means your key is not set up correctly with your Launchpad account.
|
||||||
|
|
||||||
|
Finally, if your packages have not already been signed, follow these steps:
|
||||||
|
|
||||||
Building for Launchpad PPA
|
1. cd ..
|
||||||
|
* Packages are located in the parent folder of where debuild was called
|
||||||
|
2. debsign "srb2-data_[version]_source.changes"
|
||||||
|
* You may need to specify -k [key-fingerprint]
|
||||||
|
|
||||||
Use these steps to prepare building a source package for Launchpad:
|
|
||||||
|
|
||||||
1. Highly recommend copying the assets/ folder to outside your repo folder, or else the asset
|
Uploading for Launchpad PPA
|
||||||
files may be included in the main source package, when you build that.
|
|
||||||
2. cd [wherever-your-assets-folder-is]/assets/
|
|
||||||
3. debuild -T clean (optional, if you already have asset files)
|
|
||||||
|
|
||||||
Building the source package is a two-step process:
|
Follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload
|
||||||
|
|
||||||
1. debuild -T build (this downloads the asset files from srb2.org if necessary)
|
|
||||||
2. debuild -S (builds the source package for Launchpad, including the asset files)
|
|
||||||
|
|
||||||
Then follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload
|
|
||||||
to your PPA and have Launchpad build your binary deb packages.
|
to your PPA and have Launchpad build your binary deb packages.
|
||||||
|
|
||||||
|
|
||||||
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 21:13:00 -0500
|
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 21:13:00 -0500
|
5
assets/debian-template/changelog
Normal file
5
assets/debian-template/changelog
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
${PACKAGE_NAME}-data (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY}
|
||||||
|
|
||||||
|
* ${PROGRAM_NAME} v${PROGRAM_VERSION} asset data
|
||||||
|
|
||||||
|
-- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
|
|
@ -1,15 +1,15 @@
|
||||||
# SRB2-data Debian package control file.
|
# SRB2-data Debian package control file.
|
||||||
|
|
||||||
Source: srb2-data
|
Source: ${PACKAGE_NAME}-data
|
||||||
Section: games
|
Section: games
|
||||||
Priority: extra
|
Priority: extra
|
||||||
Maintainer: Sonic Team Junior <stjr@srb2.org>
|
Maintainer: ${PACKAGE_GROUP_NAME_EMAIL}
|
||||||
Build-Depends: debhelper (>= 7.0.50~),
|
Build-Depends: debhelper (>= 7.0.50~),
|
||||||
wget
|
wget
|
||||||
Standards-Version: 3.8.4
|
Standards-Version: 3.8.4
|
||||||
Homepage: http://www.srb2.org
|
Homepage: ${PACKAGE_WEBSITE}
|
||||||
|
|
||||||
Package: srb2-data
|
Package: ${PACKAGE_NAME}-data
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Description: A cross-platform 3D Sonic fangame
|
Description: A cross-platform 3D Sonic fangame
|
||||||
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
|
@ -1,18 +1,18 @@
|
||||||
This work was packaged for Debian by:
|
This work was packaged for Debian by:
|
||||||
|
|
||||||
Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 14:31:00 -0500
|
${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
|
||||||
|
|
||||||
It was downloaded from:
|
It was downloaded from:
|
||||||
|
|
||||||
<http://srb2.org>
|
${PACKAGE_WEBSITE}
|
||||||
|
|
||||||
Upstream Author(s):
|
Upstream Author(s):
|
||||||
|
|
||||||
Sonic Team Junior <stjr@srb2.org>
|
${PACKAGE_GROUP_NAME_EMAIL}
|
||||||
|
|
||||||
Copyright:
|
Copyright:
|
||||||
|
|
||||||
Copyright (C) 1998-2018 Sonic Team Junior
|
Copyright (C) 1998-2018 by Sonic Team Junior
|
||||||
|
|
||||||
License:
|
License:
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ License:
|
||||||
The Debian packaging is:
|
The Debian packaging is:
|
||||||
|
|
||||||
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
||||||
Copyright (C) 2010-2018 Sonic Team Junior <stjr@srb2.org>
|
Copyright (C) 2010-2018 by Sonic Team Junior <stjr@srb2.org>
|
||||||
|
|
||||||
and is licensed under the GPL version 2,
|
and is licensed under the GPL version 2,
|
||||||
see "/usr/share/common-licenses/GPL-2".
|
see "/usr/share/common-licenses/GPL-2".
|
54
assets/debian/rules → assets/debian-template/rules
Executable file → Normal file
54
assets/debian/rules → assets/debian-template/rules
Executable file → Normal file
|
@ -23,6 +23,16 @@
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!!
|
||||||
|
#
|
||||||
|
# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH}
|
||||||
|
# Variables used by the rules script are parenthese'd $(DATADIR)
|
||||||
|
# See [repo-root]/debian_template.sh
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
# Uncomment this to turn on verbose mode.
|
# Uncomment this to turn on verbose mode.
|
||||||
#export DH_VERBOSE=1
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
@ -37,9 +47,12 @@ RM := rm -rf
|
||||||
DIR := $(shell pwd)
|
DIR := $(shell pwd)
|
||||||
|
|
||||||
PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g')
|
PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g')
|
||||||
DATAFILES := srb2.srb zones.dta player.dta rings.dta music.dta patch.dta README.txt LICENSE.txt LICENSE-3RD-PARTY.txt
|
DATAFILES := ${ASSET_FILES_REQUIRED}
|
||||||
|
DOCFILES := ${ASSET_FILES_DOCS}
|
||||||
|
OPTIONALFILES := ${ASSET_FILES_OPTIONAL}
|
||||||
|
GETOPTIONALFILES := ${ASSET_FILES_OPTIONAL_GET}
|
||||||
|
|
||||||
DATADIR := usr/games/SRB2
|
DATADIR := $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///')
|
||||||
RESOURCEDIR := .
|
RESOURCEDIR := .
|
||||||
WGET := wget -P $(RESOURCEDIR) -c -nc
|
WGET := wget -P $(RESOURCEDIR) -c -nc
|
||||||
|
|
||||||
|
@ -49,18 +62,41 @@ build:
|
||||||
# This will need to be updated every time SRB2 official version is
|
# This will need to be updated every time SRB2 official version is
|
||||||
# Copy data files to their install locations, and add data files to include-binaries
|
# Copy data files to their install locations, and add data files to include-binaries
|
||||||
for file in $(DATAFILES); do \
|
for file in $(DATAFILES); do \
|
||||||
if [ ! -f $(RESOURCEDIR)/$$file ]; then \
|
if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
|
||||||
$(WGET) http://alam.srb2.org/SRB2/2.1.21-Final/Resources/$$file; \
|
$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \
|
||||||
fi; \
|
fi; \
|
||||||
if [ -f $(RESOURCEDIR)/$$file ]; then \
|
if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
|
||||||
$(INSTALL) $(RESOURCEDIR)/$$file $(DIR)/debian/tmp/$(DATADIR)/$$file; \
|
$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \
|
||||||
echo $(RESOURCEDIR)/$$file >> $(DIR)/debian/source/include-binaries; \
|
echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \
|
||||||
fi; \
|
fi; \
|
||||||
if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/$$file ]; then \
|
if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \
|
||||||
echo $(DIR)/debian/tmp/$(DATADIR)/$$file not found and could not be downloaded!; \
|
echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \
|
||||||
return 1; \
|
return 1; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
|
# Do the same for DOCFILES, but don't error out if not found
|
||||||
|
for file in $(DOCFILES); do \
|
||||||
|
if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
|
||||||
|
$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \
|
||||||
|
fi; \
|
||||||
|
if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
|
||||||
|
$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \
|
||||||
|
echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
# Do the same for OPTIONALFILES if GETOPTIONALFILES == 1
|
||||||
|
if [ "$(GETOPTIONALFILES)" = "1" ]; then \
|
||||||
|
for file in $(OPTIONALFILES); do \
|
||||||
|
if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
|
||||||
|
$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \
|
||||||
|
fi; \
|
||||||
|
if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
|
||||||
|
$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \
|
||||||
|
echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
fi;
|
||||||
|
|
||||||
|
|
||||||
binary-indep:
|
binary-indep:
|
||||||
# Generate install folder file
|
# Generate install folder file
|
|
@ -1,19 +0,0 @@
|
||||||
srb2-data (2.1.21~7) trusty; urgency=high
|
|
||||||
|
|
||||||
* Updated for SRB2 v2.1.21
|
|
||||||
|
|
||||||
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 14:31:00 -0500
|
|
||||||
|
|
||||||
|
|
||||||
srb2-data (2.1.14~1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Updated for SRB2 v2.1.14
|
|
||||||
|
|
||||||
-- Alam Arias <alam+debian@srb2.org> Sat, 6 Jan 2016 11:00:00 -0500
|
|
||||||
|
|
||||||
|
|
||||||
srb2-data (2.0.6-2) maverick; urgency=high
|
|
||||||
|
|
||||||
* Initial proper release..
|
|
||||||
|
|
||||||
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Sat, 29 Jan 2011 01:18:42 +1300
|
|
|
@ -10,10 +10,38 @@ and give them to your users to install with apt-key add. Thanks!
|
||||||
|
|
||||||
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
||||||
|
|
||||||
|
---------------
|
||||||
|
|
||||||
|
|
||||||
|
Templating
|
||||||
|
|
||||||
|
Note that you MUST run [repo-root]/debian_template.sh before running debuild
|
||||||
|
on these scripts! debian_template.sh fills these template files with working values.
|
||||||
|
|
||||||
|
You should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
|
||||||
|
the identity of the key you will use to sign the package.
|
||||||
|
|
||||||
|
|
||||||
|
Building for Launchpad PPA
|
||||||
|
|
||||||
|
Use these steps to prepare building a source package for Launchpad:
|
||||||
|
|
||||||
|
1. cd [repo-root]
|
||||||
|
2. git reset --hard; git clean -fd; git clean -fx;
|
||||||
|
* Resets your repo folder to a committed state and removes untracked files
|
||||||
|
* If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS,
|
||||||
|
OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE!
|
||||||
|
|
||||||
|
Build the source package:
|
||||||
|
|
||||||
|
1. source [repo-root]/debian_template.sh
|
||||||
|
* Initializes defaults for the package variables and fills in templates.
|
||||||
|
2. debuild -S (builds the source package for Launchpad)
|
||||||
|
|
||||||
|
|
||||||
Signing for Launchpad PPA
|
Signing for Launchpad PPA
|
||||||
|
|
||||||
First, follow the above instructions to generate a GnuPG key with your identity. You will need
|
First, follow Callum's instructions to generate a GnuPG key with your identity. You will need
|
||||||
to publish the fingerprint of that key to Ubuntu's key server.
|
to publish the fingerprint of that key to Ubuntu's key server.
|
||||||
|
|
||||||
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver
|
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver
|
||||||
|
@ -25,22 +53,18 @@ upload signed source packages and publish them onto your PPA.
|
||||||
IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that
|
IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that
|
||||||
means your key is not set up correctly with your Launchpad account.
|
means your key is not set up correctly with your Launchpad account.
|
||||||
|
|
||||||
|
Finally, if your packages have not already been signed, follow these steps:
|
||||||
|
|
||||||
Building for Launchpad PPA
|
1. cd ..
|
||||||
|
* Packages are located in the parent folder of where debuild was called
|
||||||
|
2. debsign "srb2_[version]_source.changes"
|
||||||
|
* You may need to specify -k [key-fingerprint]
|
||||||
|
|
||||||
Use these steps to prepare building a source package for Launchpad:
|
|
||||||
|
|
||||||
1. cd [srb2repo]
|
Uploading for Launchpad PPA
|
||||||
2. git reset --hard; git clean -fd; git clean -fx;
|
|
||||||
* Resets your repo folder to a committed state and removes untracked files
|
|
||||||
* If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS,
|
|
||||||
OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE!
|
|
||||||
|
|
||||||
Building the source package takes just one step:
|
Follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload
|
||||||
|
|
||||||
1. debuild -S (builds the source package for Launchpad)
|
|
||||||
|
|
||||||
Then follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload
|
|
||||||
to your PPA and have Launchpad build your binary deb packages.
|
to your PPA and have Launchpad build your binary deb packages.
|
||||||
|
|
||||||
|
|
||||||
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 21:13:00 -0500
|
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 21:13:00 -0500
|
5
debian-template/changelog
Normal file
5
debian-template/changelog
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
${PACKAGE_NAME} (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY}
|
||||||
|
|
||||||
|
* ${PROGRAM_NAME} v${PROGRAM_VERSION} program build
|
||||||
|
|
||||||
|
-- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
|
|
@ -1,24 +1,30 @@
|
||||||
# SRB2 Debian package control file.
|
# SRB2 Debian package control file.
|
||||||
|
|
||||||
Source: srb2
|
Source: ${PACKAGE_NAME}
|
||||||
Section: games
|
Section: games
|
||||||
Priority: extra
|
Priority: extra
|
||||||
Maintainer: Sonic Team Junior <stjr@srb2.org>
|
Maintainer: ${PACKAGE_GROUP_NAME_EMAIL}
|
||||||
Build-Depends: debhelper (>= 7.0.50~),
|
Build-Depends: debhelper (>= 7.0.50~),
|
||||||
libsdl2-dev,
|
libsdl2-dev,
|
||||||
libsdl2-mixer-dev,
|
libsdl2-mixer-dev,
|
||||||
libpng12-dev (>= 1.2.7) | libpng-dev,
|
libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7),
|
||||||
zlib1g-dev,
|
zlib1g-dev,
|
||||||
libgme-dev,
|
libgme-dev,
|
||||||
libglu1-dev | libglu-dev,
|
libglu1-dev | libglu-dev,
|
||||||
libosmesa6-dev | libgl-dev,
|
libosmesa6-dev | libgl-dev,
|
||||||
nasm [i386]
|
nasm [i386]
|
||||||
Standards-Version: 3.8.4
|
Standards-Version: 3.8.4
|
||||||
Homepage: http://www.srb2.org
|
Homepage: ${PACKAGE_WEBSITE}
|
||||||
|
|
||||||
Package: srb2
|
Package: ${PACKAGE_NAME}
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.21)
|
Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS},
|
||||||
|
${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}),
|
||||||
|
libsdl2-2.0-0,
|
||||||
|
libsdl2-mixer-2.0-0,
|
||||||
|
zlib1g,
|
||||||
|
libgme0,
|
||||||
|
libpng | libpng16-16 | libpng12-0
|
||||||
Description: A cross-platform 3D Sonic fangame
|
Description: A cross-platform 3D Sonic fangame
|
||||||
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
||||||
fangame built using a modified version of the Doom Legacy
|
fangame built using a modified version of the Doom Legacy
|
||||||
|
@ -28,10 +34,10 @@ Description: A cross-platform 3D Sonic fangame
|
||||||
and quite a lot of the fun that the original Sonic games provided.
|
and quite a lot of the fun that the original Sonic games provided.
|
||||||
|
|
||||||
|
|
||||||
Package: srb2-dbg
|
Package: ${PACKAGE_NAME}-dbg
|
||||||
Architecture: any
|
Architecture: any
|
||||||
# FIXME: should be Depends: ${shlibs:Depends}, ${misc:Depends}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat
|
# FIXME: should be Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat
|
||||||
Depends: libc6, ${misc:Depends}, srb2-data (>= 2.1.15), srb2-data (<= 2.1.21), srb2
|
Depends: libc6, ${MISC_DEPENDS}, ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), ${PACKAGE_NAME}
|
||||||
Description: A cross-platform 3D Sonic fangame
|
Description: A cross-platform 3D Sonic fangame
|
||||||
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
||||||
fangame built using a modified version of the Doom Legacy
|
fangame built using a modified version of the Doom Legacy
|
|
@ -1,18 +1,18 @@
|
||||||
This work was packaged for Debian by:
|
This work was packaged for Debian by:
|
||||||
|
|
||||||
Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 14:31:00 -0500
|
${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
|
||||||
|
|
||||||
It was downloaded from:
|
It was downloaded from:
|
||||||
|
|
||||||
<http://srb2.org>
|
${PACKAGE_WEBSITE}
|
||||||
|
|
||||||
Upstream Author(s):
|
Upstream Author(s):
|
||||||
|
|
||||||
Sonic Team Junior <stjr@srb2.org>
|
${PACKAGE_GROUP_NAME_EMAIL}
|
||||||
|
|
||||||
Copyright:
|
Copyright:
|
||||||
|
|
||||||
Copyright (C) 1998-2018 Sonic Team Junior
|
Copyright (C) 1998-2018 by Sonic Team Junior
|
||||||
|
|
||||||
License:
|
License:
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ License:
|
||||||
The Debian packaging is:
|
The Debian packaging is:
|
||||||
|
|
||||||
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
||||||
Copyright (C) 2010-2018 Sonic Team Junior <stjr@srb2.org>
|
Copyright (C) 2010-2018 by Sonic Team Junior <stjr@srb2.org>
|
||||||
|
|
||||||
and is licensed under the GPL version 2,
|
and is licensed under the GPL version 2,
|
||||||
see "/usr/share/common-licenses/GPL-2".
|
see "/usr/share/common-licenses/GPL-2".
|
|
@ -23,6 +23,16 @@
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!!
|
||||||
|
#
|
||||||
|
# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH}
|
||||||
|
# Variables used by the rules script are parenthese'd $(PKGDIR)
|
||||||
|
# See [repo-root]/debian_template.sh
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
# Uncomment this to turn on verbose mode.
|
# Uncomment this to turn on verbose mode.
|
||||||
#export DH_VERBOSE=1
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
@ -50,15 +60,16 @@ DIR := $(shell pwd)
|
||||||
|
|
||||||
# FIXME: hate hate hate head/tail hack :(
|
# FIXME: hate hate hate head/tail hack :(
|
||||||
CONTROLF = $(DIR)/debian/control
|
CONTROLF = $(DIR)/debian/control
|
||||||
PACKAGE = srb2
|
PACKAGE = ${PACKAGE_NAME}
|
||||||
DBGPKG = $(PACKAGE)-dbg
|
DBGPKG = ${PACKAGE}-dbg
|
||||||
TITLE = Sonic Robo Blast 2
|
TITLE = ${PROGRAM_NAME}
|
||||||
SECTION = Games/Action
|
SECTION = Games/Action
|
||||||
EXENAME = srb2
|
EXENAME = ${PROGRAM_FILENAME}
|
||||||
DBGNAME = debug/$(EXENAME)
|
DBGNAME = debug/$(EXENAME)
|
||||||
|
|
||||||
PKGDIR = usr/games/SRB2
|
PKGDIR = $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///')
|
||||||
DBGDIR = usr/lib/debug/$(PKGDIR)
|
DBGDIR = usr/lib/debug/$(PKGDIR)
|
||||||
|
LINKDIR = $(shell echo "${PACKAGE_LINK_PATH}" | sed -e 's/^\///')
|
||||||
PIXMAPS_DIR = usr/share/pixmaps
|
PIXMAPS_DIR = usr/share/pixmaps
|
||||||
DESKTOP_DIR = usr/share/applications
|
DESKTOP_DIR = usr/share/applications
|
||||||
PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)")
|
PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)")
|
||||||
|
@ -101,8 +112,8 @@ binary-arch:
|
||||||
$(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE)
|
$(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE)
|
||||||
$(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE)
|
$(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE)
|
||||||
# Install desktop file and banner image
|
# Install desktop file and banner image
|
||||||
$(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps
|
$(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps/${PROGRAM_FILENAME}.png
|
||||||
$(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications
|
$(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications/${PROGRAM_FILENAME}.desktop
|
||||||
# add compiled binaries to include-binaries
|
# add compiled binaries to include-binaries
|
||||||
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
||||||
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
|
@ -2,7 +2,7 @@ tar-ignore = "assets/*.srb"
|
||||||
tar-ignore = "assets/*.pk3"
|
tar-ignore = "assets/*.pk3"
|
||||||
tar-ignore = "assets/*.dta"
|
tar-ignore = "assets/*.dta"
|
||||||
tar-ignore = "assets/*.wad"
|
tar-ignore = "assets/*.wad"
|
||||||
tar-ignore = "assets/debian/srb2-data/*"
|
tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*"
|
||||||
tar-ignore = "assets/debian/tmp/*"
|
tar-ignore = "assets/debian/tmp/*"
|
||||||
tar-ignore = "*.obj"
|
tar-ignore = "*.obj"
|
||||||
tar-ignore = "*.dep"
|
tar-ignore = "*.dep"
|
10
debian-template/srb2.desktop
Normal file
10
debian-template/srb2.desktop
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=${PROGRAM_NAME}
|
||||||
|
Comment=${PROGRAM_DESCRIPTION}
|
||||||
|
Encoding=UTF-8
|
||||||
|
Exec=${PACKAGE_INSTALL_PATH}/${PROGRAM_FILENAME}
|
||||||
|
Icon=/usr/share/pixmaps/${PROGRAM_FILENAME}.png
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
StartupNotify=false
|
||||||
|
Categories=Application;Game;
|
12
debian/changelog
vendored
12
debian/changelog
vendored
|
@ -1,12 +0,0 @@
|
||||||
srb2 (2.1.21~9) trusty; urgency=high
|
|
||||||
|
|
||||||
* SRB2 v2.1.21 release
|
|
||||||
|
|
||||||
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 27 Nov 2018 16:45:00 -0500
|
|
||||||
|
|
||||||
|
|
||||||
srb2 (2.0.6-5) maverick; urgency=high
|
|
||||||
|
|
||||||
* Initial proper release..
|
|
||||||
|
|
||||||
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Sat, 29 Jan 2011 01:18:42 +1300
|
|
10
debian/srb2.desktop
vendored
10
debian/srb2.desktop
vendored
|
@ -1,10 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Name=Sonic Robo Blast 2
|
|
||||||
Comment=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis.
|
|
||||||
Encoding=UTF-8
|
|
||||||
Exec=/usr/games/SRB2/srb2
|
|
||||||
Icon=/usr/share/pixmaps/srb2.png
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
StartupNotify=false
|
|
||||||
Categories=Application;Game;
|
|
166
debian_template.sh
Normal file
166
debian_template.sh
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployer for Travis-CI
|
||||||
|
# Debian package templating
|
||||||
|
#
|
||||||
|
# Call this script BEFORE running debuild!
|
||||||
|
# source ./debian_template.sh [clean] [main/asset]
|
||||||
|
#
|
||||||
|
# Before running this script,
|
||||||
|
# you should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
|
||||||
|
# the identity of the key you will use to sign the package.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Get script's actual path
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
||||||
|
|
||||||
|
# Recursive function for directory crawling
|
||||||
|
# $1 = Directory root to crawl
|
||||||
|
# $2 = Code to eval on file
|
||||||
|
# $3 = Code to eval on directory
|
||||||
|
# Exposes $dirtails, $dirlevel, and $dirtailname
|
||||||
|
dirlevel=0 # initialize
|
||||||
|
dirtails=()
|
||||||
|
|
||||||
|
# Utility function to make dira/dirb/dirc string
|
||||||
|
makedirtailname () {
|
||||||
|
dirtailname=""
|
||||||
|
for tail in $dirtails; do
|
||||||
|
if [[ "$dirtailname" == "" ]]; then
|
||||||
|
dirtailname="/$tail";
|
||||||
|
else
|
||||||
|
dirtailname="$dirtailname/$tail";
|
||||||
|
fi;
|
||||||
|
done;
|
||||||
|
}
|
||||||
|
|
||||||
|
evaldirectory () {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
# Set contextual variables
|
||||||
|
# dirtails is an array of directory basenames after the crawl root
|
||||||
|
if (( $dirlevel > 0 )); then
|
||||||
|
dirtails+=( "$(basename $1)" );
|
||||||
|
else
|
||||||
|
dirtails=();
|
||||||
|
fi;
|
||||||
|
dirlevel=$((dirlevel+1));
|
||||||
|
|
||||||
|
# Generate directory path after the crawl root
|
||||||
|
makedirtailname;
|
||||||
|
|
||||||
|
# Eval our directory with the latest contextual info
|
||||||
|
# Don't eval on root
|
||||||
|
if (( $dirlevel > 1 )) && [[ "$3" != "" ]]; then
|
||||||
|
eval "$3";
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Iterate entries
|
||||||
|
for name in $1/*; do
|
||||||
|
if [ -d "$name" ]; then
|
||||||
|
# Name is a directory, but don't eval yet
|
||||||
|
# Recurse so our vars are updated
|
||||||
|
evaldirectory "$name" "$2" "$3";
|
||||||
|
|
||||||
|
# Decrement our directory level and remove a dirtail
|
||||||
|
unset 'dirtails[ ${#dirtails[@]}-1 ]';
|
||||||
|
dirlevel=$((dirlevel-1));
|
||||||
|
makedirtailname;
|
||||||
|
else
|
||||||
|
# Name is a file
|
||||||
|
if [ -f "$name" ] && [[ "$2" != "" ]]; then
|
||||||
|
eval "$2";
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Reset our variables; we're done iterating
|
||||||
|
if (( $dirlevel == 1 )); then
|
||||||
|
dirlevel=0;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Initialize package parameter defaults
|
||||||
|
#
|
||||||
|
if [[ "$__DEBIAN_PARAMETERS_INITIALIZED" != "1" ]]; then
|
||||||
|
. ${DIR}/deployer/travis/deployer_defaults.sh;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Clean up after ourselves; we only expect to run this script once
|
||||||
|
# during buildboting
|
||||||
|
__DEBIAN_PARAMETERS_INITIALIZED=0
|
||||||
|
|
||||||
|
# for envsubst
|
||||||
|
export __PACKAGE_DATETIME="$(date '+%a, %d %b %Y %H:%M:%S %z')"
|
||||||
|
export __PACKAGE_DATETIME_DIGIT="$(date -u '+%Y%m%d%H%M%S')"
|
||||||
|
|
||||||
|
if [[ "$PACKAGE_REVISION" == "" ]]; then
|
||||||
|
PACKAGE_REVISION="-$__PACKAGE_DATETIME_DIGIT";
|
||||||
|
__PACKAGE_REVISION_BY_DATE=1;
|
||||||
|
export PACKAGE_REVISION=${PACKAGE_REVISION}; # for envsubst
|
||||||
|
fi;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Clean the old debian/ directories
|
||||||
|
#
|
||||||
|
if [[ "$1" == "clean" ]]; then
|
||||||
|
toclean=$2;
|
||||||
|
else
|
||||||
|
toclean=$1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$toclean" == "" ]] || [[ "$toclean" == "main" ]]; then
|
||||||
|
echo "Cleaning main package scripts";
|
||||||
|
if [[ ! -f ${DIR}/debian ]]; then
|
||||||
|
rm -rf ${DIR}/debian;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
if [[ "$toclean" == "" ]] || [[ "$toclean" == "asset" ]]; then
|
||||||
|
echo "Cleaning asset package scripts";
|
||||||
|
if [[ ! -f ${DIR}/assets/debian ]]; then
|
||||||
|
rm -rf ${DIR}/assets/debian;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Make new templates
|
||||||
|
#
|
||||||
|
if [[ "$1" != "clean" ]]; then
|
||||||
|
totemplate=$1;
|
||||||
|
|
||||||
|
# HACK: ${shlibs:Depends} in the templates make the templating fail
|
||||||
|
# So just define replacemment variables
|
||||||
|
export SHLIBS_DEPENDS=${SHLIBS_DEPENDS};
|
||||||
|
export MISC_DEPENDS=${MISC_DEPENDS};
|
||||||
|
export DEBFILEVAR='$$file'; # used in assets/debian/rules
|
||||||
|
|
||||||
|
# Package parameters are exported for envsubst in deployer_defaults.sh
|
||||||
|
|
||||||
|
if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "main" ]]; then
|
||||||
|
echo "Generating main package scripts";
|
||||||
|
fromroot=${DIR}/debian-template;
|
||||||
|
toroot=${DIR}/debian;
|
||||||
|
mkdir ${toroot};
|
||||||
|
|
||||||
|
evaldirectory ${fromroot} \
|
||||||
|
"cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \
|
||||||
|
"mkdir \"${toroot}\${dirtailname}\"";
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "asset" ]]; then
|
||||||
|
echo "Generating asset package scripts";
|
||||||
|
fromroot=${DIR}/assets/debian-template;
|
||||||
|
toroot=${DIR}/assets/debian;
|
||||||
|
mkdir ${toroot};
|
||||||
|
|
||||||
|
# Root dir to crawl; file eval; directory eval
|
||||||
|
evaldirectory ${fromroot} \
|
||||||
|
"cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \
|
||||||
|
"mkdir \"${toroot}\${dirtailname}\"";
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$__DPL_ACTIVE" != "1" ]] && [[ "$__PACKAGE_REVISION_BY_DATE" == "1" ]]; then
|
||||||
|
unset PACKAGE_REVISION; # so we can reset the date on subsequent runs
|
||||||
|
fi;
|
157
deployer/travis/deployer.sh
Normal file
157
deployer/travis/deployer.sh
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployer for Travis-CI
|
||||||
|
# Initialization
|
||||||
|
#
|
||||||
|
# Performs validity checks to ensure that Deployer is allowed to run
|
||||||
|
# e.g., is an FTP hostname specified? Are we whitelisted by OSNAMES and BRANCHES?
|
||||||
|
#
|
||||||
|
# Set these environment variables in your Travis-CI settings, where they are stored securely.
|
||||||
|
# See other shell scripts for more options.
|
||||||
|
#
|
||||||
|
# DPL_ENABLED = 1 (leave blank to disable)
|
||||||
|
# DPL_TAG_ENABLED = 1 (run Deployer on all tags)
|
||||||
|
# DPL_JOB_ENABLE_ALL = 1 (run Deployer on all jobs; leave blank to act on specific jobs, see below)
|
||||||
|
# DPL_JOBNAMES = name1,name2 (whitelist of job names to allow uploading; leave blank to upload from all jobs)
|
||||||
|
# DPL_OSNAMES = osx (whitelist of OS names to allow uploading; leave blank to upload from all OSes)
|
||||||
|
# DPL_BRANCHES = master,branch1,branch2 (whitelist of branches to upload; leave blank to upload all branches)
|
||||||
|
#
|
||||||
|
# To enable Deployer on specific jobs, set _DPL_JOB_ENABLED=1 for that job. Example:
|
||||||
|
# - matrix:
|
||||||
|
# - os: osx
|
||||||
|
# env:
|
||||||
|
# - _DPL_JOB_ENABLED=1
|
||||||
|
#
|
||||||
|
# DO NOT set __DPL_ACTIVE, because that would bypass these validity checks.
|
||||||
|
|
||||||
|
# Validate Deployer state
|
||||||
|
if [[ "$DPL_ENABLED" == "1" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then
|
||||||
|
# Test for base eligibility:
|
||||||
|
# Are we in a deployer branch? Or
|
||||||
|
# Are we in a release tag AND DPL_TAG_ENABLED=1?
|
||||||
|
if [[ $TRAVIS_BRANCH == *"deployer"* ]]; then
|
||||||
|
__DPL_BASE_ELIGIBLE=1;
|
||||||
|
__DPL_TERMINATE_EARLY_ELIGIBLE=1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$TRAVIS_TAG" != "" ]] && [[ "$DPL_TAG_ENABLED" == "1" ]]; then
|
||||||
|
__DPL_BASE_ELIGIBLE=1;
|
||||||
|
__DPL_TAG_ELIGIBLE=1;
|
||||||
|
__DPL_TERMINATE_EARLY_ELIGIBLE=1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Logging message for trigger word
|
||||||
|
if [[ "$__DPL_TAG_ELIGIBLE" != "1" ]] && [[ "$DPL_TRIGGER" != "" ]]; then
|
||||||
|
echo "Testing for trigger $DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE";
|
||||||
|
echo "[${DPL_TRIGGER}]";
|
||||||
|
echo "[${DPL_TRIGGER}-${_DPL_JOB_NAME}]";
|
||||||
|
echo "[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]";
|
||||||
|
fi;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Search for the trigger word
|
||||||
|
# Force enable if release tags are eligible
|
||||||
|
#
|
||||||
|
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_TRIGGER" == "" ]] \
|
||||||
|
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER]"* ]] \
|
||||||
|
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"* ]] \
|
||||||
|
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"* ]]; then
|
||||||
|
#
|
||||||
|
# Whitelist by branch name
|
||||||
|
# Force enable if release tags are eligible
|
||||||
|
#
|
||||||
|
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then
|
||||||
|
# Set this so we only early-terminate builds when we are specifically deploying
|
||||||
|
# Trigger string and branch are encompassing conditions; the rest are job-specific
|
||||||
|
# This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1,
|
||||||
|
# because we're filtering non-deployer jobs.
|
||||||
|
#
|
||||||
|
# __DPL_TRY_TERMINATE_EARLY is invalidated in .travis.yml if __DPL_ACTIVE=1
|
||||||
|
if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then
|
||||||
|
__DPL_TRY_TERMINATE_EARLY=1;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Is the job enabled for deployment?
|
||||||
|
#
|
||||||
|
if [[ "$DPL_JOB_ENABLE_ALL" == "1" ]] || [[ "$_DPL_JOB_ENABLED" == "1" ]]; then
|
||||||
|
#
|
||||||
|
# Whitelist by job names
|
||||||
|
#
|
||||||
|
if [[ "$DPL_JOBNAMES" == "" ]] || [[ "$_DPL_JOB_NAME" == "" ]] || [[ $DPL_JOBNAMES == *"$_DPL_JOB_NAME"* ]]; then
|
||||||
|
#
|
||||||
|
# Whitelist by OS names
|
||||||
|
#
|
||||||
|
if [[ "$DPL_OSNAMES" == "" ]] || [[ $DPL_OSNAMES == *"$TRAVIS_OS_NAME"* ]]; then
|
||||||
|
# Base Deployer is eligible for becoming active
|
||||||
|
|
||||||
|
# Are we building for Linux?
|
||||||
|
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
|
||||||
|
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]] || [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
||||||
|
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||||
|
__DPL_DEBIAN_ACTIVE=1;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Now check for deployment targets
|
||||||
|
if [[ "$_DPL_FTP_TARGET" == "1" ]] && [[ "$DPL_FTP_HOSTNAME" != "" ]]; then
|
||||||
|
if [[ "$TRAVIS_OS_HOST" == "linux" ]] && [[ "$DPL_FTP_PROTOCOL" == "ftp" ]]; then
|
||||||
|
echo "Non-secure FTP will not work on Linux Travis-CI jobs!";
|
||||||
|
echo "Try SFTP or another target. Details:";
|
||||||
|
echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci";
|
||||||
|
else
|
||||||
|
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] || [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_BINARY" == "1" ]]; then
|
||||||
|
echo "Deployer FTP target is enabled";
|
||||||
|
__DPL_FTP_ACTIVE=1;
|
||||||
|
else
|
||||||
|
echo "Deployer FTP target cannot be enabled: You must specify _DPL_PACKAGE_BINARY=1,";
|
||||||
|
echo "and/or _DPL_BINARY=1 in your job's environment variables.";
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_DPUT_TARGET" == "1" ]] && [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] \
|
||||||
|
&& [[ "$DPL_DPUT_INCOMING" != "" ]]; then
|
||||||
|
if [[ "$DPL_DPUT_METHOD" == "ftp" ]]; then
|
||||||
|
echo "DPUT will not work with non-secure FTP on Linux Travis-CI jobs!";
|
||||||
|
echo "Try SFTP or another method for DPUT. Details:";
|
||||||
|
echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci";
|
||||||
|
else
|
||||||
|
echo "Deployer DPUT target is enabled";
|
||||||
|
__DPL_DPUT_ACTIVE=1;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# If any deployment targets are active, then so is the Deployer at large
|
||||||
|
if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
|
||||||
|
__DPL_ACTIVE=1;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
else
|
||||||
|
if [[ "$DPL_TRIGGER" != "" ]]; then
|
||||||
|
echo "Testing for global trigger [$DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE";
|
||||||
|
fi;
|
||||||
|
if [[ "$DPL_TRIGGER" != "" ]] && [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER"* ]]; then
|
||||||
|
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then
|
||||||
|
# This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1,
|
||||||
|
# because we're filtering non-deployer jobs.
|
||||||
|
if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then
|
||||||
|
# Assume that some job received the trigger, so mark this for early termination
|
||||||
|
__DPL_TRY_TERMINATE_EARLY=1;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then
|
||||||
|
echo "Deployer is active in another job";
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$__DPL_TRY_TERMINATE_EARLY" != "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then
|
||||||
|
echo "Deployer is not active";
|
||||||
|
fi;
|
190
deployer/travis/deployer_build.sh
Normal file
190
deployer/travis/deployer_build.sh
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployer for Travis-CI
|
||||||
|
# Build Script
|
||||||
|
#
|
||||||
|
# Builds the required targets depending on which sub-modules are enabled
|
||||||
|
|
||||||
|
if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
|
||||||
|
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then
|
||||||
|
echo "Building Debian package(s)"
|
||||||
|
|
||||||
|
sudo apt-get install devscripts debhelper fakeroot secure-delete expect;
|
||||||
|
|
||||||
|
# Build source packages first, since they zip up the entire source folder,
|
||||||
|
# binaries and all
|
||||||
|
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
||||||
|
. ../debian_template.sh main;
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ..; # repo root
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
|
||||||
|
echo "Building main source Debian package";
|
||||||
|
expect <(cat <<EOD
|
||||||
|
spawn debuild -S -us -uc;
|
||||||
|
expect "continue anyway? (y/n)"
|
||||||
|
send "y\r"
|
||||||
|
interact
|
||||||
|
EOD
|
||||||
|
);
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
||||||
|
echo "Building main binary Debian package";
|
||||||
|
expect <(cat <<EOD
|
||||||
|
spawn debuild -us -uc;
|
||||||
|
expect "continue anyway? (y/n)"
|
||||||
|
send "y\r"
|
||||||
|
interact
|
||||||
|
EOD
|
||||||
|
);
|
||||||
|
fi;
|
||||||
|
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Also an asset package
|
||||||
|
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
||||||
|
. ../debian_template.sh asset;
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ../assets;
|
||||||
|
|
||||||
|
# make sure the asset files exist, download them if they don't
|
||||||
|
#echo "Checking asset files for asset Debian package";
|
||||||
|
#debuild -T build;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
|
||||||
|
echo "Building asset source Debian package";
|
||||||
|
expect <(cat <<EOD
|
||||||
|
spawn debuild -S -us -uc;
|
||||||
|
expect "continue anyway? (y/n)"
|
||||||
|
send "y\r"
|
||||||
|
interact
|
||||||
|
EOD
|
||||||
|
);
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
||||||
|
echo "Building asset binary Debian package";
|
||||||
|
expect <(cat <<EOD
|
||||||
|
spawn debuild -us -uc;
|
||||||
|
expect "continue anyway? (y/n)"
|
||||||
|
send "y\r"
|
||||||
|
interact
|
||||||
|
EOD
|
||||||
|
);
|
||||||
|
fi;
|
||||||
|
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Now sign our packages
|
||||||
|
if [[ "$DPL_PGP_KEY_PRIVATE" != "" ]] && [[ "$DPL_PGP_KEY_PASSPHRASE" != "" ]]; then
|
||||||
|
# Get the key to sign
|
||||||
|
# Do this AFTER debuild so that we can specify the passphrase in command line
|
||||||
|
echo "$DPL_PGP_KEY_PRIVATE" | base64 --decode > key.asc;
|
||||||
|
echo "$DPL_PGP_KEY_PASSPHRASE" > phrase.txt;
|
||||||
|
gpg --import key.asc;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
||||||
|
echo "Signing main package(s)";
|
||||||
|
|
||||||
|
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
|
||||||
|
PACKAGEFILENAMES=(
|
||||||
|
$PACKAGEFILENAME
|
||||||
|
$PACKAGEDBGFILENAME
|
||||||
|
#$PACKAGENIGHTLYFILENAME
|
||||||
|
#$PACKAGENIGHTLYDBGFILENAME
|
||||||
|
#$PACKAGEPATCHFILENAME
|
||||||
|
#$PACKAGEPATCHDBGFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYDBGFILENAME
|
||||||
|
);
|
||||||
|
|
||||||
|
# Main packages are in parent of root repo folder
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ../..; # parent of repo root
|
||||||
|
|
||||||
|
for n in ${PACKAGEFILENAMES}; do
|
||||||
|
for f in ./$n*.changes; do
|
||||||
|
debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f";
|
||||||
|
done;
|
||||||
|
done;
|
||||||
|
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
||||||
|
echo "Signing asset package(s)";
|
||||||
|
|
||||||
|
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
|
||||||
|
PACKAGEFILENAMES=(
|
||||||
|
$PACKAGEFILENAME
|
||||||
|
#$PACKAGENIGHTLYFILENAME
|
||||||
|
#$PACKAGEPATCHFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYFILENAME
|
||||||
|
)
|
||||||
|
|
||||||
|
# Asset packages are in root repo folder
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ..; # repo root
|
||||||
|
|
||||||
|
for n in ${PACKAGEFILENAMES}; do
|
||||||
|
for f in ./$n*.changes; do
|
||||||
|
debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f";
|
||||||
|
done;
|
||||||
|
done;
|
||||||
|
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Delete the keys :eyes:
|
||||||
|
srm key.asc;
|
||||||
|
srm phrase.txt;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# all other OSes
|
||||||
|
if [[ "$TRAVIS_OS_NAME" != "linux" ]]; then
|
||||||
|
#
|
||||||
|
# Check for binary building
|
||||||
|
#
|
||||||
|
if [[ "$_DPL_BINARY" == "1" ]]; then
|
||||||
|
echo "Building a Binary";
|
||||||
|
make -k;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check for package building
|
||||||
|
#
|
||||||
|
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
||||||
|
echo "Building a Package";
|
||||||
|
|
||||||
|
# Make an OSX package; superuser is required for library bundling
|
||||||
|
#
|
||||||
|
# HACK: OSX packaging can't write libraries to .app package unless we're superuser
|
||||||
|
# because the original library files don't have WRITE permission
|
||||||
|
# Bug may be sidestepped by using CHMOD_BUNDLE_ITEMS=TRUE
|
||||||
|
# But I don't know where this is set. Not `cmake -D...` because this var is ignored.
|
||||||
|
# https://cmake.org/Bug/view.php?id=9284
|
||||||
|
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||||
|
sudo make -k package;
|
||||||
|
else
|
||||||
|
# Some day, when Windows is supported, we'll just make a standard package
|
||||||
|
make -k package;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi;
|
107
deployer/travis/deployer_defaults.sh
Normal file
107
deployer/travis/deployer_defaults.sh
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployer for Travis-CI
|
||||||
|
# Default Variables
|
||||||
|
#
|
||||||
|
# Here are all of the user-set variables used by Deployer.
|
||||||
|
# See the "Cross-platform deployment" page on SRB2 Wiki for documentation.
|
||||||
|
|
||||||
|
# Core Parameters
|
||||||
|
: ${DPL_ENABLED} # Enable Deployer behavior; must be set for any deployment activity
|
||||||
|
: ${DPL_TAG_ENABLED} # Trigger Deployer for all tag releases
|
||||||
|
: ${DPL_JOB_ENABLE_ALL} # Enable all jobs for deployment
|
||||||
|
: ${DPL_TERMINATE_TESTS} # Terminate all build test jobs (used in .travis.yml)
|
||||||
|
: ${DPL_TRIGGER} # Use a [word] in the commit message to trigger Deployer
|
||||||
|
: ${DPL_JOBNAMES} # Trigger Deployer by job name
|
||||||
|
: ${DPL_OSNAMES} # Trigger Deployer by OS name (osx,linux)
|
||||||
|
: ${DPL_BRANCHES} # Trigger Deployer by git branch name
|
||||||
|
|
||||||
|
# Job Parameters
|
||||||
|
: ${_DPL_JOB_ENABLED} # Enable Deployer for this specific job. DPL_ENABLED must be set too.
|
||||||
|
: ${_DPL_JOB_NAME} # Identifier for the job, used for logging and trigger word matching
|
||||||
|
: ${_DPL_FTP_TARGET} # Deploy to FTP
|
||||||
|
: ${_DPL_DPUT_TARGET} # Deploy to DPUT
|
||||||
|
: ${_DPL_PACKAGE_SOURCE} # Build packages into a Source distribution. Linux only.
|
||||||
|
: ${_DPL_PACKAGE_BINARY} # Build packages into a Binary distribution.
|
||||||
|
: ${_DPL_PACKAGE_MAIN:=1} # Build main installation package. Linux only; OS X assumes this.
|
||||||
|
: ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only.
|
||||||
|
|
||||||
|
# Asset File Parameters
|
||||||
|
: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets/SRB2-v2122-assets.7z}
|
||||||
|
: ${ASSET_BASE_PATH:=https://github.com/mazmazz/SRB2/releases/download/SRB2_assets}
|
||||||
|
: ${ASSET_FILES_REQUIRED:=srb2.srb zones.dta player.dta rings.dta patch.dta}
|
||||||
|
: ${ASSET_FILES_DOCS:=README.txt LICENSE.txt LICENSE-3RD-PARTY.txt}
|
||||||
|
: ${ASSET_FILES_OPTIONAL:=music.dta}
|
||||||
|
: ${ASSET_FILES_OPTIONAL_GET:=0}
|
||||||
|
|
||||||
|
# FTP Parameters
|
||||||
|
: ${DPL_FTP_PROTOCOL}
|
||||||
|
: ${DPL_FTP_USER}
|
||||||
|
: ${DPL_FTP_PASS}
|
||||||
|
: ${DPL_FTP_HOSTNAME}
|
||||||
|
: ${DPL_FTP_PORT}
|
||||||
|
: ${DPL_FTP_PATH}
|
||||||
|
|
||||||
|
# DPUT Parameters
|
||||||
|
: ${DPL_DPUT_DOMAIN:=ppa.launchpad.net}
|
||||||
|
: ${DPL_DPUT_METHOD:=sftp}
|
||||||
|
: ${DPL_DPUT_INCOMING}
|
||||||
|
: ${DPL_DPUT_LOGIN:=anonymous}
|
||||||
|
: ${DPL_SSH_KEY_PRIVATE} # Base64-encoded private key file. Used to sign repository uploads
|
||||||
|
: ${DPL_SSH_KEY_PASSPHRASE} # Decodes the private key file.
|
||||||
|
|
||||||
|
# Package Parameters
|
||||||
|
: ${PACKAGE_NAME:=srb2}
|
||||||
|
: ${PACKAGE_VERSION:=2.1.23}
|
||||||
|
: ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic)
|
||||||
|
: ${PACKAGE_REVISION} # Defaults to UTC timestamp
|
||||||
|
: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2}
|
||||||
|
: ${PACKAGE_LINK_PATH:=/usr/games}
|
||||||
|
: ${PACKAGE_DISTRO:=trusty}
|
||||||
|
: ${PACKAGE_URGENCY:=high}
|
||||||
|
: ${PACKAGE_NAME_EMAIL:=Sonic Team Junior <stjr@srb2.org>}
|
||||||
|
: ${PACKAGE_GROUP_NAME_EMAIL:=Sonic Team Junior <stjr@srb2.org>}
|
||||||
|
: ${PACKAGE_WEBSITE:=<http://www.srb2.org>}
|
||||||
|
|
||||||
|
: ${PACKAGE_ASSET_MINVERSION:=2.1.21} # Number this the version BEFORE the actual required version, because we do a > check
|
||||||
|
: ${PACKAGE_ASSET_MAXVERSION:=2.1.24} # Number this the version AFTER the actual required version, because we do a < check
|
||||||
|
|
||||||
|
: ${PROGRAM_NAME:=Sonic Robo Blast 2}
|
||||||
|
: ${PROGRAM_VENDOR:=Sonic Team Junior}
|
||||||
|
: ${PROGRAM_VERSION:=2.1.23}
|
||||||
|
: ${PROGRAM_DESCRIPTION:=A free 3D Sonic the Hedgehog fangame closely inspired by the original Sonic games on the Sega Genesis.}
|
||||||
|
: ${PROGRAM_FILENAME:=srb2}
|
||||||
|
|
||||||
|
: ${DPL_PGP_KEY_PRIVATE} # Base64-encoded private key file. Used to sign Debian packages
|
||||||
|
: ${DPL_PGP_KEY_PASSPHRASE} # Decodes the private key file.
|
||||||
|
|
||||||
|
# Export Asset and Package Parameters for envsubst templating
|
||||||
|
|
||||||
|
export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}"
|
||||||
|
export ASSET_BASE_PATH="${ASSET_BASE_PATH}"
|
||||||
|
export ASSET_FILES_REQUIRED="${ASSET_FILES_REQUIRED}"
|
||||||
|
export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}"
|
||||||
|
export ASSET_FILES_OPTIONAL="${ASSET_FILES_OPTIONAL}"
|
||||||
|
export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}"
|
||||||
|
|
||||||
|
export PACKAGE_NAME="${PACKAGE_NAME}"
|
||||||
|
export PACKAGE_VERSION="${PACKAGE_VERSION}"
|
||||||
|
export PACKAGE_SUBVERSION="${PACKAGE_SUBVERSION}" # in case we have this
|
||||||
|
export PACKAGE_REVISION="${PACKAGE_REVISION}"
|
||||||
|
export PACKAGE_ASSET_MINVERSION="${PACKAGE_ASSET_MINVERSION}"
|
||||||
|
export PACKAGE_ASSET_MAXVERSION="${PACKAGE_ASSET_MAXVERSION}"
|
||||||
|
export PACKAGE_INSTALL_PATH="${PACKAGE_INSTALL_PATH}"
|
||||||
|
export PACKAGE_LINK_PATH="${PACKAGE_LINK_PATH}"
|
||||||
|
export PACKAGE_DISTRO="${PACKAGE_DISTRO}"
|
||||||
|
export PACKAGE_URGENCY="${PACKAGE_URGENCY}"
|
||||||
|
export PACKAGE_NAME_EMAIL="${PACKAGE_NAME_EMAIL}"
|
||||||
|
export PACKAGE_GROUP_NAME_EMAIL="${PACKAGE_GROUP_NAME_EMAIL}"
|
||||||
|
export PACKAGE_WEBSITE="${PACKAGE_WEBSITE}"
|
||||||
|
|
||||||
|
export PROGRAM_NAME="${PROGRAM_NAME}"
|
||||||
|
export PROGRAM_VERSION="${PROGRAM_VERSION}"
|
||||||
|
export PROGRAM_DESCRIPTION="${PROGRAM_DESCRIPTION}"
|
||||||
|
export PROGRAM_FILENAME="${PROGRAM_FILENAME}"
|
||||||
|
|
||||||
|
# This file is called in debian_template.sh, so mark our completion so we don't run it again
|
||||||
|
__DEBIAN_PARAMETERS_INITIALIZED=1
|
133
deployer/travis/deployer_dput.sh
Normal file
133
deployer/travis/deployer_dput.sh
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployer for Travis-CI
|
||||||
|
# DPUT uploader (e.g., Launchpad PPA)
|
||||||
|
#
|
||||||
|
|
||||||
|
if [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
|
||||||
|
# Install APT dependencies
|
||||||
|
# paramiko required for ssh
|
||||||
|
sudo apt-get install python-paramiko expect dput; # python-pip
|
||||||
|
#pip install paramiko;
|
||||||
|
|
||||||
|
# Output the DPUT config
|
||||||
|
# Dput only works if you're using secure FTP, so that's what we default to.
|
||||||
|
cat > "./dput.cf" << EOM
|
||||||
|
[deployer]
|
||||||
|
fqdn = ${DPL_DPUT_DOMAIN}
|
||||||
|
method = ${DPL_DPUT_METHOD}
|
||||||
|
incoming = ${DPL_DPUT_INCOMING}
|
||||||
|
login = ${DPL_DPUT_LOGIN}
|
||||||
|
allow_unsigned_uploads = 0
|
||||||
|
EOM
|
||||||
|
|
||||||
|
# Output SSH config
|
||||||
|
# Don't let SSH prompt us for untrusted hosts
|
||||||
|
cat >> "./ssh_config" << EOM
|
||||||
|
|
||||||
|
Host *
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile=/dev/null
|
||||||
|
PubKeyAuthentication yes
|
||||||
|
IdentityFile ${PWD}/key.private
|
||||||
|
IdentitiesOnly yes
|
||||||
|
EOM
|
||||||
|
sudo sh -c "cat < ${PWD}/ssh_config >> /etc/ssh/ssh_config";
|
||||||
|
|
||||||
|
# Get the private key
|
||||||
|
echo "$DPL_SSH_KEY_PRIVATE" | base64 --decode > key.private;
|
||||||
|
chmod 700 ./key.private;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
||||||
|
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
|
||||||
|
PACKAGEFILENAMES=(
|
||||||
|
$PACKAGEFILENAME
|
||||||
|
$PACKAGEDBGFILENAME
|
||||||
|
#$PACKAGENIGHTLYFILENAME
|
||||||
|
#$PACKAGENIGHTLYDBGFILENAME
|
||||||
|
#$PACKAGEPATCHFILENAME
|
||||||
|
#$PACKAGEPATCHDBGFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYDBGFILENAME
|
||||||
|
);
|
||||||
|
|
||||||
|
# Main packages are in parent of root repo folder
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ../..;
|
||||||
|
|
||||||
|
# Enter passphrase if required
|
||||||
|
for n in ${PACKAGEFILENAMES}; do
|
||||||
|
for f in $n*.changes; do
|
||||||
|
# Binary builds also generate source builds, so exclude the source
|
||||||
|
# builds if desired
|
||||||
|
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
||||||
|
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
||||||
|
continue;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
expect <(cat <<EOD
|
||||||
|
spawn dput -c "${OLDPWD}/dput.cf" deployer "$f";
|
||||||
|
expect "Enter passphrase for key"
|
||||||
|
send "${DPL_SSH_KEY_PASSPHRASE}\r"
|
||||||
|
interact
|
||||||
|
EOD
|
||||||
|
);
|
||||||
|
done;
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Go back to [repo]/build folder
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
||||||
|
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
|
||||||
|
PACKAGEFILENAMES=(
|
||||||
|
$PACKAGEFILENAME
|
||||||
|
#$PACKAGENIGHTLYFILENAME
|
||||||
|
#$PACKAGEPATCHFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYFILENAME
|
||||||
|
)
|
||||||
|
|
||||||
|
# Asset packages are in root repo folder
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ..;
|
||||||
|
|
||||||
|
# Enter passphrase if required
|
||||||
|
for n in ${PACKAGEFILENAMES}; do
|
||||||
|
for f in $n*.changes; do
|
||||||
|
# Binary builds also generate source builds, so exclude the source
|
||||||
|
# builds if desired
|
||||||
|
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
||||||
|
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
||||||
|
continue;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
expect <(cat <<EOD
|
||||||
|
spawn dput -c "${OLDPWD}/dput.cf" deployer "$f";
|
||||||
|
expect "Enter passphrase for key"
|
||||||
|
send "${DPL_SSH_KEY_PASSPHRASE}\r"
|
||||||
|
interact
|
||||||
|
EOD
|
||||||
|
);
|
||||||
|
done;
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Go back to [repo]/build folder
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
srm ./key.private;
|
||||||
|
fi;
|
137
deployer/travis/deployer_ftp.sh
Normal file
137
deployer/travis/deployer_ftp.sh
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployer for Travis-CI
|
||||||
|
# FTP Uploader
|
||||||
|
#
|
||||||
|
# Package files are uploaded to, e.g., ftp://username:password@example.com:21/path/to/upload/STJr/SRB2/master/460873812-151.1
|
||||||
|
# With file `commit.txt` and folder(s) `bin` and `package`
|
||||||
|
#
|
||||||
|
# Set these environment variables in your Travis-CI settings, where they are stored securely.
|
||||||
|
# See other shell scripts for more options.
|
||||||
|
#
|
||||||
|
# DPL_FTP_PROTOCOL = ftp (ftp or sftp or ftps or however your FTP URI begins)
|
||||||
|
# DPL_FTP_USER = username
|
||||||
|
# DPL_FTP_PASS = password
|
||||||
|
# DPL_FTP_HOSTNAME = example.com
|
||||||
|
# DPL_FTP_PORT = 21
|
||||||
|
# DPL_FTP_PATH = path/to/upload (do not add trailing slash)
|
||||||
|
|
||||||
|
if [[ "$__DPL_FTP_ACTIVE" == "1" ]]; then
|
||||||
|
if [[ "$TRAVIS_JOB_NAME" != "" ]]; then
|
||||||
|
JOBNAME=$TRAVIS_JOB_NAME;
|
||||||
|
else
|
||||||
|
if [[ "$_DPL_JOB_NAME" != "" ]]; then
|
||||||
|
JOBNAME=$_DPL_JOB_NAME;
|
||||||
|
else
|
||||||
|
JOBNAME=$TRAVIS_OS_NAME;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
# Generate commit.txt file
|
||||||
|
echo "Travis-CI Build $TRAVIS_OS_NAME - $TRAVIS_REPO_SLUG/$TRAVIS_BRANCH - $TRAVIS_JOB_NUMBER - $JOBNAME" > "commit.txt";
|
||||||
|
echo "Job ID $TRAVIS_JOB_ID" >> "commit.txt";
|
||||||
|
echo "" >> "commit.txt";
|
||||||
|
echo "Commit $TRAVIS_COMMIT" >> "commit.txt";
|
||||||
|
echo "$TRAVIS_COMMIT_MESSAGE" >> "commit.txt";
|
||||||
|
echo "" >> "commit.txt";
|
||||||
|
|
||||||
|
# Initialize FTP parameters
|
||||||
|
if [[ "$DPL_FTP_PORT" == "" ]]; then
|
||||||
|
DPL_FTP_PORT=21;
|
||||||
|
fi;
|
||||||
|
if [[ "$DPL_FTP_PROTOCOL" == "" ]]; then
|
||||||
|
DPL_FTP_PROTOCOL=ftp;
|
||||||
|
fi;
|
||||||
|
__DPL_FTP_LOCATION=$DPL_FTP_PROTOCOL://$DPL_FTP_HOSTNAME:$DPL_FTP_PORT/$DPL_FTP_PATH/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/$TRAVIS_JOB_ID-$TRAVIS_JOB_NUMBER-$JOBNAME;
|
||||||
|
|
||||||
|
# Upload to FTP!
|
||||||
|
echo "Uploading to FTP...";
|
||||||
|
curl --ftp-create-dirs -T "commit.txt" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/commit.txt";
|
||||||
|
|
||||||
|
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then
|
||||||
|
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
||||||
|
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
|
||||||
|
PACKAGEFILENAMES=(
|
||||||
|
$PACKAGEFILENAME
|
||||||
|
$PACKAGEDBGFILENAME
|
||||||
|
#$PACKAGENIGHTLYFILENAME
|
||||||
|
#$PACKAGENIGHTLYDBGFILENAME
|
||||||
|
#$PACKAGEPATCHFILENAME
|
||||||
|
#$PACKAGEPATCHDBGFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYDBGFILENAME
|
||||||
|
);
|
||||||
|
|
||||||
|
# Main packages are in parent of root repo folder
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ../..;
|
||||||
|
|
||||||
|
for n in ${PACKAGEFILENAMES}; do
|
||||||
|
for f in ./$n*; do
|
||||||
|
# Binary builds also generate source builds, so exclude the source
|
||||||
|
# builds if desired
|
||||||
|
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
||||||
|
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
||||||
|
continue;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/main/$f";
|
||||||
|
done;
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Go back to [repo]/build folder
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
||||||
|
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
||||||
|
|
||||||
|
PACKAGEFILENAMES=(
|
||||||
|
$PACKAGEFILENAME
|
||||||
|
#$PACKAGENIGHTLYFILENAME
|
||||||
|
#$PACKAGEPATCHFILENAME
|
||||||
|
#$PACKAGEPATCHNIGHTLYFILENAME
|
||||||
|
)
|
||||||
|
|
||||||
|
# Asset packages are in root repo folder
|
||||||
|
OLDPWD=$PWD; # [repo]/build
|
||||||
|
cd ..;
|
||||||
|
|
||||||
|
for n in ${PACKAGEFILENAMES}; do
|
||||||
|
for f in ./$n*; do
|
||||||
|
# Binary builds also generate source builds, so exclude the source
|
||||||
|
# builds if desired
|
||||||
|
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
||||||
|
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
||||||
|
continue;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/asset/$f";
|
||||||
|
done;
|
||||||
|
done;
|
||||||
|
|
||||||
|
# Go back to [repo]/build folder
|
||||||
|
cd $OLDPWD;
|
||||||
|
fi;
|
||||||
|
else
|
||||||
|
if [[ "$_DPL_BINARY" == "1" ]]; then
|
||||||
|
find bin -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
||||||
|
sudo rm -r package/_CPack_Packages
|
||||||
|
find package -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
fi
|
|
@ -150,7 +150,7 @@ if(${SDL2_FOUND})
|
||||||
${ZLIB_LIBRARIES}
|
${ZLIB_LIBRARIES}
|
||||||
${OPENGL_LIBRARIES}
|
${OPENGL_LIBRARIES}
|
||||||
)
|
)
|
||||||
set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "Sonic Robo Blast 2")
|
set_target_properties(SRB2SDL2 PROPERTIES OUTPUT_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}")
|
||||||
else()
|
else()
|
||||||
target_link_libraries(SRB2SDL2 PRIVATE
|
target_link_libraries(SRB2SDL2 PRIVATE
|
||||||
${SDL2_LIBRARIES}
|
${SDL2_LIBRARIES}
|
||||||
|
@ -334,10 +334,19 @@ if(${SDL2_FOUND})
|
||||||
|
|
||||||
|
|
||||||
# Mac bundle fixup
|
# Mac bundle fixup
|
||||||
|
# HACK: THIS IS IMPORTANT! See the escaped \${CMAKE_INSTALL_PREFIX}? This
|
||||||
|
# makes it so that var is evaluated LATER during cpack, not right now!
|
||||||
|
# This fixes the quirk where the bundled libraries don't land in the final package
|
||||||
|
# https://cmake.org/pipermail/cmake/2011-March/043532.html
|
||||||
|
#
|
||||||
|
# HOWEVER: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY} is NOT escaped, because that var
|
||||||
|
# is only available to us at this step. Read the link: ${CMAKE_INSTALL_PREFIX} at
|
||||||
|
# this current step points to the CMAKE build folder, NOT the folder that CPACK uses.
|
||||||
|
# Therefore, it makes sense to escape that var, but not the other.
|
||||||
if(${CMAKE_SYSTEM} MATCHES Darwin)
|
if(${CMAKE_SYSTEM} MATCHES Darwin)
|
||||||
install(CODE "
|
install(CODE "
|
||||||
include(BundleUtilities)
|
include(BundleUtilities)
|
||||||
fixup_bundle(\"${CMAKE_INSTALL_PREFIX}/Sonic Robo Blast 2.app\"
|
fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${CPACK_PACKAGE_DESCRIPTION_SUMMARY}.app\"
|
||||||
\"\"
|
\"\"
|
||||||
/Library/Frameworks
|
/Library/Frameworks
|
||||||
)"
|
)"
|
||||||
|
|
Loading…
Reference in a new issue