Changes

Jump to: navigation, search

UpdateGeneration

1,614 bytes added, 18:49, 21 May 2010
What the Makefiles do, or How to make your own updates
* The <code>make_incremental_update.sh</code> will then compare the contents of the previous/ and current/ directories and generate a manifest and a binary diff of the files in those directory.
* That manifest will then be added to the output file specified, in this case firefox-3.7a5pre.en-US.linux-i686.partial.previous-current.mar, along with the binary diff of the changed files.
 
=== Delivering updates via snippets ===
The actual delivery of updates is beyond the scope of this page on update generation, but I'd feel remiss if I didn't at least mention in passing how it's done.
 
After the complete and partial MAR files are generated and uploaded to the ftp server every night, we create a simple text file containing information about those MAR files. We call these files "snippets" and they have the following format:
 
* Complete:
version=1
type=complete
url=http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010/05/2010-05-21-03-mozilla-central/firefox-3.7a5pre.en-US.linux-i686.complete.mar
hashFunction=sha512
hashValue=f2d06098cca2ef9aa488c088ea709135eff875fbe5102e3a565d5d5af26daf88b79559db73295fb1066bb5ed8f4aa0353d795f2c561f7b8d05cdabacac57a94b
size=11216730
build=20100521030030
appv=3.7a5pre
extv=3.7a5pre
 
* Partial:
version=1
type=partial
url=http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010/05/2010-05-21-03-mozilla-central/firefox-3.7a5pre.en-US.linux-i686.partial.20100520055328-20100521030030.mar
hashFunction=sha512
hashValue=2b707239c8219d2f97d1e6eba4f2cf90201e0b40ec18cd87cc3652b7779b8df031263962d52d90ec00cb3f0abbd98f310ae2636920a438444886f8a3da83bd13
size=460534
build=20100521030030
appv=3.7a5pre
extv=3.7a5pre
 
We then upload these snippets to the Mozilla [[AUS|AUS2]] server. The AUS2 server has internal logic to determine the most recent complete and partial updates available for a given product/branch/version, so that when the client updater requests an update from the server, it's able to redirect to the correct MAR file.
= Staging environment for nightly updates =
Canmove, confirm
2,850
edits

Navigation menu