Software Update:Testing: Difference between revisions

m
upgrading use of deprecated sha1
No edit summary
 
m (upgrading use of deprecated sha1)
 
(15 intermediate revisions by 2 users not shown)
Line 2: Line 2:


Input Parameters:
Input Parameters:
- Update Service URL
* Update Service URL
- Update Service XML File
* Update Service XML File
- Partial Update Patch
* Partial Update Patch
- Complete Update Patch
* Complete Update Patch
- Update Settings
* Update Settings
- UI Features
* UI Features
- Workflows
* Workflows




Line 28: Line 28:
         <patch type="partial"
         <patch type="partial"
               URL="http://download.mozilla.org/foo/bar-partial"
               URL="http://download.mozilla.org/foo/bar-partial"
               hashFunction="SHA1"  
               hashFunction="sha256"  
               hashValue="f11cd48adbbb57f32b5582c6096bed8d483bd927"
               hashValue="68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
               size="324344"/>
               size="324344"/>
         <patch type="complete"
         <patch type="complete"
               URL="http://download.mozilla.org/foo/bar-complete"
               URL="http://download.mozilla.org/foo/bar-complete"
               hashFunction="SHA1"  
               hashFunction="sha256"  
               hashValue="f11cd48adbbb57f32b5582c6096bed8d483bd927"
               hashValue="68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
               size="6243443"/>
               size="6243443"/>
       </update>
       </update>
Line 66: Line 66:
     is the size (in bytes) of the update .mar file. This is currently unused
     is the size (in bytes) of the update .mar file. This is currently unused
     but should be supplied.
     but should be supplied.
   - <patch hashFunction="SHA1" ..>
   - <patch hashFunction="sha256" ..>
     Hash function names are stored here:
     Hash function names are stored here:
     http://lxr.mozilla.org/seamonkey/source/caps/idl/nsICryptoHash.idl
     https://dxr.mozilla.org/mozilla-central/source/netwerk/base/nsICryptoHash.idl
     Test invalid values for hash function name
     Test invalid values for hash function name
   - <patch hashValue=".." ..>
   - <patch hashValue=".." ..>
Line 115: Line 115:
         incompatibilities with enabled extensions, prompt with UI otherwise.
         incompatibilities with enabled extensions, prompt with UI otherwise.
     2 - download minor updates only, prompt for major updates, regardless
     2 - download minor updates only, prompt for major updates, regardless
         of whether or not all enabled extensions are compatible.  
         of whether or not all enabled extensions are compatible.
  Note: The following applies to Gecko 1.9.1 / Firefox 3.5 and below
   BOOLEAN - app.update.log.*                Default: false
   BOOLEAN - app.update.log.*                Default: false
     enables logging for various Update Service components, set preferences
     enables logging for various Update Service components, set preferences
Line 123: Line 124:
       Checker, Downloader, UpdateService, General, UpdateManager,  
       Checker, Downloader, UpdateService, General, UpdateManager,  
       UI:DownloadingPage, UI:CheckingPage, UI:LicensePage, etc.  
       UI:DownloadingPage, UI:CheckingPage, UI:LicensePage, etc.  
  Note: The following applies to Gecko 1.9.2 / Firefox 3.6 and above
  BOOLEAN - app.update.log                  Default: false
    enables logging for the Application Update Service components
   WSTRING - app.update.url.manual          Default: <url>
   WSTRING - app.update.url.manual          Default: <url>
     the default update service XML file URL
     the default update service XML file URL
Line 190: Line 194:
         and the content of each stage of the wizard vary depending on whether
         and the content of each stage of the wizard vary depending on whether
         or not the system was invoked by the user or the background checker.
         or not the system was invoked by the user or the background checker.
==Extension Update Across Major Updates==
To test Extension Update across major application updates with a nightly build, you need:
* some extensions (installed)
* preferably some test extensions that you can hand edit
Open the file '''<tt>compatibility.ini</tt>''' in your profile and change the line that reads something like:
<pre>LastVersion=1.0+_2005071915/1.8b4_2005071915</pre>
to have a number different than the one shown, e.g.:
<tt>LastVersion=1.0+_2005071915/1.8b4_20050719'''00'''</tt>
Now, open prefs.js in your profile and:
add:
<pre>user_pref("app.extensions.version", "5.0");</pre>
(or some other number much larger than the current version)
and make sure there is no line like this:
<tt>user_pref("'''extensions.lastVersion'''", "5.0");</tt> or similar.
Now start Firefox. A wizard UI should appear and allow you to check for updates to your incompatible extensions.
===Functionality===
When the Firefox starts, it detects the update condition that you created by editing the files as described above. It collects a list of addons that are incompatible with the new running instance, and then:
* checks for VersionInfo updates to each of the items in the list... a VersionInfo update is a remove compatibility update provided by the author of the addon through AMO or their custom update.rdf file that says that the existing installed version of the addon is in fact compatible with the new version of Firefox, and requires no new XPI download/install
* after the VersionInfo check reduces the incompatibility list somewhat,  displays a list of addons that are still incompatible and will need to be updated to still be functional.
* checks for newer versions of the said addons.
* when it discovers the updates that are available, shows them to the user and gives them the ability to download and install them now.
* downloads and installs the selected updates
* shows information to the user about any errors encountered in this process, also, shows information about items that are still incompatible (no updates found), and gives the user the ability to opt into auto update checking if the user has previously disabled extension auto update checking.
canmove, Confirmed users
637

edits