Stanislav Brabec wrote:
Hallo.
I have a package libgda, which contains many database plugins.
What to do with plugin packages, which provide a xxx support for libgda.
Suppose I will do:
Package: libgda-mysql Enhances: libgda
Package: libgda-postgres Enhances: libgda
This will probably cause, that beginner will click OK for all and package manager will install all available databases as hard-dependencies of all these plugins.
Lets resolve the issue here, where it originates from, instead of hardcoding assumptions about the user preferences into packages: Display the enhancing packages in a way that the user is not tempted to click ok for all.
But I want to suggest here: "Yes, libgda-mysql enhances libgda, but if you don't have mysql installed, you probably have no usage for it." Once in future, if user installs mysql package, libgda-mysql should be suggested.
What I really need, is probably: Enhances: ( libgda + mysql )
Such assumption as what the user probably has or has not usage for doesn't belong to low level stuff like a package. A package cannot (and should not) know everything about all the system and the about the user preferences. In this case, what if the user intends to use a mysql on a remote machine?
One of suggestions says, do not offer or warn about enhancement packages with a lot of unresolved dependencies. But it is not a solution.
For example I have also:
Package: gstreamer-plugins-extra Enhances: gstreamer
The package also has many unresolved dependencies, but I really want to suggest here: "Yes, install all these dependencies to have a cool gstreamer package."
Whether a package is cool for a user depends on his preferences, something a high level setup tool can know about but a package cannot..
Is such feature possible or planned or what is the syntax?
And additional ideas:
Is it possible to use Enhances for virtuals or Suggests for symbols instead of package name? I want to say: "Yes gimp-help enhances both gimp and gimp-unstable."
Package: gimp-help Enhances: gimp-2.0
Package: gimp Provides: gimp-2.0
Package: gimp-unstable Provides: gimp-2.0
Both the hard/soft dependencies are after Provides (if I'm correct), there should be no problem.
Maybe it should be evident, why package Suggests/Enhances other package, to provide enough information to user. For example:
Package: mc Suggests: (xv eog gv pdftotext)("To provide default viewers. You can define different viewers and ignore these suggestions.")
Package: gnome-session Suggests: gnome2-user-docs("To provide enhanced user documentation.")
The purpose should be obvious from the suggested package description. Best Regards, Marian