electron/docs/development/upgrading-crashpad.md
2017-11-24 10:40:21 +01:00

1.4 KiB

  • Get the version of crashpad that we're going to use.

    • libcc/src/third_party/crashpad/README.chromium will have a line Revision: with a checksum.
    • clone Electron's Crashpad fork and create a new branch
    • git clone https://chromium.googlesource.com/crashpad/crashpad
    • git checkout 01110c0a3b
    • git remote add electron https://github.com/electron/crashpad
    • git checkout -b electron-crashpad-vA.B.C.D
      • A.B.C.D is the Chromium version found in libcc/VERSION and will be something like 62.0.3202.94
  • Make a checklist of the Electron patches we need to apply e.g. git log --oneline or view http://github.com/electron/crashpad/commits/previous-branch-name

  • Foreach patch:

    • (in new branch) git cherry-pick checksum
    • resolve any conflicts
    • make sure it builds
    • add && commit
  • Push your work: git push electron electorn-crashpad-v62.0.3202.94

  • Update Electron to build the new crashpad:

    • cd vendor/crashpad
    • git fetch
    • git checkout electron-crashpad-v62.0.3202.94
  • Regenerate Ninja files

    • from Electron root's root, run script/update.py
    • script/build.py -c D --target=crashpad_client
    • script/build.py -c D --target=crashpad_handler
    • If both of these work, it's probably good.
  • Push changes to submodule reference

    • (from electron root) git add vendor/crashpad
    • git push origin upgrade-to-chromium-62