[DO NOT MERGE] Replace Boost.Process with cpp-subprocess #29490

pull hebasto wants to merge 4 commits into bitcoin:master from hebasto:240227-replace-bp changing 8 files +2018 −113
  1. hebasto commented at 4:30 PM on February 27, 2024: member

    Differences from #28981:

    1. Dropped Windows-related changes, which allows to keep
    2. Zero diff for the subprocess.hpp
    3. Based on #29489

    More details to be added soon :)

  2. test: Remove Windows-specific code from `system_tests/run_command`
    This code has been dead since https://github.com/bitcoin/bitcoin/pull/28967.
    
    Required as a precondition for replacing Boost.Process with
    cpp-subprocess to make diff for this code meaningful and reviewable.
    
    The plan is to reintroduce Windows-specific code in this test
    simultaneously with enabling Windows support in cpp-subprocess.
    51bc1c7126
  3. DrahtBot commented at 4:30 PM on February 27, 2024: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #29479 (test: Refactor subtree exclusion in lint tests by BrandonOdiwuor)
    • #28981 (Replace Boost.Process with cpp-subprocess by hebasto)
    • #28286 (test: Minor fix in test - locale in terminal by crywolf)
    • #27897 (guix: use GCC 12.3.0 to build releases by fanquake)
    • #25972 (build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set by fanquake)
    • #22417 (util/system: Close non-std fds when execing slave processes by luke-jr)

    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.

  4. fanquake commented at 5:55 PM on February 27, 2024: member

    Is there a reason this is a new PR, rather than pushing to the current one? Can the other one be closed?

  5. hebasto commented at 6:14 PM on February 27, 2024: member

    Is there a reason this is a new PR, rather than pushing to the current one?

    To demonstrate the CI outcome for this approach to reviewers.

    Can the other one be closed?

    I'll close it once this one is undrafted.

  6. fanquake commented at 6:21 PM on February 27, 2024: member

    I don't really understand, because pushing to the other PR would also demonstrate the CI, and by switching to this PR, we'll now loose all the past discussion?

  7. DrahtBot added the label CI failed on Feb 27, 2024
  8. DrahtBot commented at 7:19 PM on February 27, 2024: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    <sub>Debug: https://github.com/bitcoin/bitcoin/runs/22040112760</sub>

  9. Add `cpp-subprocess` header-only library
    Upstream repo: https://github.com/arun11299/cpp-subprocess
    Commit: 4025693decacaceb9420efedbf4967a04cb028e7
    
    The "Convenience Functions" section is unused in our codebase, so it has
    been removed.
    67ca33b864
  10. external_signer: replace boost::process with cpp-subprocess
    This primarily affects the `RunCommandParseJSON` utility function.
    1c5ad9afc7
  11. build: remove boost::process dependency for building external signer support 09d468e5d1
  12. hebasto force-pushed on Feb 28, 2024
  13. DrahtBot removed the label CI failed on Feb 28, 2024
  14. hebasto closed this on Feb 28, 2024

  15. hebasto deleted the branch on Feb 28, 2024
  16. bitcoin locked this on Feb 27, 2025

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: 2026-04-24 21:13 UTC

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