Benji Weber wrote:
On 20/06/07, Duncan Mac-Vicar
wrote: On Wednesday 20 June 2007 17:56, Jiri Srain wrote:
Hi!
This is my suggestion on how to define the refresh policy with refactored ZYPP:
We need to keep the information when last a source was refreshed in order to decide whether a source needs to be refreshed or not. In addition, we will need some policies defining whether a source should be refreshed or not.
RepoManager has a RepoStatus query with timestamp and checksum both for metadata and last cache build. I think I made them private.
2. Tools which should install a package. They should work as fast as possible. we can pay the price of installing package which already has an update at least in some cases.
This assumption is false in most cases. If the metadata is old then what will happen is that you will solve a old package that will probably match (because packages usually doesnt change dependencies often), but the link (filename) will be wrong and the package will fail.
This used to be a big problem back when YaST did not refresh automatically by default. People did not understand why their package installation was failing.
Perhaps I'm missing something here, if the metadata is out of date it needs to be updated or package installation will likely fail.
Why is checking on app start a problem? Bearing in mind that checking if the repository has changed will take a fraction of a second (My search trawler manages to check hundreds of repositories in a couple of seconds, most users will have maybe 10 subscribed).
The reason for the slowness is not down to checking whether a repository has changed, it is down to updating the changed repositories. Particularly packman/guru often change one or two packages every hour, which requires a complete re-download of ~5mb.
I see the resolution to this as metadata diffing, not assuming that the change doesn't affect the user.
If the package manager is not checking on application start I think it certainly needs to check on download failure, as the most common reason for download failure would then be that the filename has changed.
Checking is OK, displaying a warning that the repo you are using is out-of-date is a good thing. But automatically refreshing is another thing, see also the other branch of this thread. Jano -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org