incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pedro Giffuni <...@apache.org>
Subject Re: Installation patches
Date Tue, 09 Oct 2012 14:59:09 GMT
Hi Andre;

This initiative is hugely important. Thanks for working on it.

> From: Andre Fischer
...
> 
>Hi,
>
>In the last days I looked into how to create installation patches for updating AOO. 
Using patches instead of full installation packages would lead to smaller files to distribute
for updating AOO on the next release.
>
>I have created a new Wiki page for my findings.  Please see [1] for an overview and the
details of how to create patch files.  Note that I have concentrated on the Windows platform
for the time being.
>
>My results for the impatient:
>
>1. I have written a Perl script with which I have created a Windows Installer MSP patch
file that updates an installed Apache OpenOffice 3.4 to 3.4.1.  Its size is roughly a tenth
of the full installation package.  There are some minor problems, like the about box still
displaying 3.4 as current version in the first line.  The second line is OK.
>
>2. There is already some support for the creation of patch files in the make_installer.pl
script but this functionality is inactive.  It is not triggered by the makefile in module
instsetoo_native/ and therefore I can not say whether it would still work.
>
>
>[1] http://wiki.openoffice.org/wiki/Building_installation_packages
>
>
>Best regards,
>Andre
>
>

By far the Windows case is most important.

I will add here some notes on how it's done on FreeBSD (and optionally linux).


Normal installation files:

For FreeBSD we don't use either .rpm or .deb format: we have epm generate general archive
files. These are later untarred and the ports system takes care of re-tarring into our native
pkg format (actually just a tar file with package listing). As you can imagine generating
packages takes a lot of time: it involves extracting and repackaging.: it would be nice to
have a "raw" mode that just installs things and let our ports/packaging system take over.

Updates:

FreeBSD will be transitioning RSN to the new pkgng format which takes care of dependencies
and updates in third party packages. I haven't looked at it in detail but it is considered
ready for prime time and has been tested extensively. For the base system we have a system
in place which uses bsdiff:

http://www.daemonology.net/bsdiff/

This would be very useful to release binary patches for security fixes or minor updates. Google
chrome used this same mechanism and later enhanced it into Courgette:

http://dev.chromium.org/developers/design-documents/software-updates-courgette

 
hth,

Pedro.


Mime
View raw message