This change moves binaries that are not typically invoked directly by users from the bin/
directory to the libexec/
directory in CMake installs and binary releases. The goal is to simplify the contents of bin/
for end users while still making all binaries available when needed. The table below shows the install location and availability of each binary after this change:
Binary | Location | Availability | Change |
---|---|---|---|
bitcoin |
bin/ |
📦 Binary release (since #31375) | Unchanged |
bitcoin-cli |
bin/ |
📦 Binary release | Unchanged |
bitcoind |
bin/ |
📦 Binary release | Unchanged |
bitcoin-qt |
bin/ |
📦 Binary release | Unchanged |
bitcoin-tx |
bin/ |
📦 Binary release | Unchanged |
bitcoin-util |
bin/ |
📦 Binary release | Unchanged |
bitcoin-wallet |
bin/ |
📦 Binary release | Unchanged |
bench_bitcoin |
libexec/ |
🛠 Source build only | Moved from bin/ |
bitcoin-chainstate |
libexec/ |
🛠 Source build only | Newly installed (was built) |
bitcoin-gui |
libexec/ |
🛠 Source build only (until #31802) | Moved from bin/ |
bitcoin-node |
libexec/ |
🛠 Source build only (until #31802) | Moved from bin/ |
test_bitcoin |
libexec/ |
📦 Binary release | Moved from bin/ |
test_bitcoin-qt |
libexec/ |
🛠 Source build only | Moved from bin/ |
This change helps reduce clutter in bin/
and the system PATH
, making it easier for users to find the commands they need.
Advanced users can still run all the binaries in libexec/
and the bitcoin
wrapper executable introduced in #31375 is also able to locate binaries regardless of whether they are installed in bin/
or libexec/
.
This PR is part of the process separation project.