You are not logged in.

#1 2021-08-21 20:32:51

altermetax
Member
Registered: 2016-03-19
Posts: 73

Splitting Eclipse package base into multiple ordinary packages

I have recently become the maintainer of the eclipse package base, which builds the java, jee, cpp and php variants of Eclipse. The PKGBUILD for this package is a descendant of the PKGBUILD that was used to build Eclipse back when it was in the official repositories.

Having Eclipse set up as a package base makes it simpler to build for a repository, but it's not very convenient for the AUR, where people mostly want to install a single version of Eclipse. That's why I've written the current pinned comment that explains how to modify the PKGBUILD to only build the necessary packages.

Also, the packages for the variants are setup so that they conflict with each other, which means that even if you build more than one of them, they're not going to be that useful.

Another (smaller) problem of this PKGBUILD is that the `depends` and the `provides` arrays are built dynamically, so they do not appear in aurweb.

To make things simpler I would like to separate the package base into multiple non-conflicting ordinary packages, one for each variant, to remove this requirement. I have already written the PKGBUILDs for the variants, however I'm not sure how to do this. Requesting the deletion of the package base and then adding the single packages does not seem like a great idea since it would make eclipse disappear from the AUR for some time (and also lose all the comments and votes).

Last edited by altermetax (2021-08-21 20:40:24)

Offline

#2 2021-08-21 20:40:18

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,442
Website

Re: Splitting Eclipse package base into multiple ordinary packages

altermetax wrote:

Requesting the deletion of the package base and then adding the single packages does not seem like a great idea since it would make eclipse disappear from the AUR for some time.

What do you mean?  You can upload them all (nearly) instantaneously if you've already written the PKGBUILDs, and the deletion will take some time to be processed as a TU needs to receive it and act on it.

But that package should have never existed at all.  It is not a split package building different targets from the same source (which should be a single PKGBUILD).  That is just a bunch of completely different packages each with different sources shoehorned into a single PKGBUILD.

Last edited by Trilby (2021-08-21 20:42:48)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2021-08-21 20:46:45

altermetax
Member
Registered: 2016-03-19
Posts: 73

Re: Splitting Eclipse package base into multiple ordinary packages

I agree. There are some things I've added to the original post by editing it (too late).

Another thing is that if I want to make the packages not conflict with each other, I need to make multiple folders in /usr/lib (e.g. /usr/lib/eclipse-java, /usr/lib/eclipse-cpp) and some packages on the AUR that depend on one of the eclipse variants assume that such variant is installed in /usr/lib/eclipse. How would I go about solving that?

Last edited by altermetax (2021-08-21 20:49:32)

Offline

#4 2021-08-21 23:01:49

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,442
Website

Re: Splitting Eclipse package base into multiple ordinary packages

Can you clarify?  There were separate eclipse-java and eclipse-cpp packages before.  How did these other AUR packages assume the one they needed was in /usr/lib/eclipse?


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#5 2021-08-21 23:03:21

altermetax
Member
Registered: 2016-03-19
Posts: 73

Re: Splitting Eclipse package base into multiple ordinary packages

The separate eclipse-java and eclipse-cpp both install eclipse in /usr/lib/eclipse, in fact they conflict with each other. Other packages which depend on one of these expect it to be in /usr/lib/eclipse (e.g. lombok-eclipse-java or cmakeed).

Last edited by altermetax (2021-08-21 23:06:11)

Offline

#6 2021-08-21 23:07:48

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,442
Website

Re: Splitting Eclipse package base into multiple ordinary packages

But that's not a new problem - how was it handled when ecclipse-java and eclipse-cpp were assembled by the same PKGBUILD?

If other packages expect actual different content to be at /usr/lib/eclipse then the providers of those different sets of content do - and must - conflict.  You could do something similar to what is done for java, where /usr/lib/eclipse would just be a tiny script that forks the right implementation that the user wants at that moment, but that would cause some of these other dependent packages to break: if the user set /usr/lib/eclipse to be eclipse-cpp and some dependent package believed /usr/lib/eclipse was eclipse-java, I imagine that dependent package's programs would fail.

EDIT: Oh - sorry I may have misread.  This is *another* goal you'd like to achieve.  I missed that.  I thought it was presented as a hurdle to splitting the PKGBUILD in the first place.

Last edited by Trilby (2021-08-21 23:09:15)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#7 2021-08-21 23:17:12

altermetax
Member
Registered: 2016-03-19
Posts: 73

Re: Splitting Eclipse package base into multiple ordinary packages

Yeah it was a separate goal, I didn't clarify it well enough. However I might just give that up (or postpone it) and concentrate on the separation of the packages.

Offline

Board footer

Powered by FluxBB