[tor-bugs] #12622 [Tor bundles/installation]: Automate update package distribution for TBB updater

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Aug 11 12:03:09 UTC 2014


#12622: Automate update package distribution for TBB updater
------------------------------------------+--------------------------------
     Reporter:  gk                        |      Owner:  boklm
         Type:  defect                    |     Status:  assigned
     Priority:  major                     |  Milestone:
    Component:  Tor bundles/installation  |    Version:
   Resolution:                            |   Keywords:
Actual Points:                            |  TorBrowserTeam201408D
       Points:                            |  Parent ID:  #4234
------------------------------------------+--------------------------------

Comment (by boklm):

 A first version of an update responses script is available at:

   https://github.com/boklm/tb-update-response

 Currently it can handle the following URL format:

   http://something/${channel}/${operatingsystem}/${tb_version}/${language}

 It works like this:

 The config.yml file contains informations about the update channels
 (stable and alpha in this example), and the current versions
 (informations to generate the incremental .mar files could be added
 here).

 It expects to find .mar files for each release in the directory
 release/${version}, and use the filenames to recognize them.

 The filename for a complete .mar file should be:
   tor-browser-${operatingsystem}-${tb_version}_${language}.mar
 (unless I made a mistake, it should be the same format you used in
 user/brade/tor-browser-bundle.git on branch bug4234-01).

 The filename for an incremental .mar file should be:
   tor-
 browser-${operatingsystem}-${old_tb_version}-${new_tb_version}_${language}.mar

 When you run the script update_responses, it generates in directory
 htdocs the .xml files for all the responses, removes any obsolete file
 and generate an .htaccess file containing rules to redirect requests to
 the correct .xml file. When the script finished running, we can rsync
 the htdocs directory to the web server.

 To test it, I added a few fake .mar files for releases 3.6.4 and 4.0a1.
 I put .mar files for linux32, linux64, win32, osx32 updates in en-US,
 linux32 and linux64 in fr, and an incremental update for 3.6.3 -> 3.6.4
 on linux64 in en-US and fr. And I uploaded the generated files to
 http://tmp.boklm.eu/updates/.

 So we can check a few URLs.

 If we update from 3.6.0 in en-US on linux64, linux32, osx32, win32 on
 the stable channel, we get a complete update to version 3.6.4:
 http://tmp.boklm.eu/updates/stable/linux64/3.6.0/en-US
 http://tmp.boklm.eu/updates/stable/linux32/3.6.0/en-US
 http://tmp.boklm.eu/updates/stable/osx32/3.6.0/en-US
 http://tmp.boklm.eu/updates/stable/win32/3.6.0/en-US

 If we selected the alpha channel, we get the 4.0a1 release:
 http://tmp.boklm.eu/updates/alpha/linux64/3.6.0/en-US
 http://tmp.boklm.eu/updates/alpha/linux32/3.6.0/en-US
 http://tmp.boklm.eu/updates/alpha/osx32/3.6.0/en-US
 http://tmp.boklm.eu/updates/alpha/win32/3.6.0/en-US

 We can get the fr version of the bundle for linux64:
 http://tmp.boklm.eu/updates/stable/linux64/3.6.0/fr

 The es-ES version does not exist (in this example), so we are redirected
 to the en-US version:
 http://tmp.boklm.eu/updates/stable/linux64/3.6.0/es-ES

 If we are updating from version 3.6.3 on linux64 in en-US, an
 incremental update is available:
 http://tmp.boklm.eu/updates/stable/linux64/3.6.3/en-US

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12622#comment:12>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list