On 09.10.2012 17:39, Pedro Giffuni wrote:
From: Andre Fischer
...
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.
I am not sure what you mean.
I meant that would be nice to have a way to specify "make install" that just
installs the files without
going through intermediate installation sets.
That is already done in the background. Before any archive, installer
or packages are created AOO is setup in a temporary directory. The
following diff prevents the temporary directory from being deleted
before "make install: ends:
diff --git a/main/solenv/bin/modules/installer/simplepackage.pm
b/main/solenv/bin/modules/installer/simplepackage.pm
old mode 100644
new mode 100755
index c6b22d3..0be2496
--- a/main/solenv/bin/modules/installer/simplepackage.pm
+++ b/main/solenv/bin/modules/installer/simplepackage.pm
@@ -579,8 +579,9 @@ sub create_package
if ( $return_to_start ) { chdir($from); }
- print "... removing $tempdir ...\n";
- installer::systemactions::remove_complete_directory($tempdir);
+# print "... removing $tempdir ...\n";
+# installer::systemactions::remove_complete_directory($tempdir);
+ print "... not removing $tempdir ...\n";
}
####################################################
We also don't need EPM to generate tar files.
Should not be too hard to make EPM an optional perquisite when no RPMs
or DEBs are created. Maybe this already works?
This is completely unrelated to the update mechanism though.
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
I looked at that before I realized that msimsp.exe is already handling
the comparison of (binary) files and possibly the creation of binary
diffs (but probably not as good as either bsdiff or courgette.
Linux and OS X don't have msimsp.exe though, so maybe that's why Chrome
invented Courgette ;).
Maybe. But msimsp.exe and bsdiff/courgette solve different problems.
You need more than bsdiff/courgette for a working updater.
I am more interested in the FireFox and Thunderbird update mechanism.
Downloading the patches in the background, preparing the update, and
only on the next restart do the remaining work that requires superuser
or Administrator permissions.
-Andre
Using the native facilities for Windows is fine and that solves more than 80%
of the problem so it sounds like you are on the right track.
Pedro.