[yast-devel] Re: [opensuse-factory] yast repositories and software management
On 20/02/2008, Klaus Kaempf <kkaempf@suse.de> wrote:
How much chance is there to be able to call the repository module from within the software module?
Its planned (and looking for community hackers implementing it ;-))
How can one get around the zypp global lock problem? Package selector will obtain a lock on zypp and repository management can't be performed until after it is closed. So displaying them in the same module isn't as trivial as it would appear. AFAIK there's not even a way to release the lock, I ran into this problem when completely random things like requesting the language obtains a zypp lock. -- Benjamin Weber -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
On Wed, Feb 20, Benji Weber wrote:
How can one get around the zypp global lock problem? Package selector will obtain a lock on zypp and repository management can't be performed until after it is closed. So displaying them in the same module isn't as trivial as it would appear.
AFAIK there's not even a way to release the lock, I ran into this problem when completely random things like requesting the language obtains a zypp lock.
Yes, we have to fix this. I already moved architectue and language handling out of ZYpp into ZConfig. So these can be set and retrieved without obtaining a lock. Next will be to kick the global lock and create the ones we really need. - Lock for /etc/zypp/repos.d (repository management) - Lock per repository when refreshing the metadata. We also have to protect the solv files from being altered, while an application is using them. Maybe by obtaining a write-lock to refresh the metadata and creating up to date solv files. Obtaining a read-lock to create a hardlink copy of the solv files, which gets then loaded into the pool. After this the next application is free to update/delete the repo without compromising still running applications. - And maybe one lock for commit. -- cu, Michael Andres +------------------------------------------------------------------+ Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4 +------------------------------------------------------------------+ Michael Andres YaST Development ma@novell.com SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0 +------------------------------------------------------------------+ -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
participants (2)
-
Benji Weber
-
Michael Andres