diff options
Diffstat (limited to 'setup/package.sh')
-rwxr-xr-x | setup/package.sh | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/setup/package.sh b/setup/package.sh index e5f976b79..f8ec927eb 100755 --- a/setup/package.sh +++ b/setup/package.sh @@ -15,6 +15,7 @@ usage () { echo "Available platforms:" echo " * linux-64" echo " * linux-arm" + echo " * linux-arm64" echo " * windows-64" echo " * other" exit 1 @@ -61,17 +62,20 @@ fi if [ $PLATFORM = "all" -o $PLATFORM = "windows-64" ]; then check_requirement "Inno Extractor" "which innoextract" "Missing innoextract binary" check_requirement "Inno Setup" "ls i*setup-*.exe" "Missing Inno Setup (http://www.jrsoftware.org/isdl.php)" - check_requirement "Windows 64 Java" "ls java-*.windows.ojdkbuild.x86_64.zip" "Missing Windows 64 Java (https://github.com/ojdkbuild/ojdkbuild)" + check_requirement "Windows 64 Java" "ls OpenJDK*64_windows*.zip" "Missing Windows 64 JDK (https://adoptium.net/)" check_requirement "Wine" "which wine" "Missing wine binary" fi -if [ $PLATFORM = "all" -o $PLATFORM = "linux-64" -o $PLATFORM = "linux-arm" ]; then +if [ $PLATFORM = "all" -o $PLATFORM = "linux-64" -o $PLATFORM = "linux-arm" -o $PLATFORM = "linux-arm64" ]; then check_requirement "Makeself" "which makeself" "Missing makeself binary" fi if [ $PLATFORM = "all" -o $PLATFORM = "linux-64" ]; then - check_requirement "Linux 64 Java" "ls jdk-*-linux-x64.zip" "Missing Linux 64 Java (https://github.com/ojdkbuild/contrib_jdk11u-ci/releases)" + check_requirement "Linux 64 Java" "ls OpenJDK*x64_linux*.tar.gz" "Missing Linux 64 JDK (https://adoptium.net/)" fi if [ $PLATFORM = "all" -o $PLATFORM = "linux-arm" ]; then - check_requirement "Linux ARM Java" "ls jdk-*-linux-armhf.zip" "Missing Linux ARM Java (https://github.com/ojdkbuild/contrib_jdk11u-aarch32-ci/releases)" + check_requirement "Linux ARM Java" "ls OpenJDK*arm_linux*.tar.gz" "Missing Linux ARM JDK (https://adoptium.net/)" +fi +if [ $PLATFORM = "all" -o $PLATFORM = "linux-arm64" ]; then + check_requirement "Linux ARM 64 Java" "ls OpenJDK*aarch64_linux*.tar.gz" "Missing Linux ARM 64 JDK (https://adoptium.net/)" fi if [ $PREREQ = false ]; then info "Missing build requirements, aborting..." @@ -81,13 +85,14 @@ else fi prepare () { - mkdir -p out/{conf,data,lib,logs,web,schema,templates} + mkdir -p out/{conf,data,lib,logs,legacy,modern,schema,templates} cp ../target/tracker-server.jar out cp ../target/lib/* out/lib cp ../schema/* out/schema cp -r ../templates/* out/templates - cp -r ../traccar-web/web/* out/web + cp -r ../traccar-web/web/* out/legacy + cp -r ../traccar-web/modern/build/* out/modern cp default.xml out/conf cp traccar.xml out/conf @@ -118,9 +123,9 @@ package_other () { package_windows () { info "Building Windows 64 installer" - unzip -q -o java-*.windows.ojdkbuild.x86_64.zip - jlink --module-path java-*.windows.ojdkbuild.x86_64/jmods --add-modules java.se,jdk.charsets,jdk.crypto.ec --output out/jre - rm -rf java-*.windows.ojdkbuild.x86_64 + unzip -q OpenJDK*64_windows*.zip + jlink --module-path jdk-*/jmods --add-modules java.se,jdk.charsets,jdk.crypto.ec,jdk.unsupported --output out/jre + rm -rf jdk-* wine app/ISCC.exe traccar.iss >/dev/null rm -rf out/jre zip -q -j traccar-windows-64-$VERSION.zip Output/traccar-setup.exe README.txt @@ -132,13 +137,13 @@ package_linux () { cp setup.sh out cp traccar.service out - unzip -q -o jdk-*-linux-$1.zip - jlink --module-path jdk-*-linux-$1/jmods --add-modules java.se,jdk.charsets,jdk.crypto.ec --output out/jre - rm -rf jdk-*-linux-$1 + tar -xf OpenJDK*$2_linux*.tar.gz + jlink --module-path jdk-*/jmods --add-modules java.se,jdk.charsets,jdk.crypto.ec,jdk.unsupported --output out/jre + rm -rf jdk-* makeself --needroot --quiet --notemp out traccar.run "traccar" ./setup.sh rm -rf out/jre - zip -q -j traccar-linux-$2-$VERSION.zip traccar.run README.txt + zip -q -j traccar-linux-$1-$VERSION.zip traccar.run README.txt rm traccar.run rm out/setup.sh @@ -147,22 +152,29 @@ package_linux () { package_linux_64 () { info "Building Linux 64 installer" - package_linux x64 64 + package_linux 64 x64 ok "Created Linux 64 installer" } package_linux_arm () { info "Building Linux ARM installer" - package_linux armhf arm + package_linux arm arm ok "Created Linux ARM installer" } +package_linux_arm64 () { + info "Building Linux ARM 64 installer" + package_linux arm64 aarch64 + ok "Created Linux ARM 64 installer" +} + prepare case $PLATFORM in all) package_linux_64 package_linux_arm + package_linux_arm64 package_windows package_other ;; @@ -175,6 +187,10 @@ case $PLATFORM in package_linux_arm ;; + linux-arm64) + package_linux_arm64 + ;; + windows-64) package_windows ;; |