Mailinglist Archive: yast-devel (144 mails)

< Previous Next >
Re: [yast-devel] Re: [opensuse-factory] zypp global lock problem
  • From: Michael Andres <ma@xxxxxxx>
  • Date: Thu, 21 Feb 2008 12:51:46 +0100
  • Message-id: <20080221115146.GA9807@xxxxxxx>
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

- 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.


Michael Andres

Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4
Michael Andres YaST Development ma@xxxxxxxxxx
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@xxxxxxxxxxxx
For additional commands, e-mail: yast-devel+help@xxxxxxxxxxxx

< Previous Next >