[zypp-devel] JFYI: libzypp-6.11.0 supports download policy for commit.
Hi! With libzypp-6.11.0 you can now choose among several download modes. The mode is set in ZYppCommitPolicy. DownloadOnly, //!< Just download all packages to the local cache. //!< Do not install. Implies a dry-run. DownloadInAdvance, //!< First download all packages to the local cache. //!< Then start to install. DownloadInHeaps, //!< Similar to DownloadInAdvance, but try to split //!< the transaction into heaps, where at the end of //!< each heap a consistent system state is reached. DownloadAsNeeded //!< Alternating download and install. Packages are //!< cached just to avid CD/DVD hopping. This is the //!< traditional behaviour. Next steps: - Switch to use the satsolvers new install order computation. This should allow to actually compute the heaps for DownloadInHeaps. Currently it's the same as DownloadInAdvance. - For DownloadInAdvance/DownloadInHeaps we can add file conflict checks. This would be done after the packages are downloaded, but before anything gets installed. -- 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: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
Michael Andres wrote:
Hi!
With libzypp-6.11.0 you can now choose among several download modes. The mode is set in ZYppCommitPolicy.
DownloadOnly, //!< Just download all packages to the local cache. //!< Do not install. Implies a dry-run.
DownloadInAdvance, //!< First download all packages to the local cache. //!< Then start to install.
DownloadInHeaps, //!< Similar to DownloadInAdvance, but try to split //!< the transaction into heaps, where at the end of //!< each heap a consistent system state is reached.
DownloadAsNeeded //!< Alternating download and install. Packages are //!< cached just to avid CD/DVD hopping. This is the //!< traditional behaviour.
Next steps:
- Switch to use the satsolvers new install order computation. This should allow to actually compute the heaps for DownloadInHeaps. Currently it's the same as DownloadInAdvance.
- For DownloadInAdvance/DownloadInHeaps we can add file conflict checks. This would be done after the packages are downloaded, but before anything gets installed.
Great! I already added --download-only option to few zypper commands like in, up, patch, dup, etc. Now it would be nice to be able to choose between the other two modes: DownloadAsNeeded and DownloadInAdvance/InHeaps. Michael, what about adding these to zypp.conf? I don't think it makes sense to have this (also) in zypper.conf, but zypper can provide an option to override the zypp.conf (or the default) mode for current operation. I tried DownloadInAdvance in zypper. Works nicely, but the output will need to be changed (maybe we call some zypp callbacks unnecessarily in case the package is already downloaded, i'll check this). I imagine yast will need some adaptation to this, too. I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this. -- cheers, jano Ján Kupec YaST team ---------------------------------------------------------(PGP)--- Key ID: 637EE901 Fingerprint: 93B9 C79B 2D20 51C3 800B E09B 8048 46A6 637E E901 ---------------------------------------------------------(IRC)--- Server: irc.freenode.net Nick: jniq Channels: #zypp #yast #suse #susecz ---------------------------------------------------------(EOF)---
On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this.
No, please stay backward compatible. Thanks, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
2009/7/27 Michael Schroeder
On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this.
No, please stay backward compatible.
How that would break compatibility? Also, in DownloadInAdvance/DownloadInHeaps mode are file conflicts checked before installation? I mean, run rpm without --force/--replacefiles. -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
On Monday 27 July 2009 16:28:37 Cristian Morales Vega wrote:
2009/7/27 Michael Schroeder
: On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this.
No, please stay backward compatible.
How that would break compatibility?
Also, in DownloadInAdvance/DownloadInHeaps mode are file conflicts checked before installation?
Not yet, but soon. -- 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: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
On Mon, Jul 27, 2009 at 04:28:37PM +0200, Cristian Morales Vega wrote:
2009/7/27 Michael Schroeder
: On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this.
No, please stay backward compatible.
How that would break compatibility?
You need room on your disk to store all of the rpms.
Also, in DownloadInAdvance/DownloadInHeaps mode are file conflicts checked before installation?
Yes, libsatsolver supports this. (The libsatsolver-demo package contains a small package manager called "solv" that demos this feature.)
I mean, run rpm without --force/--replacefiles.
rpm will *alway* we run with --force --nodeps. This has nothing to do with checking for file conflicts. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
Michael Schroeder wrote:
On Mon, Jul 27, 2009 at 04:28:37PM +0200, Cristian Morales Vega wrote:
2009/7/27 Michael Schroeder
: On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this. No, please stay backward compatible. How that would break compatibility?
You need room on your disk to store all of the rpms.
So what? When you're out of space, you'll change the default. You're usually not out of space. And with DownloadInHeaps, the space should not be a problem anyway. I really don't see why we should not default to the safer mode. Also, we should check whether there is enough space on the drives we use anyway. But that's probably something for the future. -- cheers, jano Ján Kupec YaST team ---------------------------------------------------------(PGP)--- Key ID: 637EE901 Fingerprint: 93B9 C79B 2D20 51C3 800B E09B 8048 46A6 637E E901 ---------------------------------------------------------(IRC)--- Server: irc.freenode.net Nick: jniq Channels: #zypp #yast #suse #susecz ---------------------------------------------------------(EOF)---
On Utorok 28 Júl 2009 10:38:50 Jano Kupec wrote:
Michael Schroeder wrote:
On Mon, Jul 27, 2009 at 04:28:37PM +0200, Cristian Morales Vega wrote:
2009/7/27 Michael Schroeder
: On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this.
No, please stay backward compatible.
How that would break compatibility?
You need room on your disk to store all of the rpms.
So what? When you're out of space, you'll change the default. You're usually not out of space. And with DownloadInHeaps, the space should not be a problem anyway. I really don't see why we should not default to the safer mode.
Some notes: - Most of the users have no idea how to change the default. - Trying to compute how much space you need to keep free for package install to succeed is non-trivial - you might end up with a device that's unable to update itself, or only with very high involvement from expert user Stano -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
On Tue, Jul 28, 2009 at 11:24:53AM +0200, Stanislav Visnovsky wrote:
On Utorok 28 Júl 2009 10:38:50 Jano Kupec wrote:
Michael Schroeder wrote:
On Mon, Jul 27, 2009 at 04:28:37PM +0200, Cristian Morales Vega wrote:
2009/7/27 Michael Schroeder
: On Mon, Jul 27, 2009 at 03:37:16PM +0200, Jano Kupec wrote:
I also think the DownloadInAdvance (or even better DownloadInHeaps) should be our new default. At least once yast and zypper is ready for this.
No, please stay backward compatible.
How that would break compatibility?
You need room on your disk to store all of the rpms.
So what? When you're out of space, you'll change the default. You're usually not out of space. And with DownloadInHeaps, the space should not be a problem anyway. I really don't see why we should not default to the safer mode.
I fully agree with Jano.
Some notes: - Most of the users have no idea how to change the default.
Yes. That's a good reason why we should change the default to the saner alternative for them. Whoever needs a special space-efficient update (a minority afaics) will need to be able to figure out how to enable that other mode.
- Trying to compute how much space you need to keep free for package install to succeed is non-trivial
However, maybe zypp could simply fall back to the install&download one by one method, if space is scarce?
- you might end up with a device that's unable to update itself, or only with very high involvement from expert user
That's a good argument, however a trivial workaround is to first install *some* updates, later others. I think that this is that 99% of users will do intuitively, or not? Peter -- Contact: admin@opensuse.org (a.k.a. ftpadmin@suse.com) #opensuse-mirrors on freenode.net Info: http://en.opensuse.org/Mirror_Infrastructure SUSE LINUX Products GmbH Research & Development
On Wednesday 29 July 2009 20:09:52 Peter Poeml wrote:
So what? When you're out of space, you'll change the default. You're usually not out of space. And with DownloadInHeaps, the space should not be a problem anyway.
That's not true. It very much depends on what you do. Installing some patches you may get small heaps, 'zypper dup' might produce pretty lage ones. An if you are running out of disk space, it does not help to simply change the policy. The cache is the one that also keeps the packges if the .reop tells to do so (keeppackages=1). I suppose only few people use that feature, otherwise I'd expect more complaints about missing cache maintenance tools. If keeppackages is on, or if you now abort an installation with DownloadInAdvacne, packages will stay in the cache. So we should offer something to inspect and cleanup (maybe more sophisticated than zupper --clean). -- 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: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
On Monday 27 July 2009 15:37:16 Jano Kupec wrote:
I tried DownloadInAdvance in zypper. Works nicely, but the output will need to be changed (maybe we call some zypp callbacks unnecessarily in case the package is already downloaded, i'll check this).
Yes, there are some superfluous callbacks. I'm about to cleanup the workflow, as it's currently more complicated as it needs to be. -- 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: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
participants (6)
-
Cristian Morales Vega
-
Jano Kupec
-
Michael Andres
-
Michael Schroeder
-
Peter Poeml
-
Stanislav Visnovsky