gecko-dev/toolkit/crashreporter/update-breakpad.sh
Ted Mielczarek 0daf84bc8f bug 838882 - Add ability to apply local patches to update-breakpad.sh NPOTB
--HG--
extra : rebase_source : eca6cf7c6a11f57c5318fe66aa1cb0ab06d4d676
2013-02-06 18:58:26 -05:00

45 lines
1.4 KiB
Bash
Executable File

#!/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 <path to breakpad SVN>
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 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
hg addremove ${crashreporter_dir}/google-breakpad/