mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Implement deployer scripts for Travis -- OSX and Linux package building [Kart merge]
This commit is contained in:
		
							parent
							
								
									ebc1fce3a8
								
							
						
					
					
						commit
						337e0da8e4
					
				
					 35 changed files with 1598 additions and 156 deletions
				
			
		
							
								
								
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -19,3 +19,5 @@ Win32_LIB_ASM_Release | |||
| *.db | ||||
| *.opendb | ||||
| /.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 | ||||
| sudo: required | ||||
| dist: trusty | ||||
| 
 | ||||
| matrix: | ||||
|     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 | ||||
|           addons: | ||||
|             apt: | ||||
|  | @ -15,6 +26,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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 | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -27,6 +39,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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 | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -39,9 +52,11 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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 | ||||
|         - os: linux | ||||
|           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 | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -56,6 +71,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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 | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -71,6 +87,7 @@ matrix: | |||
|               - gcc-7 | ||||
|           compiler: gcc-7 | ||||
|           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 | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -86,9 +103,11 @@ matrix: | |||
|               - gcc-8 | ||||
|           compiler: gcc-8 | ||||
|           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 | ||||
|         - os: linux | ||||
|           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) | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -103,6 +122,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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) | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -118,6 +138,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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) | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -133,6 +154,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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) | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -148,6 +170,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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) | ||||
|         - os: linux | ||||
|           addons: | ||||
|  | @ -163,6 +186,7 @@ matrix: | |||
|               - p7zip-full | ||||
|               - 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 | ||||
| #        - os: linux | ||||
| #          addons: | ||||
|  | @ -178,6 +202,7 @@ matrix: | |||
| #              - p7zip-full | ||||
| #              - 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 | ||||
| #        - os: linux | ||||
| #          addons: | ||||
|  | @ -193,32 +218,321 @@ matrix: | |||
| #              - p7zip-full | ||||
| #              - 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 | ||||
| #        - os: osx | ||||
| #          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) | ||||
| #        - os: osx | ||||
| #          osx_image: beta-xcode6.2 | ||||
| #          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) | ||||
| ##        - os: osx | ||||
| ##          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 | ||||
| #        - os: osx | ||||
| #          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) | ||||
| #        - os: osx | ||||
| #          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) | ||||
| #        - os: osx | ||||
| #          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) | ||||
| #        - os: osx | ||||
| #          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) | ||||
|         - os: osx | ||||
|           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) | ||||
| 
 | ||||
| 
 | ||||
| ################################ | ||||
| # 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: | ||||
|       - compiler: clang-3.5 | ||||
|       - compiler: clang-3.6 | ||||
|  | @ -229,12 +543,14 @@ matrix: | |||
|       - compiler: clang-5.0 | ||||
|       - compiler: gcc-8 | ||||
| 
 | ||||
| 
 | ||||
| cache: | ||||
|   apt: true | ||||
|   ccache: true | ||||
|   directories: | ||||
|   - $HOME/srb2_cache | ||||
| 
 | ||||
| 
 | ||||
| addons: | ||||
|   apt: | ||||
|     packages: | ||||
|  | @ -242,23 +558,127 @@ addons: | |||
|     - libpng-dev | ||||
|     - libgl1-mesa-dev | ||||
|     - libgme-dev | ||||
|     - zlib1g-dev | ||||
|     - 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: | ||||
|   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi | ||||
|   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2 sdl2_mixer game-music-emu p7zip; fi | ||||
|   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi | ||||
|   - 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 | ||||
|   - 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 | ||||
|   # Initialize Deployer defaults | ||||
|   - . ./deployer/travis/deployer_defaults.sh | ||||
|   # Initialize Deployer; check if Deployer is enabled | ||||
|   # This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session | ||||
|   - . ./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 | ||||
| 
 | ||||
| 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) | ||||
| # DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string. | ||||
| # Version change is fine. | ||||
| project(SRB2 | ||||
| 	VERSION 2.1.20 | ||||
| 	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 EXE names so the assets CMakeLists can refer to its target | ||||
| set(SRB2_SDL2_EXE_NAME srb2) | ||||
| set(SRB2_WIN_EXE_NAME srb2dd) | ||||
| set(SRB2_SDL2_EXE_NAME srb2 CACHE STRING "Executable binary output name") | ||||
| set(SRB2_WIN_EXE_NAME srb2dd CACHE STRING "Executable binary output name for DirectDraw build") | ||||
| 
 | ||||
| include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) | ||||
| 
 | ||||
|  | @ -116,8 +118,8 @@ if(${CMAKE_SYSTEM} MATCHES "Darwin") | |||
| 	set(CPACK_GENERATOR "DragNDrop") | ||||
| endif() | ||||
| 
 | ||||
| set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2") | ||||
| set(CPACK_PACKAGE_VENDOR "Sonic Team Jr.") | ||||
| set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2" CACHE STRING "Program name for display purposes") | ||||
| set(CPACK_PACKAGE_VENDOR "Sonic Team Jr." CACHE STRING "Vendor name for display purposes") | ||||
| #set(CPACK_PACKAGE_DESCRIPTION_FILE ) | ||||
| set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") | ||||
| set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR}) | ||||
|  |  | |||
							
								
								
									
										11
									
								
								assets/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								assets/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,5 +1,10 @@ | |||
| * | ||||
| *.* | ||||
| *.srb | ||||
| *.pk3 | ||||
| *.dta | ||||
| *.wad | ||||
| *.txt | ||||
| !README.txt | ||||
| !LICENSE.txt | ||||
| !LICENSE-3RD-PARTY.txt | ||||
| !LICENSE-3RD-PARTY.txt | ||||
| !CMakeLists.txt | ||||
| !debian-template/* | ||||
|  |  | |||
|  | @ -1,32 +1,48 @@ | |||
| ## Assets Target Configuration ## | ||||
| 
 | ||||
| # MD5 generation | ||||
| set(SRB2_ASSET_ALL | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/srb2.srb | ||||
| 	#${CMAKE_CURRENT_SOURCE_DIR}/patch.dta | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/patch.kart | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/gfx.kart | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/textures.kart | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/chars.kart | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/maps.kart | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/sounds.kart | ||||
| 	#${CMAKE_CURRENT_SOURCE_DIR}/music.dta | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/music.kart | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/README.txt | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt | ||||
| 	${CMAKE_CURRENT_SOURCE_DIR}/LICENSE-3RD-PARTY.txt | ||||
| # For prepending the current source path, later | ||||
| FUNCTION(PREPEND var prefix) | ||||
|    SET(listVar "") | ||||
|    FOREACH(f ${ARGN}) | ||||
|       LIST(APPEND listVar "${prefix}/${f}") | ||||
|    ENDFOREACH(f) | ||||
|    SET(${var} "${listVar}" PARENT_SCOPE) | ||||
| ENDFUNCTION(PREPEND) | ||||
| 
 | ||||
| set(SRB2_ASSET_REQUIRED | ||||
| "srb2.srb;\ | ||||
| patch.kart;\ | ||||
| gfx.kart;\ | ||||
| textures.kart;\ | ||||
| chars.kart;\ | ||||
| bonuschars.kart;\ | ||||
| maps.kart;\ | ||||
| sounds.kart" | ||||
| 	CACHE STRING "Required asset files for packaging. No spaces between entries!" | ||||
| ) | ||||
| 
 | ||||
| set(SRB2_ASSET_HASHED | ||||
| 	srb2.srb | ||||
| 	#patch.dta | ||||
| 	patch.kart | ||||
| 	gfx.kart | ||||
| 	textures.kart | ||||
| 	chars.kart | ||||
| 	maps.kart | ||||
| set(SRB2_ASSET_DOCS | ||||
| "README.txt;\ | ||||
| history.txt;\ | ||||
| LICENSE.txt;\ | ||||
| LICENSE-3RD-PARTY.txt" | ||||
| 	CACHE STRING "Documentation files; will not fail if they do not exist. Packaged differently from optional assets. No spaces between entries!" | ||||
| ) | ||||
| 
 | ||||
| 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}) | ||||
| 	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) | ||||
|  | @ -34,13 +50,29 @@ endforeach() | |||
| 
 | ||||
| # Installation | ||||
| 
 | ||||
| if(CLANG) | ||||
| if(${CMAKE_SYSTEM} MATCHES Darwin) | ||||
| 	get_target_property(outname SRB2SDL2 OUTPUT_NAME) | ||||
| 	install(FILES ${SRB2_ASSET_ALL} | ||||
| 	install(FILES ${SRB2_ASSET_REQUIRED} | ||||
| 		DESTINATION "${outname}.app/Contents/Resources" | ||||
| 	) | ||||
| 	install(FILES ${SRB2_ASSET_OPTIONAL} | ||||
| 		DESTINATION "${outname}.app/Contents/Resources" | ||||
| 		OPTIONAL | ||||
| 	) | ||||
| 	install(FILES ${SRB2_ASSET_DOCS} | ||||
| 		DESTINATION . | ||||
| 		OPTIONAL | ||||
| 	) | ||||
| else() | ||||
| 	install(FILES ${SRB2_ASSET_ALL} | ||||
| 	install(FILES ${SRB2_ASSET_REQUIRED} | ||||
| 		DESTINATION . | ||||
| 	) | ||||
| 	install(FILES ${SRB2_ASSET_OPTIONAL} | ||||
| 		DESTINATION . | ||||
| 		OPTIONAL | ||||
| 	) | ||||
| 	install(FILES ${SRB2_ASSET_DOCS} | ||||
| 		DESTINATION . | ||||
| 		OPTIONAL | ||||
| 	) | ||||
| endif() | ||||
|  |  | |||
|  | @ -12,9 +12,39 @@ with apt-key add. Thanks! | |||
|  -- 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 | ||||
| 
 | ||||
| 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. | ||||
| 
 | ||||
|     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 | ||||
| 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 | ||||
|        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) | ||||
| Uploading for Launchpad PPA | ||||
| 
 | ||||
| Building the source package is a two-step process: | ||||
| 
 | ||||
|     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 | ||||
| Follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload | ||||
| 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 | ||||
							
								
								
									
										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. | ||||
| 
 | ||||
| Source: srb2-data | ||||
| Source: ${PACKAGE_NAME}-data | ||||
| Section: games | ||||
| Priority: extra | ||||
| Maintainer: Sonic Team Junior <stjr@srb2.org> | ||||
| Maintainer: ${PACKAGE_GROUP_NAME_EMAIL} | ||||
| Build-Depends: debhelper (>= 7.0.50~), | ||||
|  wget | ||||
| Standards-Version: 3.8.4 | ||||
| Homepage: http://www.srb2.org | ||||
| Homepage: ${PACKAGE_WEBSITE} | ||||
| 
 | ||||
| Package: srb2-data | ||||
| Package: ${PACKAGE_NAME}-data | ||||
| Architecture: all | ||||
| Description: A cross-platform 3D Sonic fangame | ||||
|  Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog | ||||
|  | @ -1,18 +1,18 @@ | |||
| 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: | ||||
| 
 | ||||
|     <http://srb2.org> | ||||
|     ${PACKAGE_WEBSITE} | ||||
| 
 | ||||
| Upstream Author(s): | ||||
| 
 | ||||
|     Sonic Team Junior <stjr@srb2.org> | ||||
|     ${PACKAGE_GROUP_NAME_EMAIL} | ||||
| 
 | ||||
| Copyright: | ||||
| 
 | ||||
|     Copyright (C) 1998-2018 Sonic Team Junior | ||||
|     Copyright (C) 1998-2018 by Sonic Team Junior | ||||
| 
 | ||||
| License: | ||||
| 
 | ||||
|  | @ -21,7 +21,7 @@ License: | |||
| The Debian packaging is: | ||||
| 
 | ||||
|     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, | ||||
| 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. | ||||
| #export DH_VERBOSE=1 | ||||
| 
 | ||||
|  | @ -37,9 +47,12 @@ RM	:= rm -rf | |||
| DIR	:= $(shell pwd) | ||||
| 
 | ||||
| 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 := . | ||||
| WGET	:= wget -P $(RESOURCEDIR) -c -nc | ||||
| 
 | ||||
|  | @ -49,18 +62,41 @@ build: | |||
| 	# 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 | ||||
| 	for file in $(DATAFILES); do \ | ||||
| 		if [ ! -f $(RESOURCEDIR)/$$file ]; then \ | ||||
| 			$(WGET) http://alam.srb2.org/SRB2/2.1.21-Final/Resources/$$file; \ | ||||
| 		if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ | ||||
| 			$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \ | ||||
| 		fi; \ | ||||
| 		if [ -f $(RESOURCEDIR)/$$file ]; then \ | ||||
| 			$(INSTALL) $(RESOURCEDIR)/$$file $(DIR)/debian/tmp/$(DATADIR)/$$file; \ | ||||
| 			echo $(RESOURCEDIR)/$$file >> $(DIR)/debian/source/include-binaries; \ | ||||
| 		if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \ | ||||
| 			$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \ | ||||
| 			echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \ | ||||
| 		fi; \ | ||||
| 		if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/$$file ]; then \ | ||||
| 			echo $(DIR)/debian/tmp/$(DATADIR)/$$file not found and could not be downloaded!; \ | ||||
| 		if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \ | ||||
| 			echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \ | ||||
| 			return 1; \ | ||||
| 		fi; \ | ||||
| 	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: | ||||
| 	# 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 | ||||
| 
 | ||||
| --------------- | ||||
| 
 | ||||
| 
 | ||||
| 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 | ||||
| 
 | ||||
| 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. | ||||
| 
 | ||||
|     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 | ||||
| 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] | ||||
|     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! | ||||
| Uploading for Launchpad PPA | ||||
| 
 | ||||
| Building the source package takes just one step: | ||||
| 
 | ||||
|     1. debuild -S (builds the source package for Launchpad) | ||||
| 
 | ||||
| Then follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload | ||||
| Follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload | ||||
| 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 | ||||
							
								
								
									
										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. | ||||
| 
 | ||||
| Source: srb2 | ||||
| Source: ${PACKAGE_NAME} | ||||
| Section: games | ||||
| Priority: extra | ||||
| Maintainer: Sonic Team Junior <stjr@srb2.org> | ||||
| Maintainer: ${PACKAGE_GROUP_NAME_EMAIL} | ||||
| Build-Depends: debhelper (>= 7.0.50~), | ||||
|  libsdl2-dev, | ||||
|  libsdl2-mixer-dev, | ||||
|  libpng12-dev (>= 1.2.7) | libpng-dev, | ||||
|  libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7), | ||||
|  zlib1g-dev, | ||||
|  libgme-dev, | ||||
|  libglu1-dev | libglu-dev, | ||||
|  libosmesa6-dev | libgl-dev, | ||||
|  nasm [i386] | ||||
| Standards-Version: 3.8.4 | ||||
| Homepage: http://www.srb2.org | ||||
| Homepage: ${PACKAGE_WEBSITE} | ||||
| 
 | ||||
| Package: srb2 | ||||
| Package: ${PACKAGE_NAME} | ||||
| 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 | ||||
|  Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog | ||||
|  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. | ||||
| 
 | ||||
| 
 | ||||
| Package: srb2-dbg | ||||
| Package: ${PACKAGE_NAME}-dbg | ||||
| Architecture: any | ||||
| # 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 | ||||
| # 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}, ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), ${PACKAGE_NAME} | ||||
| Description: A cross-platform 3D Sonic fangame | ||||
|  Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog | ||||
|  fangame built using a modified version of the Doom Legacy | ||||
|  | @ -1,18 +1,18 @@ | |||
| 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: | ||||
| 
 | ||||
|     <http://srb2.org> | ||||
|     ${PACKAGE_WEBSITE} | ||||
| 
 | ||||
| Upstream Author(s): | ||||
| 
 | ||||
|     Sonic Team Junior <stjr@srb2.org> | ||||
|     ${PACKAGE_GROUP_NAME_EMAIL} | ||||
| 
 | ||||
| Copyright: | ||||
| 
 | ||||
|     Copyright (C) 1998-2018 Sonic Team Junior | ||||
|     Copyright (C) 1998-2018 by Sonic Team Junior | ||||
| 
 | ||||
| License: | ||||
| 
 | ||||
|  | @ -21,7 +21,7 @@ License: | |||
| The Debian packaging is: | ||||
| 
 | ||||
|     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, | ||||
| 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. | ||||
| #export DH_VERBOSE=1 | ||||
| 
 | ||||
|  | @ -50,15 +60,16 @@ DIR	:= $(shell pwd) | |||
| 
 | ||||
| # FIXME: hate hate hate head/tail hack :( | ||||
| CONTROLF = $(DIR)/debian/control | ||||
| PACKAGE  = srb2 | ||||
| DBGPKG   = $(PACKAGE)-dbg | ||||
| TITLE	= Sonic Robo Blast 2 | ||||
| PACKAGE  = ${PACKAGE_NAME} | ||||
| DBGPKG   = ${PACKAGE}-dbg | ||||
| TITLE	= ${PROGRAM_NAME} | ||||
| SECTION = Games/Action | ||||
| EXENAME = srb2 | ||||
| EXENAME = ${PROGRAM_FILENAME} | ||||
| DBGNAME	= debug/$(EXENAME) | ||||
| 
 | ||||
| PKGDIR	= usr/games/SRB2 | ||||
| PKGDIR	= $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///') | ||||
| DBGDIR	= usr/lib/debug/$(PKGDIR) | ||||
| LINKDIR = $(shell echo "${PACKAGE_LINK_PATH}" | sed -e 's/^\///') | ||||
| PIXMAPS_DIR = usr/share/pixmaps | ||||
| DESKTOP_DIR = usr/share/applications | ||||
| 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)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE) | ||||
| 	# Install desktop file and banner image | ||||
| 	$(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps | ||||
| 	$(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications | ||||
| 	$(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps/${PROGRAM_FILENAME}.png | ||||
| 	$(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications/${PROGRAM_FILENAME}.desktop | ||||
| 	# add compiled binaries to 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/*.dta" | ||||
| tar-ignore = "assets/*.wad" | ||||
| tar-ignore = "assets/debian/srb2-data/*" | ||||
| tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*" | ||||
| tar-ignore = "assets/debian/tmp/*" | ||||
| tar-ignore = "*.obj" | ||||
| 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} | ||||
| 			${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() | ||||
| 		target_link_libraries(SRB2SDL2 PRIVATE | ||||
| 			${SDL2_LIBRARIES} | ||||
|  | @ -334,10 +334,19 @@ if(${SDL2_FOUND}) | |||
| 
 | ||||
| 
 | ||||
| 	# 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) | ||||
| 		install(CODE " | ||||
| 			include(BundleUtilities) | ||||
| 			fixup_bundle(\"${CMAKE_INSTALL_PREFIX}/Sonic Robo Blast 2.app\" | ||||
| 			fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${CPACK_PACKAGE_DESCRIPTION_SUMMARY}.app\" | ||||
| 				\"\" | ||||
| 				/Library/Frameworks | ||||
| 			)" | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 mazmazz
						mazmazz