aboutsummaryrefslogtreecommitdiff
path: root/setup/package.sh
diff options
context:
space:
mode:
Diffstat (limited to 'setup/package.sh')
-rwxr-xr-xsetup/package.sh134
1 files changed, 134 insertions, 0 deletions
diff --git a/setup/package.sh b/setup/package.sh
new file mode 100755
index 000000000..ac0f021a8
--- /dev/null
+++ b/setup/package.sh
@@ -0,0 +1,134 @@
+#!/bin/sh
+
+# GENERAL REQUIREMENTS
+
+# Check web application
+if [ -e "traccar-web.war" ]; then
+ echo "Web application archive found"
+else
+ echo "Put traccar-web.war into this directory"
+ exit 0
+fi
+
+# Check wrapper
+if ls wrapper-delta-pack-*.tar.gz &> /dev/null; then
+ echo "Java wrapper package found"
+else
+ echo "Put wrapper-delta-pack-*.tar.gz into this directory"
+ exit 0
+fi
+
+# WINDOWS REQUIREMENTS
+
+# Check inno setup
+if ls isetup-*.exe &> /dev/null; then
+ echo "Inno setup installer found"
+else
+ echo "Put isetup-*.exe into this directory"
+ exit 0
+fi
+
+# Check wine
+if which wine > /dev/null; then
+ echo "Found wine"
+else
+ echo "Install wine package"
+ exit 0
+fi
+
+# Check innoextract
+if which innoextract > /dev/null; then
+ echo "Found Innoextract"
+else
+ echo "Install innoextract package"
+ exit 0
+fi
+
+# LINUX REQUIREMENTS
+
+# Check makeself
+if which makeself > /dev/null; then
+ echo "Found makeself"
+else
+ echo "Install makeself package"
+ exit 0
+fi
+
+# GENERAL PREPARATION
+
+tar -xzf wrapper-delta-pack-*.tar.gz
+mv wrapper-delta-pack-*/ wrapper/
+
+# UNIVERSAL PACKAGE
+
+zip -j tracker-server.zip ../target/tracker-server.jar universal/README.txt
+
+# WINDOWS PACKAGE
+
+innoextract isetup-*.exe
+echo "NOTE: if you got any errors here try isetup version 5.4.3 (or check what versions are supported by 'innoextract -v')"
+
+wine app/ISCC.exe windows/traccar.iss
+
+zip -j traccar-windows-32.zip windows/Output/setup.exe windows/README.txt
+
+rm -rf windows/Output/
+rm -rf tmp/
+rm -rf app/
+
+# LINIX PACKAGE
+
+app='/opt/traccar'
+
+rm -rf out
+
+mkdir out
+mkdir out/bin
+mkdir out/conf
+mkdir out/data
+mkdir out/lib
+mkdir out/logs
+
+cp wrapper/src/bin/sh.script.in out/bin/traccar
+cp wrapper/lib/wrapper.jar out/lib
+cp wrapper/src/conf/wrapper.conf.in out/conf/wrapper.conf
+
+cp ../target/tracker-server.jar out
+cp ../target/lib/* out/lib
+cp traccar-web.war out
+cp linux/linux.cfg out/conf
+
+sed -i 's/@app.name@/traccar/g' out/bin/traccar
+sed -i 's/@app.long.name@/traccar/g' out/bin/traccar
+
+sed -i '/wrapper.java.classpath.1/i\wrapper.java.classpath.2=../tracker-server.jar' out/conf/wrapper.conf
+sed -i "/wrapper.app.parameter.1/i\wrapper.app.parameter.2=$app/conf/linux.cfg" out/conf/wrapper.conf
+sed -i 's/<YourMainClass>/org.traccar.Main/g' out/conf/wrapper.conf
+sed -i 's/@app.name@/traccar/g' out/conf/wrapper.conf
+sed -i 's/@app.long.name@/traccar/g' out/conf/wrapper.conf
+sed -i 's/@app.description@/traccar/g' out/conf/wrapper.conf
+
+# linux 32
+
+cp wrapper/bin/wrapper-linux-x86-32 out/bin/wrapper
+cp wrapper/lib/libwrapper-linux-x86-32.so out/lib/libwrapper.so
+chmod +x out/bin/traccar
+
+makeself out traccar.run "traccar" "mkdir $app; cp -rf * $app; $app/bin/traccar install"
+zip -j traccar-linux-32.zip traccar.run linux/README.txt
+
+# linux 64
+
+cp wrapper/bin/wrapper-linux-x86-64 out/bin/wrapper
+cp wrapper/lib/libwrapper-linux-x86-64.so out/lib/libwrapper.so
+chmod +x out/bin/traccar
+
+makeself out traccar.run "traccar" "mkdir $app; cp -rf * $app; $app/bin/traccar install"
+zip -j traccar-linux-64.zip traccar.run linux/README.txt
+
+rm traccar.run
+rm -rf out
+
+# GENERAL CLEANUP
+
+rm -rf wrapper/