[Gambas-user] Question on gb.gui.qt switcher component and packager

Benoît Minisini gambas at ...1...
Tue Dec 15 22:49:53 CET 2015


Le 15/12/2015 22:36, willy at ...3474... a écrit :
> On 2015-12-15 02:51, Benoît Minisini wrote:
>> Le 15/12/2015 00:54, Benoît Minisini a écrit :
>>> Le 14/12/2015 22:52, willy at ...3474... a écrit :
>>>> Hi,
>>>>
>>>> As I have been developing my Gambas3 applications mainly (all except
>>>> 1)
>>>> with gb.qt4 component.
>>>> Now, I am facing a problem with the qt5 being rolled out several
>>>> recent
>>>> distro's, when at the same time the older LTS (so, still supported
>>>> distros) are still on qt4.
>>>>
>>>> So, packaging my application with qt4 will not install them on
>>>> distros
>>>> with qt5, I presume.
>>>>
>>>> Now I noticed that the gb.gui.qt switcher component can help out
>>>> there.
>>>> As, I run an older distro that uses qt4, I suppose when using
>>>> qt-switcher component instead of qt4, the application, when packaged
>>>> will install on both qt4 and qt5 systems.
>>>>
>>>> Am I corrert assuming above?
>>>>
>>>> When making a package (debian/ubuntu) of an application with
>>>> gb.gui.qt
>>>> switcher component (see screen01) I see that I have 1 .deb package. I
>>>> like that a lot.
>>>>
>>>> But when looking in the control file of the .deb I do not see any
>>>> dependency on qt? (see screen02)
>>>>
>>>> So, how will the distro upon installing know that it needs to use one
>>>> of
>>>> the available qt version, instead of gtk or gtk3?
>>>>
>>>> Shouldn't there be something in the control file like:
>>>>
>>>> gambas3-gb-qt4 (>=3.8) | gambas3-gb-qt5 (>=3.8))
>>>>
>>>> in the sence that one qt excludes the other qt version, but qt will
>>>> be
>>>> used for sure and not gtk/gtk3?
>>>>
>>>> Thanks,
>>>>
>>>> gbWilly
>>>>
>>>
>>> It's a feature I forgot to implement when using "gb.gui.qt", but that
>>> exists when using "gb.gui".
>>>
>>> Check "gb.gui" instead of "gb.gui.qt", and the packager will create
>>> for you:
>>> - One package for your application.
>>> - One dummy package for each GUI component.
>>>
>>> That way, the user can install your application, and then the dummy
>>> package for the GUI he wants to use.
>>>
>>> Regards,
>>>
>>
>> Problem fixed in revision #7525. 'gb.gui.qt' is now correctly handled
>> by
>> the packager.
>>
>> Regards,
>
> Hi Benoît,
>
> Thanks for the quick response.
> Although, I must say I'm not very fond of the 3 .deb packages solution
> when it could be done in 1 .deb package.
>
> Instead of control file with:
>
> Package: borderbug
> Version: 0.0.1-2
> Architecture: all
> Maintainer: willy <willy at ...3551...>
> Installed-Size: 55
> Depends:
>    gambas3-runtime (>= 3.8), gambas3-runtime (<< 3.99.0),
>    gambas3-gb-image (>= 3.8), gambas3-gb-image (<< 3.99.0),
>    gambas3-gb-form (>= 3.8), gambas3-gb-form (<< 3.99.0)
> Section: contrib/editors
> Priority: optional
> Description: Missing description
>    Missing description
>    This program is written in Gambas.
>
> And two more .deb packages with their specific dependencies
> gambas-gb-qt4 and gambas-gb-qt5 in their own control file, gb.gui.qt
> component could make 1 .deb package with following control file:
>
> Package: borderbug
> Version: 0.0.1-2
> Architecture: all
> Maintainer: willy <willy at ...3551...>
> Installed-Size: 55
> Depends:
>    gambas3-runtime (>= 3.8), gambas3-runtime (<< 3.99.0),
>    gambas3-gb-image (>= 3.8), gambas3-gb-image (<< 3.99.0),
>    gambas3-gb-form (>= 3.8), gambas3-gb-form (<< 3.99.0),
>    gambas3-gb-qt4 (>=3.8) | gambas3-gb-qt5 (>=3.8)),
>    gambas3-gb-qt4 (<< 3.99.0) | gambas3-gb-qt5 (<< 3.99.0))
> Section: contrib/editors
> Priority: optional
> Description: Missing description
>    Missing description
>    This program is written in Gambas.
>
> When packaged with above control file you will get 1 .deb package that
> will install on both qt4 and qt5 based systems. This is the Debian
> manner of taking care of such a problem.
>
> These lines take care of that:
>
>    gambas3-gb-qt4 (>=3.8) | gambas3-gb-qt5 (>=3.8)),
>    gambas3-gb-qt4 (<< 3.99.0) | gambas3-gb-qt5 (<< 3.99.0))
>
> If qt4 used, qt5 is excluded and vica versa.
>
> All it would take is make the packager aware that gb.gui.qt is used and
> thus make the control file as described above and thus giving 1 .deb
> package.
>
> I prefer the 1 .deb package solution over the 3 .deb packages solution.
> I hope you feel the same ;)
>
> gbWilly
>

As far as I remember, using "|" cannot not solve all problems. For 
example, if you need the main GUI component, and the corresponding 
opengl component.

This is the reason why I had to make several packages. And it allows the 
user to explicitly choose which GUI he wants to use, whereas the "|" 
feature can lead to a bad choice from the system packager.

Regards,

-- 
Benoît Minisini




More information about the User mailing list