The Open Screen Library uses several external libraries that are compiled from source and fetched from additional git repositories into folders below third_party/. These libraries are listed in the DEPS file in the root of the repository. (DEPS listed with dep_type: cipd or gcs are not managed through git.)
Periodically the versions of these libraries are updated to pick up bug and security fixes from upstream repositories.
Library versions are tracked both in the DEPS file and in git submodules. Using the roll-dep script below will keep the two in sync.
The process is roughly as follows:
Chromium DEPS. These libraries are listed below.roll-dep script to update the git hashes in DEPS and the corresponding git submodule.roll-dep -r jophba --roll-to 229b04537a191ce272a96734b0f4ddcccc31f241 third_party/quiche/srcBUILD.gn file for the corresponding library to handle files moving around, compiler flag adjustments, etc.build (mirrored from Chromium)third_party/libprotobuf-mutator/srcthird_party/jsoncpp/srcthird_party/googletest/src (not kept in sync with Chromium, see comment in DEPS)third_party/quiche/srcthird_party/abseil/src (not kept in sync with Chromium, see comment in DEPS)third_party/libfuzzer/srcthird_party/googleurl/src (not kept in sync with Chromium, see comment in DEPS)buildtools/ is a special case because it is interdependent with third_party/libc++/src and third_party/libc++abi/src; they must all be rolled in one CL.
The steps to roll:
deps_revisions.gni (call it Y).chromium/src/DEPS.$ roll-dep --roll-to X -r <reviewer>@chromium.org buildtools/$ roll=dep --ignore-dirty-tree --roll-to Y third_party/libc++/src$ roll=dep --ignore-dirty-tree --roll-to Z third_party/libc++abi/src$ git cl upload the resulting commits.Roll buildtools/ 5df641722..eca5f0685 (13 commits) is an example of a successful roll CL.
third_party/protobuf: See instructions in third-party/protobuf/README.chromiumthird_party/boringssl/src: See instructions in third_party/boringssl/README.openscreen.mdTODO: Find and link instructions, and list GCS dependencies