[sldev] Packaging the viewer for Linux distributions

Ryan Williams (Which) rdw at lindenlab.com
Wed Oct 10 19:21:23 PDT 2007


One thing I noticed in my studies of this problem was that for all 
platforms the viewer consists of two parts:
  - the secondlife executable (~50%)
  - everything else (~50%)

It's cool to come up with a scheme to cut out the everything else, but 
you can get much bigger wins by doing a binary delta on the executable.  
Most versions change 10% or less of the executable from the previous 
version.  I was able to get diffs as small as 1 megabyte by simply 
binary diff-ing between two trees using bsdiff.  That's how Firefox does 
it, and I love the way their updater is completely unobtrusive and fast.

You get the patch from a web service, so simply change the url for that 
in your custom viewer and set up your own patch service, and you're golden.

-RYaN


Robin Cornelius wrote:
> On 10/9/07, Argent Stonecutter <secret.argent at gmail.com> wrote:
>   
>> On 09-Oct-2007, at 09:19, Matthew Wiggins wrote:
>>     
>>> As you've rightly pointed out, there is a significant amount of non-
>>> changing data between releases so we should be able to cut the size
>>> of updates by a large amount. As Bushing Spatula has found on that
>>> VVR-603, getting to a 12MB delta is easily achievable. The main
>>> challenge is producing a system that works on all three platforms
>>> in a pleasing way for the user, and plays nicely with our
>>> versioning process.
>>>       
>> You could use rsync. :)
>>
>> Actually, only half :).
>>
>> It might work.
>>
>>     
>
> Seems like a pretty good idea, librsync can be wrapped up nicely (if
> required) and it should provide a pretty efficient method of update.
> Its cross platform and a standard technology.
>
> My only concern is that there must be a way of disabling it or
> perhapses running a custom script etc so if people are following
> nicholaz patch sets they don't suddenly get updated to a linden
> original etc. Although the update detector currently dosn't do this.
> But it may be nice if it could be redirected so that people running
> 3rd party builds can have there own update repository. It would save
> my upload bandwith.
>
> Robin
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html
>   



More information about the SLDev mailing list