From adc83d3a49704dabe0315a6d2a457d76e818ae4e Mon Sep 17 00:00:00 2001 From: Quentin PARIS Date: Sat, 1 Jun 2019 12:54:32 +0200 Subject: [PATCH 1/5] Package creation fix --- .../src/scripts/phoenicis-create-package.sh | 104 ++++++++++++++++++ phoenicis-tools/pom.xml | 5 + 2 files changed, 109 insertions(+) create mode 100755 phoenicis-dist/src/scripts/phoenicis-create-package.sh diff --git a/phoenicis-dist/src/scripts/phoenicis-create-package.sh b/phoenicis-dist/src/scripts/phoenicis-create-package.sh new file mode 100755 index 00000000000..6d3b149a579 --- /dev/null +++ b/phoenicis-dist/src/scripts/phoenicis-create-package.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +## Dependencies +# Linux: +# - fakeroot +# + +VERSION="$1" + +if [ "$VERSION" = "" ]; then + echo "Warning: Version not specified. Reading from pom.xml" + VERSION="$(cat ../../pom.xml|grep -4 ''|grep ''|awk -F'[<>]' '//{print $3}')" + echo "Using $VERSION" +fi + +SCRIPT_PATH="$(dirname "$0")" +cd "$SCRIPT_PATH" +SCRIPT_PATH="$PWD" + +[ "$JAVA_HOME" = "" ] && echo "Please set JAVA_HOME" && exit 0 + +PHOENICIS_OPERATING_SYSTEM="$(uname)" + +if [ "$PHOENICIS_OPERATING_SYSTEM" == "Darwin" ]; then + PHOENICIS_APPTITLE="Phoenicis PlayOnMac" + JPACKAGER_OS="osx" +fi + +if [ "$PHOENICIS_OPERATING_SYSTEM" == "Linux" ]; then + PHOENICIS_APPTITLE="Phoenicis PlayOnLinux" + JPACKAGER_OS="linux" +fi + +PHOENICIS_TARGET="$SCRIPT_PATH/../../target" +PHOENICIS_JPACKAGER="$SCRIPT_PATH/../../target/jpackager" +PHOENICIS_RESOURCES="$SCRIPT_PATH/../resources" +PHOENICIS_MODULES="jdk.crypto.ec,java.base,javafx.base,javafx.web,javafx.media,javafx.graphics,javafx.controls,java.naming,java.sql,java.scripting,jdk.scripting.nashorn,jdk.internal.vm.ci" +PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --upgrade-module-path=../Java/compiler.jar" +PHOENICIS_JPACKAGER_ARGUMENTS=("-i" "$PHOENICIS_TARGET/lib" "--main-jar" "phoenicis-javafx-$VERSION.jar" "-n" "$PHOENICIS_APPTITLE" "--output" "$PHOENICIS_TARGET/packages/" "--add-modules" "$PHOENICIS_MODULES" "-p" "$PHOENICIS_TARGET/lib/" "--version" "$VERSION" "--jvm-args" "$PHOENICIS_RUNTIME_OPTIONS") + +_download_jpackager() { + mkdir -p "$PHOENICIS_JPACKAGER" + cd "$PHOENICIS_JPACKAGER" + wget http://download2.gluonhq.com/jpackager/11/jdk.packager-$JPACKAGER_OS.zip + unzip jdk.packager-$JPACKAGER_OS.zip +} + + +jpackager() { + if [ ! -e "$PHOENICIS_JPACKAGER/jpackager" ]; then + _download_jpackager + fi + + "$PHOENICIS_JPACKAGER/jpackager" "$@" +} + +cd "$PHOENICIS_TARGET" + +if [ "$PHOENICIS_OPERATING_SYSTEM" == "Darwin" ]; then + jpackager create-image --icon "$PHOENICIS_RESOURCES/Phoenicis PlayOnMac.icns" "${PHOENICIS_JPACKAGER_ARGUMENTS[@]}" +fi + +if [ "$PHOENICIS_OPERATING_SYSTEM" == "Linux" ]; then + jpackager create-image "${PHOENICIS_JPACKAGER_ARGUMENTS[@]}" --linux-bundle-name "phoenicis-playonlinux" + + packageName="Phoenicis_$VERSION" + cd "$PHOENICIS_TARGET" + rmdir packages/PhoenicisPlayOnLinux/ + rm -rf "packages/phoenicis" 2> /dev/null + mv packages/Phoenicis\ PlayOnLinux/ packages/phoenicis + rm -rf "$packageName" 2> /dev/null + mkdir -p "$packageName/DEBIAN/" + + cat << EOF > "$packageName/DEBIAN/control" +Package: phoenicis-playonlinux +Version: $VERSION +Section: misc +Priority: optional +Architecture: all +Depends: unzip, wget, xterm | x-terminal-emulator, python, imagemagick, cabextract, icoutils, p7zip-full, curl +Maintainer: PlayOnLinux Packaging +Description: This program is a front-end for wine. + It permits you to install Windows Games and softwares + on Linux. It allows you to manage differents virtual hard drive, + and several wine versions. + Copyright 2011-2019 PlayOnLinux team +EOF + + mkdir -p $packageName/usr/share/applications + mkdir -p $packageName/usr/share/pixmaps + mkdir -p $packageName/usr/bin + + cp -a packages/phoenicis $packageName/usr/share/ + cp -a "$SCRIPT_PATH/../launchers/phoenicis" $packageName/usr/bin/phoenicis + chmod +x $packageName/usr/bin/phoenicis + + cp "$SCRIPT_PATH/../resources/Phoenicis.desktop" "$packageName/usr/share/applications" + cp "$SCRIPT_PATH/../resources/phoenicis.png" "$packageName/usr/share/pixmaps" + cp "$SCRIPT_PATH/../resources/phoenicis-16.png" "$packageName/usr/share/pixmaps" + cp "$SCRIPT_PATH/../resources/phoenicis-32.png" "$packageName/usr/share/pixmaps" + + fakeroot dpkg-deb --build "$packageName" + rm -rf deb +fi diff --git a/phoenicis-tools/pom.xml b/phoenicis-tools/pom.xml index b8cc0e2ddf7..69254741d17 100644 --- a/phoenicis-tools/pom.xml +++ b/phoenicis-tools/pom.xml @@ -111,6 +111,11 @@ bcprov-jdk15on org.bouncycastle + + + jackson-core + com.fasterxml.jackson.core + From fa14ad5ad58fbeff0db1a777ac80868ff80cf13f Mon Sep 17 00:00:00 2001 From: Quentin PARIS Date: Sat, 1 Jun 2019 13:48:46 +0200 Subject: [PATCH 2/5] Removed useless options --- phoenicis-dist/src/scripts/phoenicis-create-package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phoenicis-dist/src/scripts/phoenicis-create-package.sh b/phoenicis-dist/src/scripts/phoenicis-create-package.sh index 2493bdb1a30..973927ff70d 100755 --- a/phoenicis-dist/src/scripts/phoenicis-create-package.sh +++ b/phoenicis-dist/src/scripts/phoenicis-create-package.sh @@ -35,7 +35,7 @@ PHOENICIS_TARGET="$SCRIPT_PATH/../../target" PHOENICIS_JPACKAGER="$SCRIPT_PATH/../../target/jpackager" PHOENICIS_RESOURCES="$SCRIPT_PATH/../resources" PHOENICIS_MODULES="jdk.crypto.ec,java.base,javafx.base,javafx.web,javafx.media,javafx.graphics,javafx.controls,java.naming,java.sql,java.scripting,jdk.scripting.nashorn,jdk.internal.vm.ci,org.graalvm.truffle" -PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --upgrade-module-path=../Java/compiler.jar" +PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI" PHOENICIS_JPACKAGER_ARGUMENTS=("-i" "$PHOENICIS_TARGET/lib" "--main-jar" "phoenicis-javafx-$VERSION.jar" "-n" "$PHOENICIS_APPTITLE" "--output" "$PHOENICIS_TARGET/packages/" "--add-modules" "$PHOENICIS_MODULES" "-p" "$PHOENICIS_TARGET/lib/" "--version" "$VERSION" "--jvm-args" "$PHOENICIS_RUNTIME_OPTIONS") _download_jpackager() { From 34fea355af622d7581f5372e5221cd3da37043d9 Mon Sep 17 00:00:00 2001 From: Quentin PARIS Date: Sat, 1 Jun 2019 13:49:17 +0200 Subject: [PATCH 3/5] Revert Removed useless options --- phoenicis-dist/src/scripts/phoenicis-create-package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phoenicis-dist/src/scripts/phoenicis-create-package.sh b/phoenicis-dist/src/scripts/phoenicis-create-package.sh index 973927ff70d..2493bdb1a30 100755 --- a/phoenicis-dist/src/scripts/phoenicis-create-package.sh +++ b/phoenicis-dist/src/scripts/phoenicis-create-package.sh @@ -35,7 +35,7 @@ PHOENICIS_TARGET="$SCRIPT_PATH/../../target" PHOENICIS_JPACKAGER="$SCRIPT_PATH/../../target/jpackager" PHOENICIS_RESOURCES="$SCRIPT_PATH/../resources" PHOENICIS_MODULES="jdk.crypto.ec,java.base,javafx.base,javafx.web,javafx.media,javafx.graphics,javafx.controls,java.naming,java.sql,java.scripting,jdk.scripting.nashorn,jdk.internal.vm.ci,org.graalvm.truffle" -PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI" +PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --upgrade-module-path=../Java/compiler.jar" PHOENICIS_JPACKAGER_ARGUMENTS=("-i" "$PHOENICIS_TARGET/lib" "--main-jar" "phoenicis-javafx-$VERSION.jar" "-n" "$PHOENICIS_APPTITLE" "--output" "$PHOENICIS_TARGET/packages/" "--add-modules" "$PHOENICIS_MODULES" "-p" "$PHOENICIS_TARGET/lib/" "--version" "$VERSION" "--jvm-args" "$PHOENICIS_RUNTIME_OPTIONS") _download_jpackager() { From dadc27a7662064e0940388d04ffdba29b92377b2 Mon Sep 17 00:00:00 2001 From: Quentin PARIS Date: Sat, 1 Jun 2019 13:52:48 +0200 Subject: [PATCH 4/5] Fix linux build --- phoenicis-dist/src/scripts/phoenicis-create-package.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/phoenicis-dist/src/scripts/phoenicis-create-package.sh b/phoenicis-dist/src/scripts/phoenicis-create-package.sh index 2493bdb1a30..970a3499c0d 100755 --- a/phoenicis-dist/src/scripts/phoenicis-create-package.sh +++ b/phoenicis-dist/src/scripts/phoenicis-create-package.sh @@ -24,18 +24,20 @@ PHOENICIS_OPERATING_SYSTEM="$(uname)" if [ "$PHOENICIS_OPERATING_SYSTEM" == "Darwin" ]; then PHOENICIS_APPTITLE="Phoenicis PlayOnMac" JPACKAGER_OS="osx" + JAR_RELATIVE_PATH="../Java" fi if [ "$PHOENICIS_OPERATING_SYSTEM" == "Linux" ]; then PHOENICIS_APPTITLE="Phoenicis PlayOnLinux" JPACKAGER_OS="linux" + JAR_RELATIVE_PATH="./app" fi PHOENICIS_TARGET="$SCRIPT_PATH/../../target" PHOENICIS_JPACKAGER="$SCRIPT_PATH/../../target/jpackager" PHOENICIS_RESOURCES="$SCRIPT_PATH/../resources" PHOENICIS_MODULES="jdk.crypto.ec,java.base,javafx.base,javafx.web,javafx.media,javafx.graphics,javafx.controls,java.naming,java.sql,java.scripting,jdk.scripting.nashorn,jdk.internal.vm.ci,org.graalvm.truffle" -PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --upgrade-module-path=../Java/compiler.jar" +PHOENICIS_RUNTIME_OPTIONS="-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI --upgrade-module-path=$JAR_RELATIVE_PATH/compiler.jar" PHOENICIS_JPACKAGER_ARGUMENTS=("-i" "$PHOENICIS_TARGET/lib" "--main-jar" "phoenicis-javafx-$VERSION.jar" "-n" "$PHOENICIS_APPTITLE" "--output" "$PHOENICIS_TARGET/packages/" "--add-modules" "$PHOENICIS_MODULES" "-p" "$PHOENICIS_TARGET/lib/" "--version" "$VERSION" "--jvm-args" "$PHOENICIS_RUNTIME_OPTIONS") _download_jpackager() { From 0e59dd35ad9dd14e5987f0bc5cae380ace16319e Mon Sep 17 00:00:00 2001 From: Quentin PARIS Date: Sat, 1 Jun 2019 18:20:07 +0200 Subject: [PATCH 5/5] Fix linux installation --- phoenicis-dist/src/scripts/phoenicis-create-package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phoenicis-dist/src/scripts/phoenicis-create-package.sh b/phoenicis-dist/src/scripts/phoenicis-create-package.sh index 970a3499c0d..debcff6699e 100755 --- a/phoenicis-dist/src/scripts/phoenicis-create-package.sh +++ b/phoenicis-dist/src/scripts/phoenicis-create-package.sh @@ -30,7 +30,7 @@ fi if [ "$PHOENICIS_OPERATING_SYSTEM" == "Linux" ]; then PHOENICIS_APPTITLE="Phoenicis PlayOnLinux" JPACKAGER_OS="linux" - JAR_RELATIVE_PATH="./app" + JAR_RELATIVE_PATH="/usr/share/phoenicis/app" fi PHOENICIS_TARGET="$SCRIPT_PATH/../../target"