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