[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gambas3.desktop install idea to detect installed toolkits...
[Thread Prev] | [Thread Next]
- Subject: Re: gambas3.desktop install idea to detect installed toolkits...
- From: Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>
- Date: Wed, 5 Nov 2025 14:45:57 +0100
- To: user@xxxxxxxxxxxxxxxxxxxxxx
Le 05/11/2025 à 14:06, gbWilly a écrit :
On Wednesday, November 5th, 2025 at 13:10, Tim Dickson <dickson.tim@xxxxxxxxxxxxxx> wrote:that may cause some issues. If you create a package, and it is installed, then the user installs something extra, like qt5 or 6for example, the desktop would still point to the lib option used when it was installed, so you would have to reinstall gambas to fix it. When the installer compares old and new files for updating it would fail to compare the dynamic desktop file. ( not a massive deal, as it is being treated like a config file), but if you wanted to step back to a previous config, you would not be able to, so by installing a ui lib after install, then reinstalling you would get different behaviour which you would have to be aware of for debugging, if say for example there is a ui lib related gambas bug in the different ui lib installed. Some distro's have many options available, so which one is chosen by the script on install?.The old method of not specifying, then manually specifying by env variable or calling option is less prone to confusion in myopinion, unless I am misunderstanding the subject. regards, TimHi Tim,I'll try to paint a picture here so you understand what is going on. First we are talking about the package named gambas3 (the completeIDE). This packages should install all available toolkits on the system. So, if GTK3, QT5 and QT6 exist on the distro, they will be installed. That is how gambas3 (the IDE) should be packaged. That is also why you can select them in the components tab in IDE, because they are installed. Upon install, the installer creates a gambas3.desktop that has a 'run with' on right-click defaulting to all toolkits (QT4, QT5, QT6 and GTK3) even if not available on the system. The post install script uses gbx3 to figure out what toolkit components are installed and replaces the default gambas3.desktop with an accurate one. So, if no QT$ available it will not be in the 'run with'. So far, so good. Now, here is where you go wrong. First this is about the toolkits ONLY, no other libs. When you try to remove QT5 for example (see attached image) on Debian, gambas3 will also be removed as it depends on it. And removing gambas3 also removes the gambas3.desktop.
Sorry, but this is rather wrong.The 'gambas3.desktop' is installed with the 'gambas3-ide' package, which is the package for the Gambas3 IDE (obviously).
This package depends on 'gb.gui', that has a dependency on ONE of the actual GUI package, not ALL.
For example, on Debian: ---8<------------------------------------------------------------------- Package: gambas3-gui Architecture: all Section: libdevelDepends: gambas3-gb-gtk (>= ${binary:Version}) | gambas3-gb-gtk3 (>= ${binary:Version}) | gambas3-gb-qt5 (>= ${binary:Version}) | gambas3-gb-qt6 (>= ${binary:Version})
---8<-------------------------------------------------------------------So you have no guarantee that if GTK3, QT5 and QT6 exist on the distro, they will be installed. Hopefully I would add.
So the post-install script should recreate the 'gambas3.desktop' file each time any Gambas package is installed or removed, only if the Gambas 3 IDE is installed, by checking if 'gb.XXX.webview' component is installed for XXX among 'gtk3','qt5' and 'qt6'.
Otherwise, for me, it is useless. Regards, -- Benoît Minisini.
| Re: gambas3.desktop install idea to detect installed toolkits... | Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx> |
| Re: gambas3.desktop install idea to detect installed toolkits... | gbWilly <gbWilly@xxxxxxxxxxxxxx> |