ivan-hc / GIMP-appimage

GNU Image Manipulation Program Stable & Developer Edition.
49 stars 2 forks source link

continuous hybrid appimage does not load scripts nor plugins #15

Closed PatLabGit closed 7 months ago

PatLabGit commented 8 months ago

First thanks a lot for this appimage (I'm on Ubuntu-MATE 20.04)

the continuous build over-there > https://github.com/ivan-hc/GIMP-appimage/releases/tag/continuous-hybrid does not load the script nor the python plugin even though the python console is there and working, and in the Preferences the path is detected and right.

screenshot_20240106-095822

Below is how it should be (it's with the PPA)

screenshot_20240106-100800

Also when I open your continuous hybrid, then close it and open GIMP installed via PPA, it looks like your appimage did kind of "resets" some of my profile setting as when the installed GIMP via PPA opens it is way longer because it fetching / searching all the script/plugins like it was the first time it opens

ivan-hc commented 8 months ago

Hi, happy new year.

The problem is that I've never used python in GIMP, nor I know how to use Python (normally I try not to use Python-related apps or I left it installed where an app requires it).

That said, this is the Stable version with a patch that I've done manually by merging Arch Linux packages with those for Debian. As you can see, this is something that really sucks that made me ashamed to be called "a developer".

So, if I can see the Python shell, I can't see how it loads the plugins.

Hybrid is a solution for fanatics, and only the fanatics can improve it, and I'm not one of them, I only give a base with this stuff. A screenshot on how it should be is not a technical guide on how to improve it, it is like the draw of a palace and I have to build it, but I can't make it safe and anti-seismic if I don't first learn how consistent the foundation is, how deep the pillars have to go, how much water I have to add to the cement, the quality of the cement (yes, I also worked as a bricklayer, and it's not the same what to do as a developer).

I'm not even a developer, I like writing and experimenting with new Shell scripts like any amateur would, that's all. With this work I just want to send a message: "can I do it? Then anyone can do it, and better!".

It's always a pleasure to build new things, but the problem is that I always build them myself, and my commitment to the AppImage community is to encourage people to keep this otherwise dead packaging format alive.

Almost everyone is abandoning the AppImage format in favor of Flatpak, and there are many reasons, starting from the tools provided to build them, which are fewer and fewer. I don't want Flatpak to become a monopoly, like it does on Windows. Even classic packages are at risk, not to mention PPAs.

Finally, as you know, Python2 is no more supported and quite impossible to install via AUR nowdays, however, working on Hybrid, I realized that if the GIMP Flatpak is so large together with the runtimes it is precisely to satisfy this requirement, maintaining compatibility with old libraries, and that's great (even if this costs a lot of disk space).

With these AppImages, the miracle can be done only manually, and i've not Python basis. I only wrote Shell scripts. If you know someone that can redirect me on the right way, It could be fine.

EDIT: also to learn how my packaging method work would be great, it is a start, this can help me improving my tools... and if someone is as good as @aferrero2707 we could have working AppImages without the assle of re-inventing new build methods. I myself consider my own methods just workarounds not to spend time and sesources in build things from scratch (ArchImage is an Arch Linux containers into an AppImage, so everything is already in place, if officially supported by Arch Linux, and we have not to guess environment variables or what is missing among the packages officially supported by Arch Linux, and GIMP Hybrid is a monster, not something that should exists nowdays).

PatLabGit commented 8 months ago

Happy new year ;) Thanks a lot for your detailed answer, I understand, no worries. Please have an absolute fantastic day.

ivan-hc commented 8 months ago

Hi @PatLabGit , I switched from an AppImage that uses proot to a model that uses bwrap (binaries are inside the bundle, as always). Download it again and perform a test.

I switched because proot had a lot of limitations that bwrap have not. I hope this works for what you need. Let me know!

EDIT: for this commit I added dependences required from some modules, including python3 (yes, there are both python3 and python2) and more important I included "luajit", as suggested by running the internal AppRun, and it seems to be the responsible of the internal console-related features https://github.com/ivan-hc/GIMP-appimage/commit/ed9f2d440ca6ecaafe1fda77b4c299493db82739

The package results bigger, also the others are increased in sizes (Stable, Dev and GIT), but all of them may work better.

All I miss is a system (GIO) to open internal links if you want to visit a site, but I think that all you need is to use the app, not to read the online guides from there. Google exists for this.

ivan-hc commented 7 months ago

@PatLabGit I've enabled all debug messages in the AppImages, so now it is possible to see the log messages at startup... "Hybrid" seems to find that there are two plugins that are in conflict (I think that is the Python2 patch against Script-fu).

However, I've also seen that the GIT version of GIMP already have Python-fu in the menu.

I'm not able to test this by myself, I'm not a master of GIMP, but I think that if it is already implemented in the GIT version (and in the development branches in general) by the upstream developers, the issue is solved.

"Hybrid" is just a moster that should not exist if not for funa and to experimenting a mix from Arch Linux & Debian Oldoldstable libraries.

Contact me again into another issue in case you have troubles with my builds created from the official upstream versions (Stable/GIT/DEV).

Again, Python2 is no more supported and my patch is a way to give it back from another system, not a guarantee to made them work with the Stable release of GIMP. It's like transplanting a man's stomach into a cow (that already has 7 stomachs).

With a little effort it could even work, but it takes the desire to do it, and if the GIMP developers have already planned to make up for this lack by implementing a new and more updated Python-fu, "Hybrid" becomes something useless, which only Some Doctor Frankenstein would have to do it, and I'm not a doctor.

See you!