cryptomator / cryptomator-linux

Cryptomator .AppImage for Linux
GNU General Public License v3.0
14 stars 7 forks source link

Lack of packaging instructions #13

Open xixipd opened 4 years ago

xixipd commented 4 years ago

There is no clear compiling instructions in order to build cryptomator fromsources for Linux. The environment is not easily understandable for the ones who are not familiar with the projects and its dependancies and/or java compilation tools.

overheadhunter commented 4 years ago

Just to be sure we're talking about the same thing: Do you have problems compiling or packaging the pre-compiled stuff? This repo is just for packaging the already compiled jars into a distributable format.

All the compiling happens either in the cryptomator repo (for the application itself) or further upstream (e.g. for libraries such as cryptolib).

Since Java uses a package manager, there is no "one script to build them all" solution as with makefiles and system-provided libraries.

xixipd commented 4 years ago

hum, understood. You are right, this is a packaging issue, sorry for the misunderstanding. The problem is: ok I can compile everything with maven but how to run it on my local linux machine and distribute it on my other linux workstations? I do not even know how to organise the different cryptomator repositories on my local building machine.

overheadhunter commented 4 years ago

Well if the Maven build succeeded, you can already run it provided you have some kind of Java 11 JRE installed (such as openjdk-11-jre): Simply unzip the buildkit.zip that is created by Maven and run the included shellscript.

To create the appimage (this is what this repo is for) it would be probably best if I added a build.sh that replicates what CI is doing locally.

xixipd commented 4 years ago

Thank you for your comment! Hoewever, I have no build.sh script within the buildkit.zip. I may create an issue for this in the cryptomator repo as this is not in line with the README. What do you think?

A dedicated script for cryptomator-linux would probably be a good idea, and a more detailed instructions within the README would clearly help (detailing how to organize the local directory cryptomator, cryptomator-linux, etc.)

infeo commented 4 years ago

The resources should exists under /main/buildkit/src/main/resources. Are they not there?

xixipd commented 4 years ago

nope, and not included within the zip file.

ls cryptomator-release-1.4.10/main/buildkit/src/main/resources/
version.txt

To highlight my problem to create an appimage:

Here is the output:

Illegal argument [--force] Creating app bundle: /home/user/Project/cryptomator-linux/app/Cryptomator Warning: No JDK Modules found. Exception: java.lang.NullPointerException Exception in thread "main" jdk.packager.internal.PackagerException: Error: Bundler "Linux Application Image" (linux.app) failed to produce a bundle. at jdk.packager/jdk.packager.internal.Arguments.generateBundle(Arguments.java:642) at jdk.packager/jdk.packager.internal.Arguments.processArguments(Arguments.java:582) at jdk.packager/jdk.packager.Main.run(Main.java:71) at jdk.packager/jdk.packager.Main.main(Main.java:47)

infeo commented 4 years ago

Ahh, i know now where the problem lies! We introduced the start scripts with version 1.4.12.

Before we did not had any in the base reporitory.

overheadhunter commented 4 years ago

Hoewever, I have no build.sh script within the buildkit.zip.

No, there is a run script, not a build script. I was talking about adding a build script to this repo.

xixipd commented 4 years ago

Thank you for your help! Indeed, I would be interested having a build script in this repo or a dedicated README to build an appimage.

By now, I can execute the built cryptomator software thank to the linux-launcher script, however I still do not know how to organize the different cryptomator repositories on my local machine (cryptomator and cryptomator-linux) and which prerequisites are needed to perform the appimage packaging.