phoenicis icon indicating copy to clipboard operation
phoenicis copied to clipboard

Provide a RPM

Open LukeShortCloud opened this issue 6 years ago • 32 comments

Originally brought up from here: https://github.com/PhoenicisOrg/POL-POM-5/issues/1190

An RPM should be included to help build and distribute the Jar file across other platforms other than Debian and Ubuntu. I will be working on initial support for Fedora and RHEL/CentOS and plan to have this completed in April. It should be relatively easy to eventually add in support for other RPM-based distributions such as openSUSE and Mageia as well. This needs to be able to work with the current maven build system.

LukeShortCloud avatar Mar 27 '18 03:03 LukeShortCloud

I think we can use https://ctron.github.io/rpm-builder/ to create a RPM installer.

madoar avatar Mar 27 '18 17:03 madoar

@madoar I had the impression that @ekultails knows how to do it (doesn't do this for the first time).

plata avatar Mar 28 '18 16:03 plata

@plata it wasn't my intention to tell him, how this issue must be solved. Whoever wants to give this a go is free to do it however he wants. I just wanted to add my own findings, I found while working on another project some time ago.

madoar avatar Mar 28 '18 16:03 madoar

Okok, nevermind.

plata avatar Mar 28 '18 16:03 plata

The Java RPM Builder plugin looks very interesting and could potentially be easier than writing an RPM spec file from scratch. I don't have any experience with that plugin and it would be good to at least do some more research into that first since it integrates with Maven.

LukeShortCloud avatar Mar 29 '18 02:03 LukeShortCloud

In this case: thumbs up for @madoar ;)

plata avatar Mar 29 '18 16:03 plata

Before having an RPM implemented, details for setting up Phoenicis on Fedora based operating systems should be fully sorted out: https://github.com/PhoenicisOrg/phoenicis/issues/1157. I will need to do some additional research and testing on this.

LukeShortCloud avatar Apr 20 '18 03:04 LukeShortCloud

Oops, I didn't mean to close this issue. :-)

LukeShortCloud avatar Apr 20 '18 03:04 LukeShortCloud

@ekultails probably makes sense to get in touch with @Tutul-.

plata avatar Apr 20 '18 15:04 plata

I'm on manjaro now. But can install a fedora next to it for testing purpose if needed (use fedora for 5 year so)

Tutul- avatar Apr 20 '18 22:04 Tutul-

Do we still need this? To be honest, I would prefer to streamline distribution and support only flatpak.

plata avatar Oct 21 '18 11:10 plata

Yeah I think it is important if we could automate the creation of deb/rpms if we want to be integrated inside the official distributions repositories

qparis avatar Oct 21 '18 11:10 qparis

We can achieve the same with flatpak. E.g. in Ubuntu, you can install flatpak applications like any other application from the software center.

plata avatar Oct 21 '18 11:10 plata

All right then

qparis avatar Oct 21 '18 11:10 qparis

Flatpak is interesting but I can't use it on my laptop. Not enough free space left for all that duplicate libraries XD

Tutul- avatar Oct 21 '18 13:10 Tutul-

Ok... The Phoenicis flatpak is 312MB (according to software sources).

plata avatar Oct 21 '18 13:10 plata

Was talking about flatpak in general. It's just I use some program than require the same library. So I got 3 or 4 duplicate of each libraries. I suppose that java is in the runtime part of flatpak ?

Tutul- avatar Oct 21 '18 13:10 Tutul-

I didn't check how big flatpak itself is (including the runtimes). But honestly: if you do not have enough space for that, you cannot install any apps with Phoenicis anyways. Yes, the normal Phoenicis Java application is running inside the flatpak.

plata avatar Oct 21 '18 13:10 plata

Was talking about the concept but nevermind. Not saying it properly XD

Tutul- avatar Oct 21 '18 13:10 Tutul-

Ok... The Phoenicis flatpak is 312MB (according to software sources).

That's exactly why I would prefer .deb and .rpm.

ImperatorS79 avatar Oct 21 '18 17:10 ImperatorS79

To save some MB? That really shouldn't be an issue nowadays. From my perspective the situation is as follows: our man power is rather limited, so we can either decide to support several ways of distribution and handle all the problems which come with that, or we concentrate on the software, ship one flatpak and save the additional effort.

plata avatar Oct 21 '18 17:10 plata

The problem is that having flatplaks or snaps alongside regular .deb makes lots of duplicate libs (since, if I understand correctly, flatpaks apps use their own "sdk" and does not interact with other .deb on the system). Flapaks and snaps seems also to be bigger than .deb (since dependencies are included in them (multiple times)). Since .deb are working, I will go with that.

ImperatorS79 avatar Oct 21 '18 18:10 ImperatorS79

I think flatpak is interesting but we just come with something Windows already done (better but still, with the same cons). For POL, I suggest to start with it. I may don't like the system but @plata is right, we aren't enough here to provides POL on the requested distro.

Tutul- avatar Oct 21 '18 18:10 Tutul-

I agree with @plata, that we have a limited number of developers, who have a limited amount of development time for this project. If we support a larger number of distribution choices, this will require an increasing amount of maintenance over time. In addition not every developer can test all distribution choices. For example I don't own a Mac PC and therefore can't test on OSX.

The issue is not that we refuse to support .deb and .rpm, but that we aren't really able to maintain them ourselves. This also means, that if an .deb or .rpm installer is desired by the community, we require someone from the community who agrees to maintain it later on.

madoar avatar Oct 21 '18 18:10 madoar

Since it is already the case for the POL4 .deb (which is in multiverse in ubuntu), I'm nearly sure that someone in the community will be maintaining a phoenicis one.

ImperatorS79 avatar Oct 21 '18 19:10 ImperatorS79

we could provide the flatpak as default one (aka fallback). and provides specific package with the community if asked ?!

Tutul- avatar Oct 21 '18 19:10 Tutul-

I believe the biggest problem we face with supporting most package/distribution choices is the spectrum of available Java versions on the operating systems.

The project setup currently targets Java 8, which is still supported and used by quite a lot of people. Starting with Java 9 a module system has been introduced to Java, which requires some changes to the project setup to be compatible. Starting with Java 11 JavaFX/OpenJFX (which is the GUI framework we're using) has been moved to its own project/module.

The flatpak distribution uses Java 11 behind the scenes, which is quite useful because we don't need to cope with different Java versions. While working on the flatpak distribution @plata stumbled over quite a lot issues to make Phoenicis run on Java 11. In my opinion the biggest issues are the aftereffects of the module system introduction in Java 9 and the JavaFX restructuring in Java 11. I think, that both issues can only be cleanly solved by changing the project setup to target Java 9 or 11. This in turn prevents people who still use an older Java version from installing Phoenicis, if they use a distribution method like a .deb installer.

madoar avatar Oct 21 '18 19:10 madoar

I couldn't agree more with the explanations @madoar provided above. To be really clear once more: we will not prevent anyone from providing/using deb/rpm etc. We just cannot afford to solve issues arising from certain Java versions, runtime environments etc. here (this is something the distributors should care about).

plata avatar Oct 22 '18 16:10 plata

I think we can solve this problem now that we have a new package creation process. Let's try to do it for alpha-3

qparis avatar Jan 06 '19 15:01 qparis

@qparis can you take care of this?

plata avatar Oct 02 '19 13:10 plata