Releases/Firefox 3.5/BuildNotes: Difference between revisions

 
(15 intermediate revisions by 2 users not shown)
Line 124: Line 124:


== Stage and Rename files ==
== Stage and Rename files ==
'''NOT DONE YET'''
We'll have to do something similar to [[Firefox_3.0:BuildNotes#Stage_.26_Rename_files | Firefox 3.0]] with at least the following caveats:
We'll have to do something similar to [[Firefox_3.0:BuildNotes#Stage_.26_Rename_files | Firefox 3.0]] with at least the following caveats:
* Don't trim out contrib builds if they exist
* Don't trim out contrib builds if they exist
* Work is done as ffxbld


  # ffxbld@stage
  # ffxbld@stage
Line 169: Line 169:
== Add index files ==
== Add index files ==
  for dir in `find . -type d -mindepth 1`; do cp -p index.html $dir/; done
  for dir in `find . -type d -mindepth 1`; do cp -p index.html $dir/; done
== Tag and Source package regeneration ==
Because we have so many l10n repositories to deal with it will be best to do this with the automation. We'll need to patch both release_config.py. [[https://bugzilla.mozilla.org/attachment.cgi?id=385739 This patch]] was used to do so.
We have to call it build2 due to the way relbranchoverride works ({{bug|500471}} {{bug|500473}}). You don't need to touch the old* vars since Tag and Source don't use them, but you can if you want. The Source packages will be pushed to 3.5-candidates/build2. Those files should be quickly moved to ~ffxbld and disposed of or moved.
After landing the patch, manually kicked off the tag factory. Once that completed, kicked off source. Once that completed, ran the following to grab and then wipe out the files:
# ffxbld @ stage
rsync -av /home/ftp/pub/firefox/nightly/3.5-candidates/ 3.5-candidates/ && rm -rf /home/ftp/pub/firefox/nightly/3.5-candidates
Then, to stage:
cd ~/firefox-3.5
rsync -av ~/3.5-candidates/build2/source/ source/
Then, pull the source/ dir in on the signing machine and generate a sig for it:
mkdir -p ~/signing-work/firefox-3.5
cd ~/signing-work/firefox-3.5
rsync -av -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' ffxbld@stage.mozilla.org:~/firefox-3.5/source/ stage-unsigned/
rsync -av stage-unsigned/ stage-signed/
cd stage-signed/
sign-files .
cd ..
# should only push the asc here
rsync -nav -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' stage-signed/ ffxbld@stage.mozilla.org:~/firefox-3.5/source/
rsync -av -e 'ssh -i /home/cltsign/.ssh/ffxbld_dsa' stage-signed/  ffxbld@stage.mozilla.org:~/firefox-3.5/source/
Then back on stage, regenerate SUMS files:
cd ~/firefox-3.5
rm *SUMS
~cltbld/bin/checksum-files .


== Bouncer Setup ==
== Bouncer Setup ==
Line 174: Line 204:


== Push to Mirrors ==
== Push to Mirrors ==
'''NOT DONE YET'''
* push the covering index.html in the top level (Monday 2240 EDT/1940 PDT)
Again, like [[Firefox_3.0:BuildNotes#Push_to_mirrors | Firefox 3.0]] we need to push to mirrors in two stage. First pushing '3.5/index.html' and give that lot's of time to get picked up. Then, pushing the actual files. You can update the 'latest-3.5' symlink at this point, too
# ffxbld@stage
rsync -av /home/ffxbld/firefox-3.5/index.html /pub/mozilla.org/firefox/releases/3.5/
# 0045 EDT/2145 PDT
rsync -av --exclude 'contrib*' --exclude '*.exe' --exclude '*.dmg' \
  --exclude '*.bz2' --exclude '*.asc' --exclude '*.mar' --exclude '*.xpi' \
  --exclude '*.bundle' \
  /home/ffxbld/firefox-3.5/ /pub/mozilla.org/firefox/releases/3.5/
* push the stage-merged directory to the releases area (Tuesday 0100 EDT/Monday 2200 PDT)
  rsync -av /home/ffxbld/firefox-3.5/ /pub/mozilla.org/firefox/releases/3.5/


== Update rsync modules ==
== Update rsync modules ==
'''NOT DONE YET'''
As cltbld, replaced two references to 3.5rc3 with 3.5 in /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude
 
== Trim mk builds out ==
mk builds had a horrible bug that prevents updating so we decided not to ship it. {{bug|501344}}.
First, trim the builds out of the releases dir
# ffxbld @ stage
# start in the staging dir
cd ~/firefox-3.5
find . -type d -iname mk -exec rm -r {} \;
# update SUMS files
sed -i -e '/^.*mk.*$/d' SHA1SUMS
sed -i -e '/^.*mk.*$/d' MD5SUMS
# then rsync over to releases
rsync -av --delete ./ /pub/mozilla.org/firefox/releases/3.5/
 
Now, trim out the MU snippets
# cltbld @ aus2-staging
# get rid of the live test snippets first
cd /opt/aus2/incoming/3/Firefox/3.0.11
find . -maxdepth 3 -type d -wholename "*200906021*/mk*" -exec rm -r {} \;
# and now get rid of the beta+release channel snippets in the staging dir
rsync -av 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr/ 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr-or-mk/
cd 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr-or-mk/Firefox/3.0.11
find . -maxdepth 3 -type d -wholename "*200906021*/mk*" -exec rm -r {} \;


== Tag and Source package regeneration ==
== Push Major Update ==
'''NOT DONE YET'''
Prep
Because we have so many l10n repositories to deal with it will be best to do this with the automation. We'll need to patch both release_config.py. The following variable changes should make it happen:
time ~/bin/backupsnip 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr
To release_config.py:
  real    50m34.052s
sourceRepoRevision = 'FIREFOX_3_5rc3_RELEASE'
  user    0m48.859s
relbranchOverride = 'GECKO191_20090623_RELBRANCH'
  sys    2m17.473s
version = '3.5'
buildNumber = 2
baseTag = 'FIREFOX_3_5'
We need to replace all of the revisions in l10n-changesets, too:
# from vim (because macosx sed sucks)
:%s/\s\+.*/    FIREFOX_3_5rc3_RELEASE/g
As well as this patch to factory.py:
diff -r 0bff92bdd6fc process/factory.py
--- a/process/factory.py Tue Jun 23 17:21:47 2009 +0200
  +++ b/process/factory.py Thu Jun 25 09:50:05 2009 -0400
  @@ -1760,7 +1760,7 @@ class ReleaseTaggingFactory(ReleaseFacto
                  workdir=repoName,
                  haltOnFailure=True
                  )
-            for tag in (buildTag, releaseTag):
  +            for tag in [releaseTag]:
                  self.addStep(ShellCommand,
                  name='hg_tag',
                  command=['hg', 'tag', '-u', hgUsername, '-f', '-r',


Had to re-run backupsnip because it was invalidated after we trimmed 3.0.11 mk snippets:
time ~/bin/backupsnip 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr-or-mk
real 52m38.078s
user 0m47.961s
sys 1m35.855s


We have to call it build2 due to the way relbranchoverride works ('''FIXME'''). You don't need to touch the old* vars since Tag and Source don't use them, but you can if you want. The Source packages will be pushed to 3.5-candidates/build2. It would be good to move that dir to ~cltbld or ~ffxbld rather quickly.
~/bin/pushsnip 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr-or-mk


You'll need to do any sort of staging that needs to happen and eventually rsync it out to /pub/mozilla.org/firefox/releases/3.5/.
== Symlink update ==
Update the 'latest' symlink.
cd /pub/mozilla.org/firefox/releases
rm latest-3.5 && ln -s 3.5 latest-3.5
rm latest    && ln -s latest-3.5 latest


== Remove index.html files ==
== Remove index.html files ==
'''NOT DONE YET'''
Once we are fully announced we can remove the index.html files:
Once the website goes live then we can remove the index.html bandaid:
  cd /pub/mozilla.org/firefox/releases/3.5/
  cd /pub/mozilla.org/firefox/releases/3.5/
  find . -name index.html | less
  find . -name index.html | less
  find . -name index.html | xargs rm -v
  find . -name index.html | xargs rm -v
== Push Major Update ==
'''NOT DONE YET'''
make sure to use the no-mn-or-tr dir
== Symlink update ==
'''NOT DONE YET'''
Update the 'latest' symlink.
cd /pub/mozilla.org/firefox/releases
rm latest && ln -s latest-3.5 latest
canmove, Confirmed users
6,439

edits