blob: 6d071f43b8013804bc489bab22484577763ea26c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#!/usr/bin/env bash
set -e
usage() {
echo "Usage: upgrade_protobuf.sh path/to/protobuf"
echo
echo " Upgrades mozilla-central's copy of the protobuf library."
echo
echo " Get a protobuf release from here:"
echo " https://github.com/google/protobuf/releases"
}
if [[ "$#" -ne 1 ]]; then
usage
exit 1
fi
PROTOBUF_LIB_PATH=$1
if [[ ! -d "$PROTOBUF_LIB_PATH" ]]; then
echo No such directory: $PROTOBUF_LIB_PATH
echo
usage
exit 1
fi
realpath() {
if [[ $1 = /* ]]; then
echo "$1"
else
echo "$PWD/${1#./}"
fi
}
PROTOBUF_LIB_PATH=$(realpath $PROTOBUF_LIB_PATH)
cd $(dirname $0)
# Remove the old protobuf sources.
rm -rf src/google/*
# Add all the new protobuf sources.
cp -r $PROTOBUF_LIB_PATH/src/google/* src/google/
# Remove compiler sources.
rm -rf src/google/protobuf/compiler
# Remove test files.
find src/google -name '*_unittest*' | xargs rm -f
find src/google -name '*unittest_*' | xargs rm -f
find src/google -name 'unittest.*' | xargs rm -f
find src/google -name '*_test*' | xargs rm -f
find src/google -name '*test_*' | xargs rm -f
find src/google -type d -name 'testdata' | xargs rm -rf
find src/google -type d -name 'testing' | xargs rm -rf
# Remove protobuf's build files.
find src/google/ -name '.deps' | xargs rm -rf
find src/google/ -name '.dirstamp' | xargs rm -rf
rm -rf src/google/protobuf/SEBS
# Apply custom changes for building as part of mozilla-central.
echo
echo Applying custom changes for mozilla-central. If this fails, you need to
echo edit the 'toolkit/components/protobuf/src/google/*' sources manually and
echo update the 'toolkit/components/protobuf/*.patch' patch file
echo accordingly.
echo
patch -p4 < 14174.patch
echo
echo Successfully upgraded the protobuf lib!
|