[Yum-devel] soft deps(Suggests, Recommends, etc)
Florian Festi
ffesti at redhat.com
Tue Sep 8 10:03:24 UTC 2009
On 09/04/2009 05:18 PM, Seth Vidal wrote:
> Thoughts?
> Problems I'm not thinking of with an implementation like this?
> Is this a solution looking for a problem? (distinct possibility in my
> mind)
You should have a deeper look at the soft requirements SUSE is using in
their stack. Their are using additional tags within packages and comps
group like "pattern" that reside in additional files but use the same
tags. The documentation in their wiki [1][2] could be a bit more precise
but I hope we can fix the ambiguities soon (May be asking helps.).
There are some very interesting things that can be done with the right
combination of those tags [3]. With a bit of syntactic sugar and a
depsolver that keeps an eye on some of the installed tags [5] it is
possible to make translation/lang support packages work (smoothly, I
hope) and though could finally replace the conditionals in the comps file.
I personally doubt that a solution that resides in either the packages
or the meta data *only* will be able to solve all or even most use
cases. A lot of stuff is supposed to just work - like language support -
and it should be the packagers responsibility to make it just work.
Grouping packages otoh typically should be done centralized or per spin
or by a user that puts his own view of the (Fedora) world on his home page.
As the natural implementation IMHO is adding virtual packages that
contain the (soft) requires support for those tags in real packages
should be a byproduct as soon as RPM upstream adds those.
The other question is to what extend the yum dep solver is capable of
handling such requirements or can be extended accordingly. As a greedy
(polynomial) algorithm it is too simple to solve the "general package
handling problem" which is (sort of) NP complete (SAT [6] solver,
remember) [7]. While it's short comings may be acceptable in normal
install/update situations massive use of soft requires will make it fail
much more often.
Expect a better founded opinion/posting after my return from the
openSUSE conference in about two weeks.
Florian
[1] http://en.opensuse.org/Software_Management/Dependencies
[2] http://en.opensuse.org/Patterns
[3] http://en.opensuse.org/Software_Management/Dependencies/Conjunctions
[4] http://en.opensuse.org/Software_Management/Dependencies/Language
[5] http://en.opensuse.org/Libzypp/Dependencies/Language/Internals
[6] http://en.wikipedia.org/wiki/Boolean_satisfiability_problem
[7] The typical real world problems can be solved in polynomial time nevertheless the algorithm need to be able deal with all situations.
--
________________________________________________________________________
Reg. Adresse: Red Hat GmbH, Hauptstätter Str. 58, 70178 Stuttgart
Handelsregister: Amtsgericht Muenchen HRB 153243
Geschaeftsfuehrer: Brendan Lane, Charlie Peters, Michael Cunningham,
Charles Cachera
More information about the Yum-devel
mailing list