File: README.chromium

package info (click to toggle)
chromium-browser 70.0.3538.110-1~deb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,619,476 kB
  • sloc: cpp: 13,024,755; ansic: 1,349,823; python: 916,672; xml: 314,489; java: 280,047; asm: 276,936; perl: 75,771; objc: 66,634; sh: 45,860; cs: 28,354; php: 11,064; makefile: 10,911; yacc: 9,109; tcl: 8,403; ruby: 4,065; lex: 1,779; pascal: 1,411; lisp: 1,055; awk: 41; jsp: 39; sed: 17; sql: 3
file content (93 lines) | stat: -rw-r--r-- 3,536 bytes parent folder | download
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Name: Protocol Buffers
Short Name: protobuf
URL: https://github.com/google/protobuf
License: BSD
License File: LICENSE
Version: 3.5.2
Revision: cf242503ec157a7dda8a6eda48712dd26c81d2e6
Security Critical: yes

Steps used to create the current version:
1. Pull the release from https://github.com/google/protobuf/releases
2. Add build files (BUILD.gn, proto_library.gni).

   Be sure to update the list of source files, as additional .cc files and
   headers might have been added -- you need to find the transitive closure of
   include files required by targets.

   Other things to care about are defines required by protobuf on various
   platforms, warnings generated by compilers, and new dependencies introduced.
3. Add DEPS and OWNERS.
4. Add mirclient.cc and mirclient.map.
5. Get open-source library six.py from https://pypi.python.org/pypi/six/ and add
   it to protobuf/third_party/six/six.py.
6. Apply patches in patches/ (see the description below):

   $ for patch in patches/*; do patch -s -p1 < $patch; done

   For future releases, it will be worth looking into which patches still need
   to be applied. In case of conflict, update those patches accordingly and save
   them back in place (i.e. in patches directory).
7. Generate well_known_types_embed.cc and descriptor_pb2.py using the script
   "gen_extra_chromium_files" in the same directory as this file.

8. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
9. Update README.chromium.

Note about libmirclient:

On Ubuntu, Chromium has an indirect dependency on the system
libprotobuf-lite through libmirclient (through GTK).  The symbols in
the system library conflict with Chromium's libprotobuf-lite used on
component builds.

mirclient.* are added to stub out libmirclient.so.9 to prevent loading
the system libprotobuf-lite.  Chromium's replacement libmirclient will
get loaded, but its symbols will never be used directly or indirectly.

Description of the patches:

- 0003-remove-static-initializers.patch

  This patch removes all static initializers from Chromium. The change in Status
  class is not completely compatible with upstream, but it's compatible enough
  to work in Chromium, which doesn't use this functionality yet. The work on
  upstreaming the removal of static initializers is in progress:
  https://github.com/google/protobuf/issues/1404

- 0004-fix-integer-types-and-shared-library-exports.patch

  This patch makes protobuf int64 to be int64_t (as opposed to long long in
  upstream), and similarly for other integer types. It also allows exporting
  protobuf symbols in Linux .so libraries, so that protobuf can be built as a
  component (see http://crrev.com/179806).

- 0008-uninline_get_empty_string.patch
- 0009-uninline-arenastring.patch
- 0010-uninline-generated-code.patch

  These patches uninline some functions, resulting in a significant reduction
  (somewhere between 500 KB and 1 MB) of binary size.

- 0012-fixes-for-js-embed-cc.patch

  Fixed in https://github.com/google/protobuf/pull/1549

- 0015-fixes-forcing-value-to-bool.patch

  Fixes an MSVC error that forbids conversion from int to bool.  Needs
  to be upstreamed.

- 0020-Add-support-for-libc-on-Windows.patch

  Cherry-picks upstream https://github.com/google/protobuf/commit/3ba21cd5f

- 0021-Fix-protobuf-s-library-.gitinore-file.patch

  Un-ignores python/google/protobuf/descriptor_pb2.py

- 0022-proto_writer_render_bytes_override.patch

  Corrects override in proto_writer.h.
  https://github.com/google/protobuf/pull/4707