Re: Update mechanism for standalone app/ Delta Updates

Thomas Leonard <[email protected]> Thu, 23 Feb 2017 19:20:44 +0000
Newsgroups gmane.comp.file-systems.zero-install.devel
Message-ID <CAG4opy-g7fHL9V5ZH5CjLxvd05p9TWOdpCReCo6nC+0aOJwaMQ@mail.gmail.com>
On 23 February 2017 at 17:45, Bastian Eicher <[email protected]> wrote:
> 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 agree - that's a better idea!

> 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



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