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

willy at ...3474... willy at ...3474...
Tue Dec 15 22:36:53 CET 2015


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




More information about the User mailing list