Revamp Packaging
This commit is contained in:
parent
5cf4d7f915
commit
e5fc2a61aa
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,6 +1,6 @@
|
|||||||
/out
|
out
|
||||||
/debian/tmp
|
debian/tmp
|
||||||
/.vscode
|
.vscode
|
||||||
/build
|
build
|
||||||
/CMakeLists.txt.user
|
CMakeLists.txt.user
|
||||||
*.autosave
|
*.autosave
|
||||||
|
@ -34,7 +34,7 @@ endif()
|
|||||||
|
|
||||||
# Setup ARM Cross Compilation
|
# Setup ARM Cross Compilation
|
||||||
if(USE_ARM32_TOOLCHAIN)
|
if(USE_ARM32_TOOLCHAIN)
|
||||||
include(cmake/arm-toolchain.cmake)
|
include(cmake/armhf-toolchain.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Utility Functions
|
# Utility Functions
|
||||||
@ -77,6 +77,9 @@ if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|||||||
add_link_options("-fuse-ld=lld")
|
add_link_options("-fuse-ld=lld")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# PIC
|
||||||
|
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
|
||||||
|
|
||||||
# Buld LibPNG + ZLib + Download Minecraft: Pi Edition
|
# Buld LibPNG + ZLib + Download Minecraft: Pi Edition
|
||||||
if(BUILD_ARM_COMPONENTS)
|
if(BUILD_ARM_COMPONENTS)
|
||||||
add_subdirectory(dependencies)
|
add_subdirectory(dependencies)
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
# Compile For x86_64
|
# Compile For x86_64
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
||||||
if(NOT HOST_ARCHITECTURE STREQUAL "x86_64")
|
# Use x86_64 Cross-Compiler
|
||||||
# Use x86_64 Cross-Compiler
|
setup_toolchain("x86_64-linux-gnu")
|
||||||
setup_toolchain("x86_64-linux-gnu")
|
# Details
|
||||||
endif()
|
|
||||||
set(CMAKE_SYSTEM_NAME "Linux")
|
set(CMAKE_SYSTEM_NAME "Linux")
|
||||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
@ -1,11 +0,0 @@
|
|||||||
# Compile For ARM
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
|
||||||
if(HOST_ARCHITECTURE STREQUAL "aarch64_be" OR HOST_ARCHITECTURE STREQUAL "aarch64" OR HOST_ARCHITECTURE STREQUAL "armv8b" OR HOST_ARCHITECTURE STREQUAL "armv8l")
|
|
||||||
# Force 32-Bit Compile
|
|
||||||
add_compile_options("-m32")
|
|
||||||
elseif((NOT HOST_ARCHITECTURE STREQUAL "arm") AND (NOT HOST_ARCHITECTURE STREQUAL "armv7l"))
|
|
||||||
# Use ARM Cross-Compiler
|
|
||||||
setup_toolchain("arm-linux-gnueabihf")
|
|
||||||
endif()
|
|
||||||
set(CMAKE_SYSTEM_NAME "Linux")
|
|
||||||
set(CMAKE_SYSTEM_PROCESSOR "arm")
|
|
@ -1,8 +1,7 @@
|
|||||||
# Compile For ARM64
|
# Compile For ARM64
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
||||||
if(NOT (HOST_ARCHITECTURE STREQUAL "aarch64_be" OR HOST_ARCHITECTURE STREQUAL "aarch64" OR HOST_ARCHITECTURE STREQUAL "armv8b" OR HOST_ARCHITECTURE STREQUAL "armv8l"))
|
# Use ARM64 Cross-Compiler
|
||||||
# Use ARM64 Cross-Compiler
|
setup_toolchain("aarch64-linux-gnu")
|
||||||
setup_toolchain("aarch64-linux-gnu")
|
# Details
|
||||||
endif()
|
|
||||||
set(CMAKE_SYSTEM_NAME "Linux")
|
set(CMAKE_SYSTEM_NAME "Linux")
|
||||||
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
|
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
|
||||||
|
7
cmake/armhf-toolchain.cmake
Normal file
7
cmake/armhf-toolchain.cmake
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Compile For ARM
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
||||||
|
# Use ARM Cross-Compiler
|
||||||
|
setup_toolchain("arm-linux-gnueabihf")
|
||||||
|
# Details
|
||||||
|
set(CMAKE_SYSTEM_NAME "Linux")
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR "arm")
|
@ -2,19 +2,103 @@
|
|||||||
find_program(UNAME uname /bin /usr/bin /usr/local/bin REQUIRED)
|
find_program(UNAME uname /bin /usr/bin /usr/local/bin REQUIRED)
|
||||||
execute_process(COMMAND "${UNAME}" "-m" OUTPUT_VARIABLE HOST_ARCHITECTURE ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
execute_process(COMMAND "${UNAME}" "-m" OUTPUT_VARIABLE HOST_ARCHITECTURE ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
# Pick GCC Version
|
# Get Include Directories
|
||||||
macro(pick_gcc_version gcc_root gcc_version)
|
function(get_include_dirs target compiler result)
|
||||||
file(GLOB children RELATIVE "${gcc_root}" "${gcc_root}/*")
|
# Get Tool Name
|
||||||
set("${gcc_version}" "")
|
set(tool "cc1")
|
||||||
foreach(child IN LISTS children)
|
if(compiler MATCHES "^.*g\\+\\+$")
|
||||||
if(IS_DIRECTORY "${gcc_root}/${child}" AND ("${${gcc_version}}" STREQUAL "" OR "${child}" GREATER_EQUAL "${${gcc_version}}"))
|
set(tool "cc1plus")
|
||||||
set("${gcc_version}" "${child}")
|
endif()
|
||||||
|
|
||||||
|
# Get Tool Path
|
||||||
|
execute_process(
|
||||||
|
COMMAND "${compiler}" "-print-prog-name=${tool}"
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_VARIABLE tool
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
# Run Tool To Get Include Path
|
||||||
|
set(tool_output "")
|
||||||
|
execute_process(
|
||||||
|
COMMAND "${tool}" "-quiet" "-v" "-imultiarch" "${target}"
|
||||||
|
OUTPUT_QUIET
|
||||||
|
ERROR_VARIABLE tool_output
|
||||||
|
ERROR_STRIP_TRAILING_WHITESPACE
|
||||||
|
INPUT_FILE "/dev/null"
|
||||||
|
)
|
||||||
|
string(REPLACE "\n" ";" tool_output "${tool_output}")
|
||||||
|
|
||||||
|
# Loop
|
||||||
|
set(parsing_include_section FALSE)
|
||||||
|
foreach(line IN LISTS tool_output)
|
||||||
|
# Check Include Section Status
|
||||||
|
if(parsing_include_section)
|
||||||
|
# Check If Include Section Is Over
|
||||||
|
if(line MATCHES "^End of search list.$")
|
||||||
|
# Starting Include Section
|
||||||
|
set(parsing_include_section FALSE)
|
||||||
|
break()
|
||||||
|
else()
|
||||||
|
# Parsing Include Section
|
||||||
|
if(line MATCHES "^ .*$")
|
||||||
|
# Strip Line
|
||||||
|
string(STRIP "${line}" line)
|
||||||
|
# Add To List
|
||||||
|
list(APPEND "${result}" "${line}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
# Check If Include Section Is Starting
|
||||||
|
if(line MATCHES "^#include <\\.\\.\\.> search starts here:$")
|
||||||
|
# Starting Include Section
|
||||||
|
set(parsing_include_section TRUE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
if("${${gcc_version}}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Unable To Pick GCC Version")
|
# Return
|
||||||
|
set("${result}" "${${result}}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Get GCC Prefix
|
||||||
|
function(get_gcc_prefix target result)
|
||||||
|
# Get Default Target
|
||||||
|
set("${result}" "" PARENT_SCOPE)
|
||||||
|
set(output "")
|
||||||
|
execute_process(
|
||||||
|
COMMAND "gcc" "-dumpmachine"
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_VARIABLE output
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
# Check
|
||||||
|
if(NOT output STREQUAL target)
|
||||||
|
set("${result}" "${target}-" PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endfunction()
|
||||||
|
|
||||||
|
# Setup Include Directories
|
||||||
|
function(setup_include_dirs compiler target result)
|
||||||
|
# Get Full Compiler
|
||||||
|
set(prefix "")
|
||||||
|
get_gcc_prefix("${target}" prefix)
|
||||||
|
set(full_compiler "${prefix}${compiler}")
|
||||||
|
|
||||||
|
# Get Include Directories
|
||||||
|
set(include_dirs "")
|
||||||
|
get_include_dirs("${target}" "${full_compiler}" include_dirs)
|
||||||
|
|
||||||
|
# Loop
|
||||||
|
set(flags "")
|
||||||
|
foreach(include_dir IN LISTS include_dirs)
|
||||||
|
set(flags "${flags} -isystem ${include_dir}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Return
|
||||||
|
set("${result}" "${${result}} ${flags}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Setup Toolchain
|
# Setup Toolchain
|
||||||
macro(setup_toolchain target)
|
macro(setup_toolchain target)
|
||||||
@ -24,20 +108,17 @@ macro(setup_toolchain target)
|
|||||||
set(CMAKE_CXX_COMPILER "clang++")
|
set(CMAKE_CXX_COMPILER "clang++")
|
||||||
set(CMAKE_CXX_COMPILER_TARGET "${target}")
|
set(CMAKE_CXX_COMPILER_TARGET "${target}")
|
||||||
set(CMAKE_FIND_ROOT_PATH "/usr/${target}" "/usr/lib/${target}")
|
set(CMAKE_FIND_ROOT_PATH "/usr/${target}" "/usr/lib/${target}")
|
||||||
# Include Directories
|
# Flags
|
||||||
pick_gcc_version("/usr/lib/gcc-cross/${target}" GCC_VERSION)
|
|
||||||
string(CONCAT NEW_FLAGS
|
string(CONCAT NEW_FLAGS
|
||||||
"-nostdinc -nostdinc++ -Wno-unused-command-line-argument "
|
"-nostdinc "
|
||||||
"-isystem /usr/${target}/include/c++/${GCC_VERSION} "
|
"-nostdinc++ "
|
||||||
"-isystem /usr/${target}/include/c++/${GCC_VERSION}/${target} "
|
"-Wno-unused-command-line-argument"
|
||||||
"-isystem /usr/${target}/include/c++/${GCC_VERSION}/backward "
|
|
||||||
"-isystem /usr/lib/gcc-cross/${target}/${GCC_VERSION}/include "
|
|
||||||
"-isystem /usr/lib/gcc-cross/${target}/${GCC_VERSION}/include-fixed "
|
|
||||||
"-isystem /usr/${target}/include "
|
|
||||||
"-isystem /usr/include"
|
|
||||||
)
|
)
|
||||||
set(CMAKE_C_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} ${NEW_FLAGS}")
|
set(CMAKE_C_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} ${NEW_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} ${NEW_FLAGS}")
|
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} ${NEW_FLAGS}")
|
||||||
|
# Include Directories
|
||||||
|
setup_include_dirs("gcc" "${target}" CMAKE_C_FLAGS_INIT)
|
||||||
|
setup_include_dirs("g++" "${target}" CMAKE_CXX_FLAGS_INIT)
|
||||||
# Extra
|
# Extra
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
7
cmake/i386-toolchain.cmake
Normal file
7
cmake/i386-toolchain.cmake
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Compile For i386
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/base-toolchain.cmake")
|
||||||
|
# Use i386 Cross-Compiler
|
||||||
|
setup_toolchain("i386-linux-gnu")
|
||||||
|
# Details
|
||||||
|
set(CMAKE_SYSTEM_NAME "Linux")
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR "i386")
|
6
debian/.gitignore
vendored
Normal file
6
debian/.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
*
|
||||||
|
!control
|
||||||
|
!copyright
|
||||||
|
!rukes
|
||||||
|
!source
|
||||||
|
!.gitignore
|
7
debian/client-arm
vendored
7
debian/client-arm
vendored
@ -1,7 +0,0 @@
|
|||||||
Package: minecraft-pi-reborn-client
|
|
||||||
Version: ${VERSION}
|
|
||||||
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|
||||||
Description: Fun with Blocks
|
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
|
||||||
Architecture: armhf
|
|
||||||
Depends: libc6, libstdc++6, zenity, libgles1, libegl1, libglfw3 | libglfw3-wayland, libfreeimage3, libopenal1
|
|
7
debian/client-arm64
vendored
7
debian/client-arm64
vendored
@ -1,7 +0,0 @@
|
|||||||
Package: minecraft-pi-reborn-client
|
|
||||||
Version: ${VERSION}
|
|
||||||
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|
||||||
Description: Fun with Blocks
|
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
|
||||||
Architecture: arm64
|
|
||||||
Depends: libc6, libstdc++6, libc6:armhf, libstdc++6:armhf, zenity, libgles1, libegl1, libglfw3 | libglfw3-wayland, libfreeimage3, libopenal1
|
|
7
debian/client-x86_64
vendored
7
debian/client-x86_64
vendored
@ -1,7 +0,0 @@
|
|||||||
Package: minecraft-pi-reborn-client
|
|
||||||
Version: ${VERSION}
|
|
||||||
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|
||||||
Description: Fun with Blocks
|
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
|
||||||
Architecture: amd64
|
|
||||||
Depends: libc6, libstdc++6, libc6-armhf-cross, libstdc++6-armhf-cross, zenity, libgles1, libegl1, libglfw3 | libglfw3-wayland, libfreeimage3, libopenal1, qemu-user-static
|
|
21
debian/control
vendored
Normal file
21
debian/control
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Source: minecraft-pi-reborn
|
||||||
|
Section: games
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
||||||
|
Build-Depends: debhelper-compat (= 12), clang:native, lld:native, cmake, make:native, libglfw3, libglfw3-dev, libfreeimage3, libfreeimage-dev:native, libopenal1, libopenal-dev, crossbuild-essential-armhf
|
||||||
|
Standards-Version: 4.4.1
|
||||||
|
Homepage: https://www.minecraft.net/en-us/edition/pi
|
||||||
|
Vcs-Browser: https://gitea.thebrokenrail.com/TheBrokenRail/minecraft-pi-reborn
|
||||||
|
Vcs-Git: https://gitea.thebrokenrail.com/TheBrokenRail/minecraft-pi-reborn.git
|
||||||
|
|
||||||
|
Package: minecraft-pi-reborn-client
|
||||||
|
Architecture: amd64 i386 arm64 armhf
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends: libc6, libstdc++6, libc6-armhf-cross [!arm64 !armhf], libstdc++6-armhf-cross [!arm64 !armhf], zenity, libgles1, libegl1, libglfw3 | libglfw3-wayland, libfreeimage3, libopenal1, qemu-user-static [!arm64 !armhf]
|
||||||
|
Description: Fun with Blocks
|
||||||
|
|
||||||
|
Package: minecraft-pi-reborn-server
|
||||||
|
Architecture: amd64 i386 arm64 armhf
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Depends: libc6, libstdc++6, libc6-armhf-cross [!arm64 !armhf], libstdc++6-armhf-cross [!arm64 !armhf], qemu-user-static [!arm64 !armhf]
|
||||||
|
Description: Fun with Blocks (Dedicated Server)
|
21
debian/copyright
vendored
Normal file
21
debian/copyright
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 TheBrokenRail
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
7
debian/server-arm
vendored
7
debian/server-arm
vendored
@ -1,7 +0,0 @@
|
|||||||
Package: minecraft-pi-reborn-server
|
|
||||||
Version: ${VERSION}
|
|
||||||
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|
||||||
Description: Fun with Blocks
|
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
|
||||||
Architecture: armhf
|
|
||||||
Depends: libc6, libstdc++6
|
|
7
debian/server-arm64
vendored
7
debian/server-arm64
vendored
@ -1,7 +0,0 @@
|
|||||||
Package: minecraft-pi-reborn-server
|
|
||||||
Version: ${VERSION}
|
|
||||||
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|
||||||
Description: Fun with Blocks
|
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
|
||||||
Architecture: arm64
|
|
||||||
Depends: libc6, libstdc++6, libc6:armhf, libstdc++6:armhf
|
|
7
debian/server-x86_64
vendored
7
debian/server-x86_64
vendored
@ -1,7 +0,0 @@
|
|||||||
Package: minecraft-pi-reborn-server
|
|
||||||
Version: ${VERSION}
|
|
||||||
Maintainer: TheBrokenRail <connor24nolan@live.com>
|
|
||||||
Description: Fun with Blocks
|
|
||||||
Homepage: https://www.minecraft.net/en-us/edition/pi
|
|
||||||
Architecture: amd64
|
|
||||||
Depends: libc6, libstdc++6, libc6-armhf-cross, libstdc++6-armhf-cross, qemu-user-static
|
|
@ -1,14 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Clean Prefix
|
|
||||||
rm -rf out
|
|
||||||
|
|
||||||
# Build
|
|
||||||
./scripts/build.sh client x86_64
|
|
||||||
./scripts/build.sh server x86_64
|
|
||||||
./scripts/build.sh client arm64
|
|
||||||
./scripts/build.sh server arm64
|
|
||||||
./scripts/build.sh client arm
|
|
||||||
./scripts/build.sh server arm
|
|
@ -48,7 +48,7 @@ build() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Build For ARM
|
# Build For ARM
|
||||||
arm_build() {
|
armhf_build() {
|
||||||
# Create Build Dir
|
# Create Build Dir
|
||||||
rm -rf "build/$1-arm"
|
rm -rf "build/$1-arm"
|
||||||
mkdir -p "build/$1-arm"
|
mkdir -p "build/$1-arm"
|
||||||
@ -81,8 +81,8 @@ if [ "$1" != "client" ] && [ "$1" != "server" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
if [ "$2" = "arm" ]; then
|
if [ "$2" = "armhf" ]; then
|
||||||
arm_build "$1"
|
armhf_build "$1"
|
||||||
else
|
else
|
||||||
build "$1" "$2"
|
build "$1" "$2"
|
||||||
fi
|
fi
|
||||||
|
@ -14,13 +14,12 @@ echo '==== Installing Dependencies ===='
|
|||||||
./scripts/install-dependencies.sh
|
./scripts/install-dependencies.sh
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
echo '==== Building ===='
|
echo '==== Building & Packaging ===='
|
||||||
./scripts/build-all.sh
|
rm -rf out build
|
||||||
|
./scripts/package.sh amd64
|
||||||
|
./scripts/package.sh arm64
|
||||||
|
./scripts/package.sh armhf
|
||||||
|
|
||||||
# Test
|
# Test
|
||||||
echo '==== Testing ===='
|
echo '==== Testing ===='
|
||||||
./scripts/test.sh
|
./scripts/test.sh
|
||||||
|
|
||||||
# Package
|
|
||||||
echo '==== Packaging ===='
|
|
||||||
./scripts/package.sh
|
|
||||||
|
@ -20,6 +20,7 @@ sudo apt-get dist-upgrade -y
|
|||||||
|
|
||||||
# Install
|
# Install
|
||||||
sudo apt-get install --no-install-recommends -y \
|
sudo apt-get install --no-install-recommends -y \
|
||||||
|
build-essential \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
git \
|
git \
|
||||||
@ -27,6 +28,10 @@ sudo apt-get install --no-install-recommends -y \
|
|||||||
lld \
|
lld \
|
||||||
cmake \
|
cmake \
|
||||||
make \
|
make \
|
||||||
|
dpkg-dev \
|
||||||
|
debhelper \
|
||||||
|
devscripts \
|
||||||
|
libdistro-info-perl \
|
||||||
libglfw3 libglfw3-dev \
|
libglfw3 libglfw3-dev \
|
||||||
libfreeimage3 libfreeimage-dev \
|
libfreeimage3 libfreeimage-dev \
|
||||||
crossbuild-essential-armhf \
|
crossbuild-essential-armhf \
|
||||||
|
@ -3,35 +3,18 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Prepare
|
# Prepare
|
||||||
|
rm -f debian/changelog
|
||||||
|
PACKAGE='minecraft-pi-reborn'
|
||||||
VERSION="$(cat VERSION)"
|
VERSION="$(cat VERSION)"
|
||||||
|
DISTRO="$(lsb_release -cs)"
|
||||||
|
EDITOR='true' NAME='TheBrokenRail' EMAIL='connor24nolan@live.com' dch -u low -v "${VERSION}" --create --distribution "${DISTRO}" --package "${PACKAGE}" "Release ${VERSION}"
|
||||||
|
|
||||||
# Common
|
# Custom Architecture
|
||||||
package() {
|
ARCH="$(dpkg-architecture -qDEB_BUILD_ARCH)"
|
||||||
local dir="out/$1"
|
if [ -z "$1" ]; then
|
||||||
|
ARCH="$1"
|
||||||
# Create DEBIAN Dir
|
fi
|
||||||
rm -rf "${dir}/DEBIAN"
|
|
||||||
mkdir -p "${dir}/DEBIAN"
|
|
||||||
cp "debian/$1" "${dir}/DEBIAN/control"
|
|
||||||
|
|
||||||
# Format DEBIAN/control
|
|
||||||
sed -i "s/\${VERSION}/${VERSION}/g" "${dir}/DEBIAN/control"
|
|
||||||
|
|
||||||
# Fix Permissions On Jenkins
|
|
||||||
chmod -R g-s "${dir}"
|
|
||||||
|
|
||||||
# Package
|
|
||||||
dpkg-deb --root-owner-group --build "${dir}" out
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find And Package
|
# Build
|
||||||
for dir in out/*; do
|
export DEB_CUSTOM_OUTPUT_DIR='out'
|
||||||
# Check If Directory Exists
|
debuild --no-lintian -a"${ARCH}" -us -uc --buildinfo-option=-u"${DEB_CUSTOM_OUTPUT_DIR}" --changes-option=-u"${DEB_CUSTOM_OUTPUT_DIR}" -b
|
||||||
if [ -d "${dir}" ]; then
|
|
||||||
# Check If Debian Package Exists
|
|
||||||
pkg="$(basename ${dir})"
|
|
||||||
if [ -f "debian/${pkg}" ]; then
|
|
||||||
package "${pkg}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Add minecraft-pi-reborn-server To PATH
|
# Add minecraft-pi-reborn-server To PATH
|
||||||
export PATH="$(pwd)/out/server-x86_64/usr/bin:${PATH}"
|
export PATH="$(pwd)/out/server-$(dpkg-architecture -qDEB_HOST_ARCH)/usr/bin:${PATH}"
|
||||||
|
|
||||||
# Create Test Directory
|
# Create Test Directory
|
||||||
rm -rf build/test
|
rm -rf build/test
|
||||||
|
Loading…
Reference in New Issue
Block a user