doc: Improve dependencies.md #31895

pull NicolaLS wants to merge 6 commits into bitcoin:master from NicolaLS:doc-followup changing 1 files +33 −20
  1. NicolaLS commented at 1:29 pm on February 18, 2025: contributor

    Small improvements to the dependencies.md documentation as a follow-up for #31634.

    Linux Kernel does not need to be in the dependencies as it is not required for cross-compiling from other systems, and users building on Linux should not expect they can build using any EOL kernel, see: #31634 (review)

    Runtime dependencies do not have a “Version Used” unless they are self-compiled using depends in that case, the “Version Used” is apparent and does not have to be mentioned explicitly. Removing “Version Used” makes the documentation easier to maintain. Adding a table for runtime dependencies also improves readability of all tables. See: #31634 (comment)

  2. DrahtBot commented at 1:29 pm on February 18, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31895.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Stale ACK jonatack, hodlinator

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #32128 (Draft: CCoinMap Experiments by martinus)
    • #31802 (Add bitcoin-{node,gui} to release binaries for IPC by Sjors)
    • #28710 (Remove the legacy wallet and BDB dependency by achow101)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  3. DrahtBot added the label Docs on Feb 18, 2025
  4. NicolaLS commented at 2:14 pm on February 18, 2025: contributor
  5. in doc/dependencies.md:43 in ee4689f48d outdated
    57+| [Qt](../depends/packages/qt.mk) (gui) | [link](https://download.qt.io/official_releases/qt/) | [5.15.16](https://github.com/bitcoin/bitcoin/pull/30774) | [5.11.3](https://github.com/bitcoin/bitcoin/pull/24132) |
    58+| [ZeroMQ](../depends/packages/zeromq.mk) (notifications) | [link](https://github.com/zeromq/libzmq/releases) | [4.3.4](https://github.com/bitcoin/bitcoin/pull/23956) | 4.0.0 |
    59+| [Berkeley DB](../depends/packages/bdb.mk) (legacy wallet) | [link](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.30 | 4.8.x |
    60+| [SQLite](../depends/packages/sqlite.mk) (wallet) | [link](https://sqlite.org) | [3.38.5](https://github.com/bitcoin/bitcoin/pull/25378) | [3.7.17](https://github.com/bitcoin/bitcoin/pull/19077) |
    61+| Python (scripts, tests) | [link](https://www.python.org) | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) |
    62+| [systemtap](../depends/packages/systemtap.mk) ([tracing](tracing.md)) | [link](https://sourceware.org/systemtap/) | [4.8](https://github.com/bitcoin/bitcoin/pull/26945)| N/A |
    


    hodlinator commented at 4:04 pm on February 18, 2025:
    Might be so cheeky as to order these alphabetically? Also CMake/Boost at the top.

    NicolaLS commented at 4:34 pm on February 18, 2025:
    Sure :)

    NicolaLS commented at 4:44 pm on February 18, 2025:
    14c85a9b3753b40e8cf9f2808530fa922c8a3473 (Uppercase letters before lowercase letters)

    hodlinator commented at 6:44 pm on February 18, 2025:
    0₿ touch A
    1₿ touch a
    2₿ ls [Aa]
    3a  A
    

    Doesn’t match GNU ls order.. but it does match ASCII order. :+1:


    hodlinator commented at 7:36 am on April 3, 2025:
    Sorry I lost track of this PR. Will try to get to reviewing after rebase, maybe not this week though.

    NicolaLS commented at 3:51 pm on April 3, 2025:
    no worries, thanks :) (rebased now)
  6. NicolaLS marked this as ready for review on Feb 18, 2025
  7. DrahtBot added the label Needs rebase on Apr 2, 2025
  8. doc: Remove Linux Kernel from dep. table
    Linux Kernel is neither an optional nor a required dependency for
    Bitcoin Core.
    8ac783d650
  9. NicolaLS force-pushed on Apr 3, 2025
  10. DrahtBot removed the label Needs rebase on Apr 3, 2025
  11. hodlinator approved
  12. hodlinator commented at 2:10 pm on April 7, 2025: contributor

    ACK f3d2e9acbf3d9407101290ca86f014e82344cfce

    Concept

    Separates build and runtime dependencies into separate tables which makes more sense.

    Nits

  13. NicolaLS force-pushed on Apr 8, 2025
  14. NicolaLS commented at 3:39 pm on April 8, 2025: contributor

    ACK f3d2e9a

    Concept

    Separates build and runtime dependencies into separate tables which makes more sense.

    Nits

    * Slight preference of using `### Build` over `**Build:**`, but it's subjective.
    
    * Maybe [32bdc7d](https://github.com/bitcoin/bitcoin/commit/32bdc7dc47bcd67458bc8f687fcf8659ec3f0b1e) could also include a link to https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/cmake.scm?id=53396a22afc04536ddf75d8f82ad2eafa5082725#n169 in the commit message, since it's a bit opaque otherwise?
    

    Thanks. Fixed both nits, I also think headlines are better.

  15. hodlinator approved
  16. hodlinator commented at 9:20 am on April 9, 2025: contributor

    re-ACK 8da43955376bde65fa517af462fd2a1514764d2b

    PR addresses feedback from at least 3 long-time contributors (see comment links in PR description).

    Changes: Addressed nits from first ACK.

    Nice bonus that one can now link directly to a specific sub-heading. https://github.com/bitcoin/bitcoin/blob/8da43955376bde65fa517af462fd2a1514764d2b/doc/dependencies.md#build-1

  17. doc: Split dep. tables into build and runtime
    - Simplify distinguishing build/runtime dependencies (two tables instead
      of searching through the lines of one table looking at the `Runtime`
      column).
    - Consolidates build/runtime information better, rows in tables don't
      repeat the same information anymore (i.e. "No"/"Yes").
    - Don't reference `Version used` for runtime dependencies as they are
      unknown unless the dependencies are built using `depends` in that case
      the versions used are apparent.
    e85af1995e
  18. in doc/dependencies.md:39 in 8da4395537 outdated
    52+### Build
    53+
    54+| Dependency | Releases | Version used | Minimum required |
    55+| --- | --- | --- | --- |
    56+| [Berkeley DB](../depends/packages/bdb.mk) (legacy wallet) | [link](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.30 | 4.8.x |
    57+| Python (scripts, tests) | [link](https://www.python.org) | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) |
    


    maflcko commented at 9:49 am on April 9, 2025:

    Not sure if “version used” is accurate here. As build dep, it is only used for macos in guix, so any version can be used. The version used is specified by guix.

    Similarly, as a runtime dep to run scripts or tests, any version can be used.


    fanquake commented at 9:59 am on April 9, 2025:
    Yep. This seems to be morphing from general documentation, to, “what happens to be used in Guix”, which isn’t necessarily relevant. Same for CMake, I don’t think version used should be listed here.

    NicolaLS commented at 6:48 pm on April 14, 2025:
    Agreed. Removed both commits (adding CMake version used/adding Python version used) and updated the PR description.
  19. NicolaLS force-pushed on Apr 14, 2025
  20. in doc/dependencies.md:23 in fefe8fc3c3 outdated
    18@@ -19,8 +19,8 @@ Bitcoin Core requires one of the following compilers.
    19 
    20 | Dependency | Releases | Version used | Minimum required |
    21 | --- | --- | --- | --- |
    22-| CMake | [link](https://cmake.org/) | N/A | [3.22](https://github.com/bitcoin/bitcoin/pull/30454) |
    23 | [Boost](../depends/packages/boost.mk) | [link](https://www.boost.org/users/download/) | [1.81.0](https://github.com/bitcoin/bitcoin/pull/26557) | [1.73.0](https://github.com/bitcoin/bitcoin/pull/29066) |
    24+| CMake | [link](https://cmake.org/) | [3.24.2](https://github.com/bitcoin/bitcoin/pull/30730) | [3.22](https://github.com/bitcoin/bitcoin/pull/30454) |
    


    jonatack commented at 7:37 pm on April 18, 2025:
    In commit fefe8fc3c38701bdc3a3b1c6e4d0c8885f94e75f ISTM the CMake entry shouldn’t change in this commit, apart from ordering alphabetically (why does it change here)

    NicolaLS commented at 0:55 am on April 20, 2025:
    ah yes messed up the rebase..fixed now.
  21. in doc/dependencies.md:4 in fefe8fc3c3 outdated
    0@@ -1,8 +1,8 @@
    1 # Dependencies
    2 
    3 These are the dependencies used by Bitcoin Core.
    4-You can find installation instructions in the `build-*.md` file for your platform.
    5-"Runtime" and "Version Used" are both in reference to the release binaries.
    6+You can find installation instructions in the `build-*.md` file for your platform, or self-compile
    


    jonatack commented at 7:40 pm on April 18, 2025:

    In commit 0a6547d26b570625922478e7e993ad1c97ec3ab4 maybe reference from root while touching this line in this commit (feel free to ignore)

    0You can find installation instructions in the `/doc/build-*.md` file for your platform, or self-compile
    

    NicolaLS commented at 0:56 am on April 20, 2025:
    good idea, changed it.
  22. jonatack commented at 7:43 pm on April 18, 2025: member

    Swung by here a couple times previously and this pull is looking better now.

    ACK fefe8fc3c38701bdc3a3b1c6e4d0c8885f94e75f modulo question below

  23. DrahtBot requested review from hodlinator on Apr 18, 2025
  24. doc: Add dependency self-compilation info
    The `dependencies.md` should mention that it is possible to self-compile
    the dependencies and reference `depends/README.md` for instructions.
    Also mention full path to `/doc/build-*.md` for clarity.
    b70d84f078
  25. doc: Order dependencies alphabetically 4b6171982a
  26. NicolaLS force-pushed on Apr 20, 2025
  27. jonatack commented at 11:01 pm on April 25, 2025: member
    ACK 4b6171982a20d736b2c627ab9b7ea788b06af457
  28. hodlinator approved
  29. hodlinator commented at 8:40 pm on April 26, 2025: contributor

    re-ACK 4b6171982a20d736b2c627ab9b7ea788b06af457

    Changes since previous ACK: Addressed feedback (https://github.com/bitcoin/bitcoin/pull/31895#discussion_r2035011528 #31895 (review)).

  30. in doc/dependencies.md:44 in 4b6171982a outdated
    57+| Python (scripts, tests) | [link](https://www.python.org) | N/A | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) |
    58+| [Qt](../depends/packages/qt.mk) (gui) | [link](https://download.qt.io/archive/qt/) | [6.7.3](https://github.com/bitcoin/bitcoin/pull/30997) | [6.2](https://github.com/bitcoin/bitcoin/pull/30997) |
    59+| [qrencode](../depends/packages/qrencode.mk) (gui) | [link](https://fukuchi.org/works/qrencode/) | [4.1.1](https://github.com/bitcoin/bitcoin/pull/27312) | N/A |
    60+| [SQLite](../depends/packages/sqlite.mk) (wallet) | [link](https://sqlite.org) | [3.38.5](https://github.com/bitcoin/bitcoin/pull/25378) | [3.7.17](https://github.com/bitcoin/bitcoin/pull/19077) |
    61+| [systemtap](../depends/packages/systemtap.mk) ([tracing](tracing.md)) | [link](https://sourceware.org/systemtap/) | [4.8](https://github.com/bitcoin/bitcoin/pull/26945)| N/A |
    62+| [ZeroMQ](../depends/packages/zeromq.mk) (notifications) | [link](https://github.com/zeromq/libzmq/releases) | [4.3.4](https://github.com/bitcoin/bitcoin/pull/23956) | 4.0.0 |
    


    fanquake commented at 9:20 am on April 28, 2025:
    Can you update zmq version used to 4.3.5 (https://github.com/bitcoin/bitcoin/pull/28627).

    maflcko commented at 10:14 am on April 28, 2025:

    Is there any value in documenting the version used twice with the additional maintenance overhead and risk of it being stale? The depends package definition is already linked, so anyone can get the real version with just one more click/open. If they want to find out the pull request/commit it will be just another step (git blame).

    Could consider removing it?


    NicolaLS commented at 9:37 pm on April 29, 2025:

    Is there any value in documenting the version used twice with the additional maintenance overhead and risk of it being stale? The depends package definition is already linked, so anyone can get the real version with just one more click/open. If they want to find out the pull request/commit it will be just another step (git blame).

    Could consider removing it?

    I absolutely agree, I can add a commit to remove the “Version used” column from all tables if everyone is fine with this.

  31. in doc/dependencies.md:42 in 4b6171982a outdated
    55+| --- | --- | --- | --- |
    56+| [Berkeley DB](../depends/packages/bdb.mk) (legacy wallet) | [link](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.30 | 4.8.x |
    57+| Python (scripts, tests) | [link](https://www.python.org) | N/A | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) |
    58+| [Qt](../depends/packages/qt.mk) (gui) | [link](https://download.qt.io/archive/qt/) | [6.7.3](https://github.com/bitcoin/bitcoin/pull/30997) | [6.2](https://github.com/bitcoin/bitcoin/pull/30997) |
    59+| [qrencode](../depends/packages/qrencode.mk) (gui) | [link](https://fukuchi.org/works/qrencode/) | [4.1.1](https://github.com/bitcoin/bitcoin/pull/27312) | N/A |
    60+| [SQLite](../depends/packages/sqlite.mk) (wallet) | [link](https://sqlite.org) | [3.38.5](https://github.com/bitcoin/bitcoin/pull/25378) | [3.7.17](https://github.com/bitcoin/bitcoin/pull/19077) |
    


    fanquake commented at 9:21 am on April 28, 2025:
    Can you update sqlite version used to 3.46.1 (#29991).
  32. doc: Update SQLite "Version used" to 3.46.1
    SQLite was updated to 3.46.1 in pull request #29991 (depends).
    5e3710642f
  33. doc: Update ZeroMQ "Version used" to 4.3.5
    ZeroMQ was updated to 4.3.5 in pull request #28627 (depends).
    a9d6312893

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-05-02 00:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me