Releases/Firefox 34.0.5/BuildNotes

From MozillaWiki
Jump to: navigation, search

Firefox 34.0.5 build1


Truncated because we're only shipping installers


  • catlee's email: "I'm pretty sure what happened here is that the initial sendchange for 34.0.5 had 'FIREFOX_34_0_5' as the prefix for the baseTag. It happens that this also matches the prefix for 34.0's configuration, 'FIREFOX_34_0'. I believe this is why 34.0build2 started again when we started 34.0.5.". Fixed on bug 1102283
  • xulrunner source has failed, missing mozconfig

Updates for beta


  • get the Firefox-34.0.5-build1 blob and run this [ python script on it], upload to Balrog as Firefox-34.0.5-build1-beta
  • point beta-localtest and beta-cdntest rules at Firefox-34.0.5-build1-beta
  • set up bouncer with products Firefox-34.0.5build1-Partial-34.0, Firefox-34.0.5build1-Complete, 4 locations each in the 34.0.5 candidates dir
  • generate update verify configs. On nthomas' laptop:
cd <parent_of_tools, updated to tip>
export PERL5LIB="tools/lib/perl:$HOME/perl5/lib/perl5"  # need Config::General v2.44
# bump for 34.0 build2
perl tools/release/ -p firefox -r Firefox -v 34.0 -a 34.0 -o 34.0b11 -b 2 \
  -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg -t -f \
  -d -l shipped-locales --partial-version 34.0b11 --platform linux --platform linux64 \
  --platform macosx64 --platform win32
# bump for 34.0.5
perl tools/release/ -p firefox -r Firefox -v 34.0.5 -a 34.0.5 -o 34.0 -b 1 \
  -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg -t -f \
  -d -l shipped-locales --partial-version 34.0 --platform linux --platform linux64 \
  --platform macosx64 --platform win32

# modify the 'url' parameters in <complete> and <partials> to use the right bouncer product (see above)

# generate update verify configs
python tools/scripts/updates/ -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform linux64 --output tools/release/updates/mozBeta-firefox-linux64.cfg --release-config-file mozilla/ -b --channel beta-cdntest -t FIREFOX_34_0_5_RELEASE
python tools/scripts/updates/ -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform linux --output tools/release/updates/mozBeta-firefox-linux.cfg --release-config-file mozilla/ -b --channel beta-cdntest -t FIREFOX_34_0_5_RELEASE
python tools/scripts/updates/ -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform macosx64 --output tools/release/updates/mozBeta-firefox-mac64.cfg --release-config-file mozilla/ -b --channel beta-cdntest -t FIREFOX_34_0_5_RELEASE
python tools/scripts/updates/ -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform win32 --output tools/release/updates/mozBeta-firefox-win32.cfg --release-config-file mozilla/ -b --channel beta-cdntest -t FIREFOX_34_0_5_RELEASE

hg -R tools/ diff tools/release/updates > patch

Attached to bug 1071606 as attachment 8529585.

Update verify

# linux32 setup; others don't need anything
sh -c 'rm -f /builds/mock_mozilla/mozilla-centos6-x86_64/buildroot.lock; mock_mozilla -r mozilla-centos6-x86_64 --orphanskill'
mock_mozilla -r mozilla-centos6-x86_64 --init
mock_mozilla -r mozilla-centos6-x86_64 --install autoconf213 python zip mozilla-python27-mercurial git ccache glibc-static.i686 libstdc++-static.i686 perl-Test-Simple perl-Config-General gtk2-devel.i686 libnotify-devel.i686 yasm alsa-lib-devel.i686 libcurl-devel.i686 wireless-tools-devel.i686 libX11-devel.i686 libXt-devel.i686 mesa-libGL-devel.i686 gnome-vfs2-devel.i686 GConf2-devel.i686 wget mpfr xorg-x11-font* imake gcc45_0moz3 gcc454_0moz1 gcc472_0moz1 gcc473_0moz1 yasm ccache valgrind pulseaudio-libs-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 ORBit2-devel.i686 atk-devel.i686 cairo-devel.i686 check-devel.i686 dbus-devel.i686 dbus-glib-devel.i686 fontconfig-devel.i686 glib2-devel.i686 hal-devel.i686 libICE-devel.i686 libIDL-devel.i686 libSM-devel.i686 libXau-devel.i686 libXcomposite-devel.i686 libXcursor-devel.i686 libXdamage-devel.i686 libXdmcp-devel.i686 libXext-devel.i686 libXfixes-devel.i686 libXft-devel.i686 libXi-devel.i686 libXinerama-devel.i686 libXrandr-devel.i686 libXrender-devel.i686 libXxf86vm-devel.i686 libdrm-devel.i686 libidn-devel.i686 libpng-devel.i686 libxcb-devel.i686 libxml2-devel.i686 pango-devel.i686 perl-devel.i686 pixman-devel.i686 zlib-devel.i686 freetype-2.3.11-6.el6_1.8.i686 freetype-devel-2.3.11-6.el6_1.8.i686 freetype-2.3.11-6.el6_1.8.x86_64
mock_mozilla -r mozilla-centos6-x86_64 --cwd /builds/slave --unpriv --shell 'PATH="/tools/buildbot/bin:/usr/local/bin:/usr/lib/ccache:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:/tools/python27-mercurial/bin:/home/cltbld/bin" bash'
# end linux32 setup

mkdir bug1071606 ; cd $_
hg clone
cd tools
wget -O- | patch -p1 
cd release/updates

On b-linux64-hp-021 (screen 0 is linux32, screen 1 is linux64), bld-lion-r5-072, b-2008-ix-0082. Adjust to right config for platform:

./ -c mozBeta-firefox-linux64.cfg 2>&1 | tee log

Results: expected differences in channel-prefs.js and update-settings.ini, no failures:

diff -r source/firefox/defaults/pref/channel-prefs.js target/firefox/defaults/pref/channel-prefs.js
< pref("", "beta");
> pref("", "release");
diff -r source/firefox/update-settings.ini target/firefox/update-settings.ini
< ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release
> ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release
WARN: non-binary files found in diff
WARN: check_updates returned warning for Linux_x86_64-gcc3 downloads/firefox-34.0b11.tar.bz2 vs. downloads/firefox-34.0.5.tar.bz2: 2

No diffs found.

Push to beta

Updates for release

Prep & Testing

There's a possibility we'll want to update from 34.0 to 34.0.5, so we need to have it all setup ahead of time. This will involve some manual snippet generation, setting up bouncer, etc.

Started at

Instead of precisely the above, it was decided that we'll update everyone *except* 34.0 users to 34.0.5, to avoid fatiguing the 34.0 users. Because we had to do it in short order, we used the prepared patch above, which also generated updates for 34.0, and then pruned them out of the live directory (for test snippets) and the staging directory (for release channel snippets). More details below:

  • Landed and reconfiged for it.
  • Moved the FIREFOX_34_0_5_{RELEASE,BUILD1} tags in buildbot-configs to pick up the changes.
  • Used "force build" to start the "release-mozilla-release-firefox_updates" builder.
  • As soon as it finished uploading test snippets, ran the following as ffxbld@aus3-staging:
cd /opt/aus2/incoming/3/Firefox/34.0
find . -name 20141125180439 -exec rm -rf {} \;
  • When the release channel snippets finished uploading, ran the following:
cd /opt/aus2/snippets/staging/Firefox-34.0.5-build1/Firefox
rm -rf 34.0

The completion of the updates builder automatically triggered update verify and announced the snippets on release-drivers (kindof). I had to send mail to clarify the update channel (should've been releasetest) and that 34.0 would NOT receive updates. Update verify is expected to fail for 34.0 -> 34.0.5 (which is probably a good thing, because it lets us verify that we will NOT update those users).

Update verify results:

  • Linux: PASS (only failures were 34.0 -> 34.0.5)
  • Linux64: PASS (only failures were 34.0 -> 34.0.5)
  • Mac: PASS (only failures were 34.0 -> 34.0.5)
  • Win32: PASS (only failures were 34.0 -> 34.0.5)

Pushing them

As ffxbld@aus3-staging:

cd /opt/aus2/snippets/staging/
~/bin/pushsnip Firefox-34.0.5-build1

Landed, retagged, and pushed to production in bug 1108899.