| OLD | NEW |
| 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: http://protobuf.googlecode.com/svn/trunk |
| 4 License: BSD | 4 License: BSD |
| 5 License File: LICENSE | 5 License File: COPYING.txt |
| 6 Version: unknown | 6 Version: unknown |
| 7 Revision: 6994b07f1480f658e2ea6262f8ca804e836ef1d2 | 7 Revision: r476 |
| 8 Security Critical: yes | 8 Security Critical: yes |
| 9 | 9 |
| 10 Steps used to create the current version: | 10 Local files (not taken from upstream): |
| 11 (1) Download and unpack protobuf sources from | 11 README.chromium |
| 12 https://github.com/google/protobuf/archive/master.zip . | 12 config.h |
| 13 (2) Apply the patches in patches/ in order. In all these cases, after | 13 descriptor2_pb.py |
| 14 determining how to adapt the patch to the current protobuf codebase, you | |
| 15 should regenerate the patch for the next maintainer. | |
| 16 | 14 |
| 17 A brief description of each patch: | 15 A protobuf.gyp file has been added for building with Chromium. |
| 18 00: Add initial GYP/GN buildfiles, DEPS, OWNERS, and README.chromium. You | 16 |
| 19 will need to modify the README to include the correct revision, and modify | 17 This code has been patched to support unknown field retention in protobuf-lite. |
| 20 the buildfiles to reflect the actual files in the source tree, what they | 18 See r62331 for the patch. |
| 21 #include, what warnings they trigger, etc. | 19 |
| 22 01: Miscellaneous build fixes to make the upstream sources compile. At this | 20 This code has been patched to ensure that files in the target protobuf_lite |
| 23 point you should be able to build the protobuf_* and protoc targets (but | 21 do not include headers from protobuf_full. See r173228 for the patch. |
| 24 not necessarily anything depending on them). | 22 |
| 25 02: Add unknown field retention to protobuf_lite. This is a large and complex | 23 This code has been patched to make the target protobuf_lite a component so that |
| 26 patch which will likely require reworking to apply correctly. Changes to | 24 targets that depend on it can be componentized. See http://crbug.com/172800 for |
| 27 .pb.* files can likely be autogenerated once you apply the rest of the | 25 details, and r179806 for the patch. |
| 28 patch and rebuild protoc; look at step (3) below and the | 26 |
| 29 generate_descriptor_proto.sh script in the protobuf root directory for a | 27 Revision 504 was cherry-picked from upstream. |
| 30 guide. Based on http://crrev.com/62331 and http://crrev.com/173228 . | 28 Revision 512 was cherry-picked from upstream. |
| 31 03: Convert protobuf_lite to a component. Based on http://crrev.com/179806 . | 29 Revision 516 was cherry-picked from upstream. |
| 32 04: Uninline various functions. Based on http://crrev.com/307332 . | 30 Revision 517 was cherry-picked from upstream. |
| 33 (3) Generate descriptor_pb2.py using something like the following steps. Make | 31 Revision 522 was cherry-picked from upstream. |
| 34 sure you've regenerated your buildfiles and will build protoc from the | 32 Revision 523 was cherry-picked from upstream. |
| 35 newly-modified sources above. | 33 Revision 524 was cherry-picked from upstream. |
| 36 $ cd $SRC_DIR | 34 Revision 573 was cherry-picked from upstream. |
| 37 $ ninja -C out/Debug protoc | 35 The `&file->options() != NULL &&` was removed from descriptor.cc |
| 38 $ cd third_party/protobuf/src | 36 References to `vector` were changed to `std::vector` in extension_set.h |
| 39 $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor.
proto | 37 and unknown_field_set.h |
| 40 $ cd .. | 38 |
| 41 $ git add -f python/google/protobuf/descriptor_pb2.py | 39 GetEmptyString() and GoogleOnceInit() have been uninlined, for a large savings |
| 42 $ git commit | 40 in binary size. |
| 43 (4) At this point you should be done, and able to successfully build everything. | 41 |
| 42 A BUILD.gn file has been added for building with GN. |
| 43 |
| 44 Cherry-pick pherl changes to make protobuf build on VS2015. |
| 45 |
| 46 Cherry-pick c3cb53b (fix "sometimes-uninitialized" warning). |
| 47 |
| 48 Cherry-pick https://github.com/google/protobuf/commit/56a90a2081379a5 |
| 49 |
| 50 Cherry-pick https://github.com/google/protobuf/commit/69d660b39ceabea |
| OLD | NEW |