Re: Update mechanism for standalone app/ Delta Updates
"Bastian Eicher" <[email protected]> Thu, 23 Feb 2017 18:45:05 +0100
| Newsgroups | gmane.comp.file-systems.zero-install.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Thomas, I would suggest something like <copy-from id='sha256=...'/> instead of <copy-from sha256='...'/> where the ID must exactly match the ID used by one of the implementations in the same feed. This way, if an implementation specified multiple manifest digests the <copy-from> step could "know" about all of them without having to repeat them all. I can implement support for this in the Windows version of Zero Install. I'll also poke around in the OCaml code to see if I can manage a Linux implementation, but no promises. Regards Bastian -----Original Message----- From: Thomas Leonard [mailto:[email protected]] Sent: Mittwoch, 22. Februar 2017 21:00 To: The Zero Install system <[email protected]> Subject: Re: [Zero-install-devel] Update mechanism for standalone app/ Delta Updates On 22 February 2017 at 08:35, Bastian Eicher <[email protected]> wrote: [...] > Zero Install also has the concept of “recipes” that allow > implementations to combine multiple archives or other steps like > renames or removals. For > example: > > <implementation version="1" id="sha256=abc"> > <archive href=".../myapp-v1.zip"/> > </implementation> > > <implementation version="2" id="sha256=xyz"> > <recipe> > <archive href=".../myapp-v1.zip"/> > <archive href=".../myapp-v2-delta.zip"/> > </recipe> > </implementation> > > However, this would only save you from having to upload large updates. > When downloading v2 Zero Install would still need to re-download v1 as > well because it does not know that the existing sha256=abc > implementation corresponds to the myapp-v1.zip archive recipe step. > > @Thomas: Perhaps we could introduce a new recipe step to handle this, > for > example: > > <recipe> > <implementation id="sha256=abc"/> > <archive href=".../myapp-v2-delta.zip"/> </recipe> > > What do you think? I think that's exactly the right way to do it. I can't remember if we agreed a syntax (gmane still isn't fully back up so the link on the roadmap page is broken). Possibly we shouldn't create any more elements called <implementation>, to avoid confusion. Maybe something like this: <recipe> <copy-from sha256='...'/> <archive href=".../myapp-v2-delta.zip"/> </recipe> I'm not finding I have a lot of free time these days, but if someone wants to try it shouldn't be much work. Older versions of 0install will automatically skip <recipe>s with unknown elements. -- talex5 (GitHub/Twitter) http://roscidus.com/blog/ GPG: 5DD5 8D70 899C 454A 966D 6A51 7513 3C8F 94F6 E0CC GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Zero-install-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/zero-install-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Zero-install-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/zero-install-devel