项目作者: nikolowry

项目描述 :
Utility script for building Bromite releases
高级语言: Shell
项目地址: git://github.com/nikolowry/bromite-builder.git
创建时间: 2019-01-02T16:17:34Z
项目社区:https://github.com/nikolowry/bromite-builder

开源协议:GNU General Public License v3.0

下载


Bromite Builder

Utility script for building Bromite releases

Requirements" class="reference-link">Requirements

  • A 64-bit Intel machine running Linux with at least 8GB of RAM.
    More than 16GB is highly recommended.
  • At least 100GB of free disk space.
  • Git and Python for checking out and building Chromium

Setup" class="reference-link">Setup

Ubuntu users’ systems will be bootstrapped via Chromium’s
build/install-build-deps-android.sh
if the --ubuntu-install-build-deps flag is set. It requires root permissions
and may install unwanted software.

All other distro users should follow Chromium’s
Notes For Other Distros

Checking out the repo:

  1. git clone https://github.com/nikolowry/bromite-builder.git; \
  2. cd bromite-builder

Usage" class="reference-link">Usage

Usage instructions are always available by running ./bromite-builder -h or
./bromite-builder --help

  1. Usage: ./bromite-builder [command...] [options...]
  2. Where optional [command] is one of:
  3. build, clean, fetch-sync, prepare, set-revision
  4. If no [command] is set, the default command sequence will be executed:
  5. - set-revision
  6. - fetch-sync
  7. - prepare
  8. - build
  9. Options:
  10. -a, --arch=<arch>
  11. Where <arch> is: arm, arm64, x86, x64.
  12. Defaults to arm
  13. -b, --bromite-git-url=<url>
  14. Where <url> is a Bromite Git repository.
  15. Defaults to https://github.com/bromite/bromite.git
  16. -g, --gn-args=<args>
  17. Where <args> is a string of GN build arguments
  18. -n, --name=<package-name>
  19. Where <package-name> is a valid Android package name
  20. -o, --output-dir=<dir>
  21. Where <dir> is a path to save the APK.
  22. Defaults to ./out
  23. -p, --patches-dir=<dir>
  24. Where <dir> is a path to a directory containing custom patches
  25. -t, --target=<target>
  26. Where Ninja <target> is: chrome_public_apk, system_webview_apk.
  27. Defaults to chrome_public_apk
  28. -r, --revision=<revision>
  29. Where <revision> is a Bromite release tag.
  30. Defaults to latest release
  31. -u, --upstream=<commit-hash>
  32. Where <commit-hash> is a long-format git commit.
  33. Defaults to master's HEAD.
  34. When set, any Chromium tag can be assigned to <revision>
  35. --no-bromite-package-name
  36. Use "org.chromium.chrome" for package name.
  37. Overridden if <package-name> is set
  38. --no-bromite-patches
  39. Only apply patches from Bromite's chromium_patches_list.txt
  40. --no-skip-patches
  41. Exit on failed patch attempts
  42. --dark-navbar
  43. Prefer a dark navigation bar over a white one
  44. --ubuntu-install-build-deps
  45. Run Chromium's build/install-build-deps-android.sh during fetch-sync
  46. -h, --help
  47. Print help menu

Notes" class="reference-link">Notes

Builds produced with bromite-builder differ from official Bromite releases with
the following:

  • Retains Chromium branding and namespace with option --no-bromite-package-name
  • Build flag to revert the white Navigation Bar in the Material Design Refresh (MD2)
    to black with option --dark-navbar
  • GN args to default to disabled symbols for faster build times:
    blink_symbol_level=0 symbol_level=0 enable_resource_allowlist_generation=false treat_warnings_as_errors=false.

If Bromite’s Automated-domain-substitution.patch fails to apply,
Ungoogled Chromium’s
domain substitution utility will be used as a fallback instead. To disable this
fallback, add the --no-skip-patches flag to your bromite-builder command.

Resources" class="reference-link">Resources