¿ªÔÆÌåÓý

Locked Re: Flatpak version


 

Flatpak is mainly to get around shared library version dependency issues,
partitularly with LTS Linux distributions and "bleeding edge" applications.
Since JMRI is coded in *JAVA*, its only system dependency is the JAVA JRE. I
don't know if anyone has bothered with a Flatpak of the JAVA JRE (does that
even make sense since a current version of openjdk's jre is available in all
Linux distro repos).

I *suppose* a Flatpak containing the JAVA JRE with JMRI might make sense, but
I don't know if that buys anyone anything. It might NOT be legal to package
Orcale's JAVA that way (not that there really is any reason to do that). I
guess packaging openjdk's JRE in a flatpak with JMRI might make sense, but
why? There are no shared library version dependency issues.

In theory, there is no reason JMRI could not be packaged as a .deb and/or
.rpm. Such a .deb or .rpm would only have a dependency for openjdk's JRE and
would be arch ALL, so would be installably for any version or arch of Linux.
One could then do something like:

sudo apt install ./jmri-5.mumble.deb

which would cause apt to install openjdk-jre as a dependency (simular for
yum/dnf for RPM-based Linuxes). This would be one way of "simplifing" the
install process under linux: download one file (jmri-mumble.deb or
jmri-mumble.rpm) and one "install" command: sudo apt install
./jmri-5.mumble.deb or sudo install dnf install ./jmri-5.mumble.rpm. The
.deb or .rpm file could even include dropping stuff in the Freedesktop.org
places to get JMRI's entry points into the system menu, etc.

I guess the only other thing would be getting JMRI onto the radar of the
distro maintainers to get it into the official distro repos.

At Wed, 02 Oct 2024 05:25:27 +0200 [email protected] wrote:


For more informations:

Flatpak is a GNU/Linux Desktop package format. Is goal is to provide the
same environment to execute an app on each GNU/Linux distribution that
support Flatpak. Which include Debian, Ubuntu, Fedora, CentOS, OpenSuse,
etc.

Each app can request a runtime that include the majority of its
dependencies. It exist generic runtimes, like Gnome, KDE or FreeDesktop.
But it's possible to make custom runtime.

Each app can also request extension(s) for their runtime. These extensions
add specific dependencies. Like for example audio/video codecs.

And finally, for specific dependencies who are not provided by runtime end
their extension, the app is packages with them.

When the app is launched by an user: A container is created with the app file
system, a read-only access the runtime and its extension(s) and the
software is executed inside this container.

For more about Flatpak:

* The official Flatpak website:


* The documentation:


* The list of GNU/Linux distributions who support Flatpak:



Flathub is a community repository who provide a lot of desktop apps:

* The official Flathub website:


* The publication documentation:


* The app author documentation:



Best regards

-------
Gendre S??bastien




S??bastien Gendre <seb@...> writes:

[[PGP Signed Part:Bad signature from B586F7C77239E29E S??bastien Gendre <seb@...>]]
Hello,

I would like to know if JMRI developers have planned to release JMRI as a
Flatpak, on Flathub.

Flatpak offer a good way to ensure the app to run in the same
environment, for each GNU/Linux system that support Flatpak. Which is a
lot of them. And distributing the app on Flathub will make it
downloadable and installable with a simple click.


I have already started to see if it's technically feasible. For what I
have tested, JMRI run well with OpenJDK 11 java runtime. And Flathub
provide an extension to the Freedesktop sdk that contain the OpenJDK 11
Java Runtime Environment (JRE) and Java Developement Kit (JDK):



This repository README also provide an example of Flatpak manifest to
package a Java app.

I can help on this. But I'm not a Java expert.


Best regards

-------
Gendre S??bastien





[[End of PGP Signed Part]]





--
Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
Deepwoods Software -- Custom Software Services
-- Linux Administration Services
heller@... -- Webhosting Services

Join [email protected] to automatically receive all group messages.