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

_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to