mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-15 08:31:49 +01:00
Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/
f49840dd90doc: Fix typo in files.md (Ryan Ofsky)f5cf0b1cccbitcoin wrapper: improve help output (Ryan Ofsky)c810b168b8doc: Add description of installed files to files.md (Ryan Ofsky)94ffd01a02doc: Add release notes describing libexec/ binaries (Ryan Ofsky)cd97905ebccmake: Move internal binaries from bin/ to libexec/ (Ryan Ofsky) Pull request description: 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 of the PR is to introduce a distinction between internal and external binaries so starting with #31802, we can use IPC to implement features in new binaries without adding those binaries to the CLI. The change also helps reduce clutter in `bin/`, making it easier for users to identify useful tools to run. Summary of changes: - For **source builds** (i.e. developer builds) — There are no changes. - For **source installs** (i.e. `cmake --install` result) — `test_bitcoin`, `test_bitcoin-qt`, and `bench_bitcoin` are installed in `${CMAKE_PREFIX_PATH}/libexec` instead of `${CMAKE_PREFIX_PATH}/bin`, so they are no longer on the system `PATH`. However, they can still be invoked from the `libexec/` directory, or from the CLI as `bitcoin test`, `bitcoin test-gui`, and `bitcoin bench`, respectively. - For **binary releases** — Since `test_bitcoin` is the only test binary enabled in releases, the only change is moving `test_bitcoin` from `bin/` to `libexec/`. <details><summary>Details</summary> <p> The table below shows the install location of each binary after this change, and the availability of each binary. | 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/` | </p> </details> --- This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722). ACKs for top commit: l0rinc: re-ACKf49840dd90Sjors: re-ACKf49840dd90achow101: ACKf49840dd90janb84: re ACKf49840dd90BrandonOdiwuor: Tested ACKf49840dd90hodlinator: re-ACKf49840dd90willcl-ark: utACKf49840dd90Tree-SHA512: 858a2e1a53db11ee3c5c759bfdeea566f242b9ce5e8a898fa435222e41662b8184577c0dc2c4c058294b4de41d8cb3ba3e5d24c748c280efa4a3f84e3ec4344d
This commit is contained in:
@@ -110,7 +110,7 @@ mkdir -p "$DISTSRC"
|
||||
|
||||
# Apply detached codesignatures (in-place)
|
||||
signapple apply dist/Bitcoin-Qt.app codesignatures/osx/"${HOST}"/dist/Bitcoin-Qt.app
|
||||
find "${DISTNAME}" -wholename "*/bin/*" -type f | while read -r bin
|
||||
find "${DISTNAME}" \( -wholename "*/bin/*" -o -wholename "*/libexec/*" \) -type f | while read -r bin
|
||||
do
|
||||
signapple apply "${bin}" "codesignatures/osx/${HOST}/${bin}.${ARCH}sign"
|
||||
done
|
||||
|
||||
@@ -44,7 +44,7 @@ ${SIGNAPPLE} apply "${UNSIGNED_BUNDLE}" "${OUTROOT}/${BUNDLE_ROOT}/${BUNDLE_NAME
|
||||
${SIGNAPPLE} notarize --detach "${OUTROOT}/${BUNDLE_ROOT}" --passphrase "${api_key_pass}" "$2" "$3" "${UNSIGNED_BUNDLE}"
|
||||
|
||||
# Sign each binary
|
||||
find . -maxdepth 3 -wholename "*/bin/*" -type f -exec realpath --relative-to=. {} \; | while read -r bin
|
||||
find . -maxdepth 3 \( -wholename "*/bin/*" -o -wholename "*/libexec/*" \) -type f -exec realpath --relative-to=. {} \; | while read -r bin
|
||||
do
|
||||
bin_dir=$(dirname "${bin}")
|
||||
bin_name=$(basename "${bin}")
|
||||
|
||||
Reference in New Issue
Block a user