1 # Magical Torbutton Release Process Incantations
3 # "May this part of my job one day be replaced by a small shell script"
6 #. Decide the version number.
9 vim ./src/install.rdf # edit <em:version> tag to reflect version
11 #. Test upgrades of candidate XPI in latest Firefox and TBB product matrix
13 # TODO: Currently manual
15 #. Generate changelog from git shortlog
17 # TODO: Currently manual
19 #. tx noise: https://svn.torproject.org/svn/translation/trunk/documentation/howto.txt
21 cd torbutton.git/trans_tools/po
25 ./validate_all.sh | less
27 torsocks ./new_tb_strings.sh
37 git tag -u mikeperry@fscked.org -s ${VERSION}
38 torsocks git push origin-push --tags
43 torsocks git clone git://git.torproject.org/git/torbutton.git torbutton-release
45 git tag -v ${VERSION} # verify signature against git protocol haaAAXXXX
46 git checkout -b tag-${VERSION} ${VERSION}
50 #. SHA1 + Sign the .xpi
52 gpg -abs ./pkg/torbutton-${VERSION}.xpi
53 sha1sum ./pkg/torbutton-${VERSION}.xpi
55 #. Upload .xpi to website
57 chmod 664 ./pkg/torbutton-${VERSION}.xpi*
58 torsocks scp ./pkg/torbutton-${VERSION}.xpi* vescum:/srv/www-master.torproject.org/htdocs/dist/torbutton/
59 torsocks scp ./pkg/torbutton-${VERSION}.xpi vescum:/srv/www-master.torproject.org/htdocs/dist/torbutton/torbutton-current.xpi
60 torsocks scp ./pkg/torbutton-${VERSION}.xpi.asc vescum:/srv/www-master.torproject.org/htdocs/dist/torbutton/torbutton-current.xpi.asc
62 #. Update update-unsigned.rdf in torbutton.git with package sha1
65 vim update-unsigned.rdf # Add <li> and <description> w/ sha1 and version
67 #. Sign the new update-unsigned.rdf.
69 # Key creation based on these instructions:
70 # Command line: http://blog.techno-barje.fr/post/2009/10/08/How-to-setup-a-mozilla-extension-update-server/
71 # Gui: https://www.binaryturf.com/steps-release-extension-firefox-3/
73 # TODO: Process currently manual due to offline signing.
74 # No need to fear the reaper, man. We can do online signing if we just put
75 # our minds to it: https://trac.torproject.org/projects/tor/ticket/6011
77 # Special note: I was unable to update an already signed
78 # copy of the update.rdf for a new release. We probably need to
79 # keep the unsigned version around as input? See the root directory
80 # of the torbutton.git for a copy.
81 ./mccoy-cli.x86/mccoy -profile ./.mozilla/mccoy/*.default/ -signRDF update-unsigned.rdf -key Torbutton
83 # Copy the signed update.rdf into place in the website svn
88 vim ./include/versions.wmi # Add sha1 and version
89 cp /mnt/update-signed.rdf ./torbutton/update.rdf
96 torsocks ssh vescum "/home/mirroradm/bin/trigger-mirrors"
98 #. Test firefox autoupdate
100 # Wait for mirrors to sync first.. Pester phobos/weasel/helix/Sebastian for
101 # website push + dist chown + mirror update.
102 # TODO: Currently manual
104 #. Announce on tor-talk
106 # FIXME: May need eventual minor improvements
107 echo "Troll food." | mail tor-talk@lists.torproject.org -s "Feed the trolls"