Comments (10)
I have decided to start distributing cryptomator-cli and to simply call it "cryptomator-cli.jar".
My fork is here[1] and i also added a few things to make it behave more or less like other FUSE based backends SiriKali supports.
[1] https://github.com/mhogomchungu/cli
from cli.
So why don't you rename it?
from cli.
I have a project called SiriKali[1] and people have asked for a cryptomator backend support[2][3] and i have decided to add it for cryptomator-cli when it is using FUSE.
The problem i am facing are:
- How does SiriKali figure out if cryptomator-cli is installed when SiriKali is running on $RANDOM_DISTRO.
- if this feature request is implemented, then how does SiriKali figure out what version of crytomator-cli is installed.
The two bug reports i have opened asked for these two things.
Any person who will be creating a front end for cryptomator-cli will want to have a consistent name they can rely on.
Look how simple this[4] line is and imagine how it would be if java executable was dependent on its version.
[1] https://mhogomchungu.github.io/sirikali/
[2] mhogomchungu/sirikali#127
[3] mhogomchungu/sirikali#81
[4] https://github.com/cryptomator/cryptomator/blob/e8d17cfb7b41e3eb8fa3e5083d702d8f01f48087/main/buildkit/src/main/resources/launcher-linux.sh#L3
from cli.
Ok I see, so you don't bundle cryptomator-cli yourself but rely on it already being installed somewhere? So how do you find out where the jar lays around in the first place?
I think what you really need is a binary accessible via PATH, don't you?
from cli.
No, i am not bundling any of the supported backends and ideally, users should install them through their distribution's official channel.
What i want is to set the name of the executable like i do here[1] and then search for it at startup in paths specified here[2]. Java executable is added here[3]
from cli.
Ok in this case it's not the name of the jar created on this repo that needs to be deterministic, but you need a deterministic executable name that is installed on the user's PC.
Currently there is no such executable name, since we don't provide any kind of installer. cryptomator-cli is just a tool for enthusiasts who download it themselves from this GitHub repo and we have no idea where they save it and what name they give it.
from cli.
Ok in this case it's not the name of the jar created on this repo that needs to be deterministic, but you need a deterministic executable name that is installed on the user's PC
Yes.
Currently there is no such executable name, since we don't provide any kind of installer. cryptomator-cli is just a tool for enthusiasts who download it themselves from this GitHub repo and we have no idea where they save it and what name they give it.
Users who download it themselves or distributions that packages it will most likely go with the default name chosen by upstream and set in the download page and the name for the latest version is "cryptomator-cli-0.4.0.jar"[1] and what i am asking is for the "-0.4.0" part to be removed when the next version is out to give a consistent name across versions.
Why was it added in the first place? CLI tools usually don't bundle their version string in their names.
[1] https://github.com/cryptomator/cli/releases/tag/0.4.0
from cli.
While here, just though i should mention that i just purchased a version for android to support your effort.
from cli.
Why was it added in the first place? CLI tools usually don't bundle their version string in their names.
Please don't mix up these two things:
- Installed tools don't include the version number in their names. That is for the reasons you mentioned above.
- Downloads usually do include the version numbers. Otherwise there is no way to distinguish what you've downloaded.
If there was an installer foo-installer-1.2.3.exe
(version included in filename), it'd be its job to install version 1.2.3 of foo to its destination path C:\whatever\foo.exe
(same name for all versions)
The jar in question qualifies as neither. It is not even a binary file. Linux FHS would install such a file under /usr/local/share/cryptomator-cli-x.y.z.jar
and put an executable into /usr/local/bin/cryptomator-cli
(probably a shell script running java -jar
).
from cli.
The jar in question qualifies as neither. It is not even a binary file. Linux FHS would install such a file under /usr/local/share/cryptomator-cli-x.y.z.jar and put an executable into /usr/local/bin/cryptomator-cli (probably a shell script running java -jar).
I did not know about this and i think it will solve the problem.
from cli.
Related Issues (20)
- Add support for "--version" argument that causes the application to print its version and exit
- Mounting via FUSE on Raspberry PI 4 (raspbianOS/debian) show all files as 0 bytes HOT 1
- Feature request: allow WebDAV URL as back-end HOT 2
- Windows 10: Error: Could not find or load main class .\cryptomator-cli-0.4.0.jar HOT 1
- Not compatible with last Cryptomator vault format. HOT 2
- Cryptomator-cli does not support newest vault version HOT 3
- Fuse mount results in Exception with version 0.5.0
- Integrate into rclone HOT 2
- Add --version Option
- Add --help Option
- Add Bash completion
- make a new release HOT 2
- Support Cryptomator Hub vaults
- Bug: fatal error when running on arm device? HOT 4
- Cryptomator for a single file HOT 2
- symlink don't work with mount using davfs
- Feature request: add support for mounting FUSE instead of WebDAV HOT 2
- Suggestion for how to continue with CLI HOT 1
- How much closer is this to being βready?β HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cli.