diff -r 000000000000 -r 6474c204b198 toolkit/crashreporter/update-breakpad.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/crashreporter/update-breakpad.sh Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,48 @@ +#!/bin/bash +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Usage: update-breakpad.sh + +if [ $# -lt 1 ]; then + echo "Usage: update-breakpad.sh /path/to/google-breakpad/" + exit 1 +fi + +crashreporter_dir=`dirname $0` +repo=${crashreporter_dir}/../.. +rm -rf ${crashreporter_dir}/google-breakpad +svn export $1 ${crashreporter_dir}/google-breakpad + +# remove some extraneous bits +rm -rf ${crashreporter_dir}/google-breakpad/src/third_party/protobuf ${crashreporter_dir}/google-breakpad/src/testing/ ${crashreporter_dir}/google-breakpad/src/tools/gyp/ +# restore our Makefile.ins +hg -R ${repo} st -n | grep "Makefile\.in$" | xargs hg revert --no-backup +# and moz.build files +hg -R ${repo} st -n | grep "moz\.build$" | xargs hg revert --no-backup +# and some other makefiles +hg -R ${repo} st -n | grep "objs\.mk$" | xargs hg revert --no-backup + +# Record `svn info` +svn info $1 > ${crashreporter_dir}/google-breakpad/SVN-INFO + +# Apply any local patches +shopt -s nullglob +for p in ${crashreporter_dir}/breakpad-patches/*.patch; do + if grep -q -e "--git" $p; then + patch_opts="-p1" + else + patch_opts="-p0" + fi + echo "Applying $p" + if ! filterdiff -x '*/Makefile*' $p | \ + patch -d ${crashreporter_dir}/google-breakpad ${patch_opts}; then + echo "Failed to apply $p" + exit 1 + fi +done +# remove any .orig files that snuck in +find ${crashreporter_dir}/google-breakpad -name "*.orig" -print0 | xargs -0 rm + +hg addremove ${crashreporter_dir}/google-breakpad/