Hey Marcus!
beside the minor problems we had with th rpm 4.4.2 update, we got a new cool feature:
Congratulations for the upgrade. Jeff Johnson is probably drinking a beer today to celebrate it. :-)
Enhances/Support Flags for a rpm.
You probably mean Enhances/Suggests here. There's also Recommends, besides these. Detailed documentation is available at: http://www.debian.org/doc/debian-policy/ch-relationships.html
Some people might know them from Debian. Sadly RPM doesnt honor those flags yet. But SmartPM and the new YaST Package manager will support them.
Right!
Semantics behind the 2 rpm tags ---------------------------------
Basically both work similar to Provides/Requires. Atm the information will be just passed into the base package. RPM wont tell you about the relation ship. That work has to be done by high level tools.
1. Suggests =============
"Suggests" is a weak "Requires".
You can suggest big packages, you dont want to enforce. A prominent example might be the hard requirement in taskjuggler to kdepim. Especially Gnome users dont like that much.
Both Recommends and Suggests are weak requirements. The difference is that Recommends is a highly advised dependency, while Suggests defines a soft suggestion.
2. Enhances =============
"Enhances" can be used to promote addon packages. [...]
Yes, Enhances is Suggests reversed.
Possible Solution inside YaST -------------------------------
Below the package listing you have this small info box where you can read the package description/technical informations/Requires|Provides list. An additional tab could be added to this area and the list of additional packages could be shown there. Or the usual dependency solving dialog could be presented.
That's the tricky part. While I completely agree that showing them up is a good start, we should try to implement a sensible way of using that information. We cannot just install them, because otherwise it becomes a true requires. Asking the user to confirm is a bit tricky, since we may get into "suggests of suggests" and become boring. So we should try to understand what is a good way of handling them. That's the part where we create a flame war and then try to collect some useful ideas afterwards. ;-) -- Gustavo Niemeyer http://niemeyer.net