Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: third_party/protobuf/README.chromium

Issue 2935953002: Fix protobuf's Python runtime and imports.
Patch Set: debug import path Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/protobuf/BUILD.gn ('k') | third_party/protobuf/proto_library.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Name: Protocol Buffers 1 Name: Protocol Buffers
2 Short Name: protobuf 2 Short Name: protobuf
3 URL: https://github.com/google/protobuf 3 URL: https://github.com/google/protobuf
4 License: BSD 4 License: BSD
5 License File: LICENSE 5 License File: LICENSE
6 Version: 3.0.0-beta-3 6 Version: 3.0.0-beta-3
7 Revision: 3470b6895aa659b7559ed678e029a5338e535f14 7 Revision: 3470b6895aa659b7559ed678e029a5338e535f14
8 Security Critical: yes 8 Security Critical: yes
9 9
10 Steps used to create the current version: 10 Steps used to create the current version:
11 1. Pull the release from https://github.com/google/protobuf/releases 11 1. Pull the release from https://github.com/google/protobuf/releases
12 2. Add build files (BUILD.gn, proto_library.gni) 12 2. Add build files (BUILD.gn, proto_library.gni)
13 13
14 Be sure to update the list of source files, as additional .cc files and 14 Be sure to update the list of source files, as additional .cc files and
15 headers might have been added -- you need to find the transitive closure of 15 headers might have been added -- you need to find the transitive closure of
16 include files required by targets. 16 include files required by targets.
17 17
18 Other things to care about are defines required by protobuf on various 18 Other things to care about are defines required by protobuf on various
19 platforms, warnings generated by compilers, and new dependencies introduced. 19 platforms, warnings generated by compilers, and new dependencies introduced.
20 3. Get open-source library six.py from https://pypi.python.org/pypi/six/ and add 20 3. Get open-source library six.py from https://pypi.python.org/pypi/six/ and add
21 it to protobuf/third_party/six/six.py. 21 it to protobuf/third_party/six/six.py.
22 4. Apply patches in patches/ (see the description below): 22 4. Apply patches in patches/ (see the description below):
23 23
24 $ for patch in patches/*; do patch -s -p1 < $patch; done 24 $ for patch in patches/*; do patch -s -p1 < $patch; done
25 25
26 For future releases, it will be worth looking into which patches still need 26 For future releases, it will be worth looking into which patches still need
27 to be applied. 27 to be applied.
28 5. Generate descriptor_pb2.py using something like the following steps. Make 28 5. Update README.chromium.
29 sure you've regenerated your buildfiles and will build protoc from the
30 newly-modified sources above.
31
32 $ cd $SRC_DIR
33 $ ninja -C out/Debug protoc
34 $ cd third_party/protobuf/src
35 $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor .proto
36
37 6. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
38 7. Update README.chromium.
39 29
40 Note about libmirclient: 30 Note about libmirclient:
41 31
42 On Ubuntu, Chromium has an indirect dependency on the system 32 On Ubuntu, Chromium has an indirect dependency on the system
43 libprotobuf-lite through libmirclient (through GTK). The symbols in 33 libprotobuf-lite through libmirclient (through GTK). The symbols in
44 the system library conflict with Chromium's libprotobuf-lite used on 34 the system library conflict with Chromium's libprotobuf-lite used on
45 component builds. 35 component builds.
46 36
47 mirclient.* are added to stub out libmirclient.so.9 to prevent loading 37 mirclient.* are added to stub out libmirclient.so.9 to prevent loading
48 the system libprotobuf-lite. Chromium's replacement libmirclient will 38 the system libprotobuf-lite. Chromium's replacement libmirclient will
(...skipping 30 matching lines...) Expand all
79 69
80 These patches uninline some functions, resulting in a significant reduction 70 These patches uninline some functions, resulting in a significant reduction
81 (somewhere between 500 KB and 1 MB) of binary size. 71 (somewhere between 500 KB and 1 MB) of binary size.
82 72
83 - 0011-libprotobuf_export.patch 73 - 0011-libprotobuf_export.patch
84 74
85 During merge with internal branch, the dll export attribute was accidentally 75 During merge with internal branch, the dll export attribute was accidentally
86 removed in C++11 mode. 76 removed in C++11 mode.
87 77
88 Fixed in https://github.com/google/protobuf/pull/1549 78 Fixed in https://github.com/google/protobuf/pull/1549
OLDNEW
« no previous file with comments | « third_party/protobuf/BUILD.gn ('k') | third_party/protobuf/proto_library.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698