* Jeff Johnson <n3...@mac.com> [May 22. 2011 22:04]:
> 
> I see no reason for anything _EXCEPT_ the usual PRCO Gang Of Four:
>       Provides:
>       Requires:
>       Conflicts:
>       Obsoletes:
> 

>From a pure RPM pov, I fully agree.

However, from a user/packager pov, additional dependencies are useful.

In SUSE (not only SLES10, but all versions of SUSE since SLES10) these
are used to e.g. support the following use cases:

1.
The VLC packager wants a 'best effort' experience for the VideoLan
movie player by pulling in as many codecs as possible during install.
However, VLC fails gracefully if a codec is not available, so all the
codecs are not strictly required and VLC installation should not fail
if a codec is missing.
To achieve this behaviour in the VLC package, 'recommends' are used to
pull-in codec package which are installable


2.
When looking at a product at the Amazon website, users are pointed to
other products with "customer who looked at this also looked at that".
This is useful information, esp. when you have a huge amount of
products and putting them all into one list is not practical.
This is where 'suggests' is helpful. The packager can add 'hints' to
the package, to point to other useful and interesting packages.


3.
You found a new game package which might also interest your kids.
However, there are only foreign translations available for this
package and your kid doesn't understand a word.
After a couple of weeks, your package update application shows a new
translation package, you install it and your kid is finally happy.
The translation package has a "supplements" dependency to the original
game thereby enabling the package update application to detect and
install it.


There are many more uses, esp. when it comes to language and hardware
support where SUSE makes use of weak dependencies to improve the user
experience.

Of course, the information encoded in weak dependencies could be
stored differently or even in a different place. By putting it into
the package, you get a clearly defined place, clear semantics, and
packagers don't have to edit multiple places.

Klaus
---
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 
16746 (AG Nürnberg)
Maxfeldstraße 5, 90409 Nürnberg, Germany
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to