On Mon, May 28, 2012 at 3:43 AM, Werner LEMBERG
it's a mechanism to avoid broken packages on mirrors.
and by switching from d.o.o to local mirrors' addresses, such mechanism will not work.
but what annoys me is the slow download from outside...
Some time ago I've suggested on this list, IIRC, that the metadata are not transferred completely, but as a diff. yast2 first checks whether the locally stored data are valid, then sends the current version tag to the server, then the server, which is assumed to use git or something similar for revisioning, computes the diff to the current version, signs it, and sends it back. This should reduce the necessary bandwidth *enormously* except for the first time.
Or, instead of signing the diff, the patched metadata should pass the signature check. If it doesn't, the full metadata is downloaded as a fallback. That'd be a lot easier to implement - just save, along with the full metadata, incremental patches. Upon a release, a new patch is added, the full metadata updated, with its signature, no significant amount of extra work, and the repo is backwards compatible with those not aware of incremental metadata updates. Patch naming could be based on versions, but a "versioning-system-agnostic" convention could be: repomd.xml.delta<sha1-hash>.diff.gz Where sha1-hash is the hash from the "source" xml file. The system would only have to check for patches from their own version of the xml, and the system doesn't even to be secure (since it will all be validated by the signature anyway). -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org