Clone Chromium Source Codes
科学上网
由于国内无法访问 google 所以需要科学上网,并添加到系统代理上,打开浏览器看能否正常访问。
设置代理
使用 git
克隆代码,git
不像浏览器一样走系统代理,因此需要为 git
配置代理:
$ git config --global http.proxy 127.0.0.1:7890
在克隆代码的过程中会使用 curl
/cipd
,需要配置为 curl
/cipd
配置代理:
$ export http_proxy=127.0.0.1:7890
$ export HTTPS_PROXY=$http_proxy
注:区分大小写
在克隆 chromium
过程中会用到 gsutil
,需要为其配置代理 boto-gsutil
:
$ vim ~/.boto
[Boto]
proxy=127.0.0.1
proxy_port=7890
$ export NO_AUTH_BOTO_CONFIG=~/.boto
安装 depot_tools
克隆 depot_tools
仓库:
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
把 depot_tools
所在位置的绝对路径添加到搜索路径 PATH
:
$ export PATH=$PATH:/path/to/depot_tools
迁出 chromium
代码
创建 chromium
目录:
$ mkdir chromium && cd chromium
通过 fetch
迁出代码及依赖:
$ caffeinate fetch --no-history chromium
构建 chromium
定制开发分支管理
sync fork
origin:main <------------- chromium:main(stable_tag's parent)
| |
| checkout/merge | cherry-pick DEPS from stable_tag
| |
\|/ checkout \|/
origin:dev --------------> origin:stable
我们应当基于 chromium
的稳定分支(见 Chromium Dash)进行开发,这个分支从 chromium:main
产生并且有些不同(e.g. DEPS VERSION)。所以,我们首先应当找到稳定分支的父结点 Cr-Branched-From
,然后让我们的 main
分支与它同步,以保持稳定。
接着,我们可以从自己的 main
分支产生一个用于开发的分支 dev
,当要发布时应合并 main
分支来保持同步稳定的新代码。
当我们自己要发布时,从 dev
产生分支,并且 cherry-pick
那些不在 main
中的部分,主要是版本信息和依赖。