zoukankan      html  css  js  c++  java
  • 编译 chromium 的老版本

    https://chromium.googlesource.com/chromium/src.git/+/master/docs/building_old_revisions.md

    Building old revisions

    Occasionally you may want to check out and build old versions of Chromium, such as when bisecting a regression or simply building an older release tag. Though this is not officially supported, these tips address some common complications.

    This process may be easier if you copy your checkout (starting from the directory containing .gclient) to a new location, so you can just delete the checkout when finished instead of having to undo changes to your primary working directory.

    Get compatible depot_tools

    Check out a version of depot_tools from around the same time as the target revision. Since gclient auto-updates depot_tools, be sure to disable depot_tools auto-update before continuing by setting the environment variable DEPOT_TOOLS_UPDATE=0.

    # Get date of current revision:
    ~/chrome/src $ COMMIT_DATE=$(git log -n 1 --pretty=format:%ci)
    
    # Check out depot_tools revision from the same time:
    ~/depot_tools $ git checkout $(git rev-list -n 1 --before="$COMMIT_DATE" master)
    ~/depot_tools $ export DEPOT_TOOLS_UPDATE=0

    Clean your working directory

    To avoid unexpected gclient behavior and conflicts between revisions, remove any directories that aren‘t part of the revision you’ve checked out. By default, Git will preserve directories with their own Git repositories; bypass this by passing the --force option twice to git clean.

    $ git clean -ffd
    

    Repeat this command until it doesn't find anything to remove.

    Sync dependencies

    When running gclient sync, also remove any dependencies that are no longer required:

    $ gclient sync -D --force --reset
    

    Warning: gclient sync may overwrite the URL of your origin remote if it encounters problems. You'll notice this when Git starts thinking everything is “untracked” or “deleted”. If this happens, fix and fetch the remote before continuing:

    $ git remote get-url origin
    https://chromium.googlesource.com/chromium/deps/opus.git
    $ git remote set-url origin https://chromium.googlesource.com/chromium/src.git
    $ git fetch origin
    

    It may also be necessary to run the revision's version of build/install-build-deps.sh.

    Build

    Since build tools change over time, you may need to build using older versions of tools like Visual Studio.

    You may also need to disable goma (if enabled).

    Get back to trunk

    When returning to a normal checkout, you may need to undo some of the changes above:

    • Restore depot_tools to the master branch.

    • Clean up any _bad_scm/ directories in the directory containing .gclient.

    • Revert your .gclient file if gclient changed it:

      WARNING: gclient detected an obsolete setting in your .gclient file.  The
      file has been automagically updated.  The previous version is available at
      .gclient.old.
      
  • 相关阅读:
    Web APP开发技巧总结
    2015年 移动开发都有哪些热点?
    手机APP UI设计尺寸基础知识
    最新Android & iOS设计尺寸规范
    给iOS开发者的Android开发建议
    Android 应用开发推荐书单
    Android 你应该知道的学习资源 进阶之路贵在坚持
    一篇文章让你读懂iOS和Android的历史起源
    Android平台上最好的几款免费的代码编辑器
    Google 发布的15个 Android 性能优化典范
  • 原文地址:https://www.cnblogs.com/bigben0123/p/13705280.html
Copyright © 2011-2022 走看看