Skip to content
  • Pan-Peach's avatar
    build(net): provision rustup via rsproxy mirror, submodule/cargo-git proxy... · ba0919ca
    Pan-Peach authored
    build(net): provision rustup via rsproxy mirror, submodule/cargo-git proxy override, skip tools disk by default
    
    - rustup-setup.sh: default RUSTUP_DIST_SERVER/UPDATE_ROOT to rsproxy.cn (env-overridable);
      self-bootstrap rustup into fresh CARGO_HOME; GIT_SUBMODULE_PROXY writes url.insteadOf
      into ~/.gitconfig (cargo libgit2 ignores env config, only reads gitconfig files)
    - root/os Makefile prepare-cargo-config: GIT_SUBMODULE_PROXY -> git -c url.<proxy>.insteadOf
    - os/Makefile: BUILD_TOOLS_DISK ?= 0 skips tools disk by default (drops Alpine download
      deps); publish-compatibility tolerates missing tools artifacts
    - orchestration.mk: CARGO_HTTP_TIMEOUT=600 / CARGO_NET_RETRY=10 for flaky github
    - verified cold start on zhouzhouyi/os-contest: make all EXIT=0 in 3m09s with proxy env
      cleared; --network none + pre-seeded deps EXIT=0 in 2m29s (offline build); remaining
      network deps are only rustup download, git submodules and the fdt git dependency
    ba0919ca