[Gambas-user] Specifications for Gambas 3

Kende Krisztián nemh at ...2007...
Sat Oct 26 17:51:15 CEST 2013


> If you don't respect the packaging method described the wiki exactly, 
> the IDE packager won't work and is completely useless.

I suspected that it may have problems.

> > And if I follow the spec, then I have the opportunity to create a
> > gambas application that works on my KDE desktop, but did not work on
> > GNOME. Because IDE is use the gb.qt4 component, my app is use
> > gb.gui, but gb.gtk doesn't installed.
> 
> I understand, but if you app depends on 'gb.gui', it means that it
> can work with 'gb.qt4' or 'gb.gtk' indifferently.

But if use GNOME and gb.gui, then if gb.qt4 intalled and
gb.gtk is not, app not work. In such cases, one component is not a
substitute for the other.
And if I not install gb.qt4 and gb.gtk? The application will not work.
If I follow the spec, gb.gui doesn't depend from this
components.

> To solve your problem, you must be able to create a 'gb.gui' package 
> that either:
> 
> 1) installs 'gb.qt4' OR 'gb.gtk' depending on the desktop binary 
> packages being installed on the system (KDE or razor-qt for 'gb.qt4', 
> every other desktop for 'gb.gtk').

If it would be possible, what if both desktop environment installed?

> 2) ask the user if he wants to install 'gb.qt4' OR 'gb.gtk'.

Sure.

> If you can't do that (and I don't know if it possible, on which 
> distributions), then you must not make gb.gui depends on gb.qt4 and
> gb.gtk.
> 
> The true solution is 1). It seems that is possible with apt, because
> I think some packages are sometimes installed depending on other
> packages that are not "physically" related at all.

If it would be possible, what happens if afterwards I install another
desktop environment?

> >> Remember that the main point of having all these packages is
> >> preventing the user from installing something he doesn't need:
> >> forcing to install 'gb.gtk' or 'gt.qt4' just because you need the
> >> Gambas runtime would carry megabytes of shared libraries!
> >>
> >
> > No, I'm not forcing anyone!
> >
> 
> If gb.gui depends on all GUI packages, you are forcing them to
> install them.
> 

Yes, but if gb.gui located in a separate package, don't have to
install it, just gb.qt4 or gb.gtk. And if you want a universal app,
install the "gambas3-gb-gui" package.

> > If I create a Gambas application with gb.desktop component on KDE,
> > and if I package it, this app maybe doesn't work on GNOME. Are you
> > sure that is how it should work?
> > I understand, the lib is use some RAM, but it's dependency. The
> > gb.desktop component maybe not work without gb.desktop.gnome on
> > other desktop.
> 
> This is the same problem with 'gb.gui'.
> 
> Installing 'gb.desktop' must automatically install 'gb.desktop.gnome'
> as soon as GNOME is detected on the system (or Mate or LXDE).

This is not possible (as far as I know), and raises many issues.
Example, what happens if afterwards I install another desktop
environment? Something depend from something, or not.
I have chance to use "depends", "pre-depends", "recommends",
"suggests", "enhances", "breaks" and "conflicts".

> Is there anyone that can help and explain us how to make a package
> that optionally install another package if some library or package is
> already installed on the system? Is this possible on all package
> systems (mainly for RedHat, Debian and ArchLinux)?

I don't know this would be possible on Debian.




More information about the User mailing list