http://bugzilla.novell.com/show_bug.cgi?id=551956 User ma@novell.com added comment http://bugzilla.novell.com/show_bug.cgi?id=551956#c7 --- Comment #7 from Michael Andres <ma@novell.com> 2009-11-06 06:46:33 MST --- (In reply to comment #6)
I just confirmed with Josef the pool is needed when removing the locks because it compares the results of the lock queries to see whether they intersect or not or they are equal (in results). In case of problem it asks user how to proceed via callback.
I don't see why this is necessary. To queries 'foo*' and '*oo' may or may not produce the same result in a specific context. Anyway they are never equal. IMO zypper rl should remove exactly the query that zypper al would have added. And equal is NOT same result in current context, but same query args which is context independent (syntactically equal, PoolQuery::operator==). Class Locks attempt to adjust the package locks in the Pool is actually wrong, unless you can make sure this pool is not used to commit. On commit the pool would write out the locks as individual package locks, and not the original queries. Better use ResPool::setHardLockQueries. The pool will not just write out the right lockset then, it will also correctly adjust locks in case repos are added/removed from the pool, or new package locks are applied removed by the UI. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.