¿ªÔÆÌåÓý

Locked Flatpak version


 

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


 

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]]


 

This seems to me to be a similar discussion about using docker that is on the developers group:

Personally I have no interest in using either and have made sure I don't have flatpak on my computer. Download and install is only a few mouse clicks on Linux Mint and no extra overhead of having Flatpak or Docker.

--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )


 

Peter,

I don't know if it is still true, but the Flatpak install of Firefox would not display the JMRI help pages.

Dave Sand

----- Original message -----
From: Peter Ulvestad <ulvestad@...>
To: [email protected]
Subject: Re: [jmriusers] Flatpak version
Date: Tuesday, October 01, 2024 11:27 PM

This seems to me to be a similar discussion about using docker that is on the developers group:

Personally I have no interest in using either and have made sure I don't have flatpak on my computer. Download and install is only a few mouse clicks on Linux Mint and no extra overhead of having Flatpak or Docker.

--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )


 

And I haven¡¯t seen anyone listing the advantages of either tbh

On 2 Oct 2024, at 05:27, Peter Ulvestad via groups.io <ulvestad@...> wrote:

?This seems to me to be a similar discussion about using docker that is on the developers group:

Personally I have no interest in using either and have made sure I don't have flatpak on my computer. Download and install is only a few mouse clicks on Linux Mint and no extra overhead of having Flatpak or Docker.

--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )





 

Gendre,

Note that Java 11 is not available on several distributions, for example Debian testing. JMRI recommends Java 17.

Daniel

On 2024-10-02 05:04, S¨¦bastien Gendre wrote:
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




 

Whilst it would be a good idea for those with time and interest to keep an eye on using Flatpak there's no need for it as an official solution until it becomes a problem running JMRI on a Linux platform. "If it ain't broke don't fix it. ".

--
Chris White


 

Agreed. I've always seen these things (including Snap and AppImage) as ultimately a solution looking for a problem. I have not once had a positive experience with any, no matter how much merit the idea seems to have at first glance.

Wouter


On Wed, 2 Oct 2024 at 09:23, Christopher White via <whitecf69=[email protected]> wrote:
Whilst it would be a good idea for those with time and interest to keep an eye on using Flatpak there's no need for it as an official solution until it becomes a problem running JMRI on a Linux platform. "If it ain't broke don't fix it. ".

--
Chris White






 

I think it¡¯s worthwhile to at least see how hard it would be to set this up. IIRC, there was a previous discussion about it a year or two ago, but we never really established what it would take to actually do it.

If this can be made to work, and if we could _fully_ automate the creation of it, then adding it as an experimental alternate distribution might be worth the experiment.

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.
Thank you. I don¡¯t know anything much about this, but I can help from the JMRI end.

Bob

¡ª
Bob Jacobsen
rgj1927@...


 

On Wed, Oct 2, 2024 at 10:23 AM, whmvd wrote:

I've always seen these things (including Snap and AppImage) as ultimately a
solution looking for a problem.
Don't get me wrong. I've used containers in the past to solve issues of incompatible library version dependencies and sandboxed environments. I just don't believe this to be the case for JMRI at the moment.

--
Chris White


 

They are solutions in search of a (non-existant) problem...

I *suppose* there is a "want" of a one-file / one-command install process for
Linux. Download one file, run one install command.

This *could* be done by packaging JMRI in a .deb (for Debian flavored Linuxes)
and a .rpm (for RedHat flavored Linuxes). These packages would be for any
arch (x86, x86_64/amd64, arm, and arm64) and only have a dependency for
openjdk-<minversion>-jre which would be automagically satisfied by apt or
yum/dnf.

I think people are overthinking things.

Flatpak, Docker, and AppImage don't really apply to JMRI: JMRI is coded in
Java, which eliminates what Flatpak, Docker, and AppImage set out to solve:
arch and/or binary dependency problems. A Java "binary" is only dependent on a
JRE and nothing else. And with OpenJDK, a proper JRE is universally available
for all current versions of Linux. Yes, right now there is the extra install
step, but that is it.

At Wed, 2 Oct 2024 04:49:44 +0000 [email protected] wrote:


And I haven???t seen anyone listing the advantages of either tbh

On 2 Oct 2024, at 05:27, Peter Ulvestad via groups.io <ulvestad@...> wrote:

???This seems to me to be a similar discussion about using docker that is on the developers group:

Personally I have no interest in using either and have made sure I don't have flatpak on my computer. Download and install is only a few mouse clicks on Linux Mint and no extra overhead of having Flatpak or Docker.

--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )









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


 

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


 

I have found that AppImage to be a viable option for some applications and
the least problematical.


At Wed, 2 Oct 2024 10:23:20 +0100 [email protected] wrote:


Agreed. I've always seen these things (including Snap and AppImage) as
ultimately a solution looking for a problem. I have not once had a positive
experience with any, no matter how much merit the idea seems to have at
first glance.

Wouter

On Wed, 2 Oct 2024 at 09:23, Christopher White via groups.io <whitecf69> [email protected]> wrote:

Whilst it would be a good idea for those with time and interest to keep an
eye on using Flatpak there's no need for it as an official solution until
it becomes a problem running JMRI on a Linux platform. "If it ain't broke
don't fix it. ".

--
Chris White










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


 

Robert Heller <heller@...>

It *is* true of the snap version of firefox or chromium.

At Tue, 01 Oct 2024 23:34:08 -0500 [email protected] wrote:


Peter,

I don't know if it is still true, but the Flatpak install of Firefox would not display the JMRI help pages.

Dave Sand


----- Original message -----
From: Peter Ulvestad <ulvestad@...>
To: [email protected]
Subject: Re: [jmriusers] Flatpak version
Date: Tuesday, October 01, 2024 11:27 PM

This seems to me to be a similar discussion about using docker that is on the developers group:

Personally I have no interest in using either and have made sure I don't have flatpak on my computer. Download and install is only a few mouse clicks on Linux Mint and no extra overhead of having Flatpak or Docker.
--
Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
Deepwoods Software -- Custom Software Services
-- Linux Administration Services
heller@... -- Webhosting Services


 

Isn¡¯t this better discussed on the JMRI developers forum

I¡¯m concerned we¡¯re over complicating things for the majority of our users and I¡¯d hate to distress them any more

Phil G

On 2 Oct 2024, at 15:34, Robert Heller via groups.io <heller@...> wrote:

?They are solutions in search of a (non-existant) problem...

I *suppose* there is a "want" of a one-file / one-command install process for
Linux. Download one file, run one install command.

This *could* be done by packaging JMRI in a .deb (for Debian flavored Linuxes)
and a .rpm (for RedHat flavored Linuxes). These packages would be for any
arch (x86, x86_64/amd64, arm, and arm64) and only have a dependency for
openjdk-<minversion>-jre which would be automagically satisfied by apt or
yum/dnf.

I think people are overthinking things.

Flatpak, Docker, and AppImage don't really apply to JMRI: JMRI is coded in
Java, which eliminates what Flatpak, Docker, and AppImage set out to solve:
arch and/or binary dependency problems. A Java "binary" is only dependent on a
JRE and nothing else. And with OpenJDK, a proper JRE is universally available
for all current versions of Linux. Yes, right now there is the extra install
step, but that is it.

At Wed, 2 Oct 2024 04:49:44 +0000 [email protected] wrote:


And I haven???t seen anyone listing the advantages of either tbh

On 2 Oct 2024, at 05:27, Peter Ulvestad via groups.io <ulvestad@...> wrote:
???This seems to me to be a similar discussion about using docker that is on the developers group:

Personally I have no interest in using either and have made sure I don't have flatpak on my computer. Download and install is only a few mouse clicks on Linux Mint and no extra overhead of having Flatpak or Docker.

--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )









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






 

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:

I don't think it's possible for JMRI to get a .deb file or a .rpm file into Debian or Feodora repositories. We are not able to fulfill the requirements for that.





For example, the Feodora link has the following sentence:

In particular, *.class and *.jar files from upstream releases MUST
NOT be used during build of Fedora packages and they MUST NOT be included in binary RPM.

Debian has similar rules. This is very difficult for us to follow.

See:

Daniel


On 2024-10-02 16:33, Robert Heller wrote:
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:


 

This topic really should be moved to the developers forum, the OP can bring up his questions there.



--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )