Now.... regarding those installers...
I'm a bit of an amateur, when it comes to Linux. It's an operating system that demands a lot of time spent on little things, I find it quite frustrating most of the time.
So... I'm grateful for additional input.
It's a really difficult task to create a pre-compiled GUI application, that is supposed to run on the most part of this zoo of different Linux distributions and versions.
First, I'll go through some of your input, a lot if interesting things:
There is a version that is done manually by opening an executable file. That's why it was my question.
Yes, sorry - the whole deployment process so far is not fully automated, the different release packages need to be done manually and it's an insanely time-consuming process. Therefore, during this beta, I'm only releasing the most-relevant-for-testing parts. The "flat" installer was basically to see on what distributions AnyStream in its current form will run at all.
o as long as you can unpack it (7-zip supports debs/rpms), it'd effectively be the same as a tar package.
That's a very good point, thanks, maybe we can add a sticky with this (and maybe other related Linux howtos).
If I can offer a friendly suggestion, how about packaging AnyStream Linux as either a Flatpak or AppImage. The devs won't need to worry about supporting 50 different distros and the end users won't need to worry about ending up in dependency hell. Just my $0.02.
I know nothing about Flatpak, but I did give AppImage a try and was not very successful with it.
From my understanding, AppImage will not magically remove worries about supporting 50 different distros, we still have to consider them all independently with all their little "it's nice to be different" celebrations. What it would do, though, would give us a single file for users to download.
That file would be pretty large, though, because it needs to pack many distro/version-specific files, that other users don't need.
Anyway: the AppImage builder gave me many, many non-descriptive errors and crashes along the way, because it itself requires a big amount of dependencies with certain versions, etc.... and at some point I decided, I don't have the time right now to fix their tool.
(EDIT: isn't there an AppImage of an AppImage builder, if it's such a magical, care-free thing, wouldn't that be the logical choice?)
Sometime I may go back to it.
anystream depends on libtiff5 (>= 4.0.3); however:
Package libtiff5 is not installed.
Currently Debian 12 runs libtiff-6.
This is one of the most annoying problems - and, as far as I can tell, could be avoided altogether with a different philosophy applied when creating and maintaining these libraries, but that's nothing we have control over.
On newer distributions, older versions of these libs often are not available anymore, at least not through the official channels.
There are three ways to tackle this, that I can think of:
- what you did - create a link and pretend it's the same lib (this may not always work, assuming, that there was a reason to change the lib version - I'm not really sure, there always is)
- manually download the proper library from some source or package it right into the application's directory (can bite you, if that lib again requires other dependencies, that are no longer available)
- link it statically - this is what I have done with other libraries, that similarly were inconsistently available through different Linux installations. Drawbacks are a slightly larger application size and no chance to benefit from updates to that library. The latter can also be seen as an advantage, because the less an application depends on "volatile" dependencies (like updates, that broke something), the less pain of the type "I can't reproduce your problem, works fine for me" you get.
So.... I hope, this describes some of the major thoughts on installers and such.
Now this:
For RedFox Developer :
My Dockerfile is not public, as i don't known if you disagree with my packaging of AnyStream....
Please if there is a problem contact me via PM and i will make my repository private and for my exclusive usage. Or if you want make an official docker, i can share my dockerfile with you directly.
Sure! Whatever helps users to be able to
easily install the software.
But I don't want to put the pressure on you, having to keep this up-to-date all the time.