Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py

63a8791e15 contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py (jurraca)

Pull request description:

  The `gen-bitcoin-conf.sh` and `gen-manpages.py` scripts assume a top level `src/` build dir, but in-tree builds are no longer allowed, nor recommended in the build steps. If a user builds `bitcoind` as recommended, these scripts fail. To fix it, we update the `BUILDDIR` env var and update the README accordingly.
  Follows up on initial work and discussion in #31332 .

ACKs for top commit:
  fjahr:
    Code review ACK 63a8791e15
  achow101:
    ACK 63a8791e15

Tree-SHA512: cf4d5b0d2e8b1f5db759bec01e131d8a0c511a2fd183389d2a0488d5fe4a906db2579d944f408b5c966f619edc6b2534023c3521f1fa5f8edd0216d29f3e48db
This commit is contained in:
Ava Chow 2025-02-20 11:54:10 -08:00
commit 9d7672bbca
No known key found for this signature in database
GPG key ID: 17565732E08E5E41
3 changed files with 10 additions and 10 deletions

View file

@ -102,12 +102,12 @@ gen-manpages.py
A small script to automatically create manpages in ../../doc/man by running the release binaries with the -help option. A small script to automatically create manpages in ../../doc/man by running the release binaries with the -help option.
This requires help2man which can be found at: https://www.gnu.org/software/help2man/ This requires help2man which can be found at: https://www.gnu.org/software/help2man/
With in-tree builds this tool can be run from any directory within the This script assumes a build directory named `build` as suggested by example build documentation.
repository. To use this tool with out-of-tree builds set `BUILDDIR`. For To use it with a different build directory, set `BUILDDIR`.
example: For example:
```bash ```bash
BUILDDIR=$PWD/build contrib/devtools/gen-manpages.py BUILDDIR=$PWD/my-build-dir contrib/devtools/gen-manpages.py
``` ```
headerssync-params.py headerssync-params.py
@ -127,12 +127,12 @@ Generates a bitcoin.conf file in `share/examples/` by parsing the output from `b
release process to include a bitcoin.conf with the release binaries and can also be run by users to generate a file locally. release process to include a bitcoin.conf with the release binaries and can also be run by users to generate a file locally.
When generating a file as part of the release process, make sure to commit the changes after running the script. When generating a file as part of the release process, make sure to commit the changes after running the script.
With in-tree builds this tool can be run from any directory within the This script assumes a build directory named `build` as suggested by example build documentation.
repository. To use this tool with out-of-tree builds set `BUILDDIR`. For To use it with a different build directory, set `BUILDDIR`.
example: For example:
```bash ```bash
BUILDDIR=$PWD/build contrib/devtools/gen-bitcoin-conf.sh BUILDDIR=$PWD/my-build-dir contrib/devtools/gen-bitcoin-conf.sh
``` ```
security-check.py security-check.py

View file

@ -5,7 +5,7 @@
export LC_ALL=C export LC_ALL=C
TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)} TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)}
BUILDDIR=${BUILDDIR:-$TOPDIR} BUILDDIR=${BUILDDIR:-$TOPDIR/build}
BINDIR=${BINDIR:-$BUILDDIR/src} BINDIR=${BINDIR:-$BUILDDIR/src}
BITCOIND=${BITCOIND:-$BINDIR/bitcoind} BITCOIND=${BITCOIND:-$BINDIR/bitcoind}
SHARE_EXAMPLES_DIR=${SHARE_EXAMPLES_DIR:-$TOPDIR/share/examples} SHARE_EXAMPLES_DIR=${SHARE_EXAMPLES_DIR:-$TOPDIR/share/examples}

View file

@ -40,7 +40,7 @@ if not topdir:
topdir = r.stdout.rstrip() topdir = r.stdout.rstrip()
# Get input and output directories. # Get input and output directories.
builddir = os.getenv('BUILDDIR', topdir) builddir = os.getenv('BUILDDIR', os.path.join(topdir, 'build'))
mandir = os.getenv('MANDIR', os.path.join(topdir, 'doc/man')) mandir = os.getenv('MANDIR', os.path.join(topdir, 'doc/man'))
# Verify that all the required binaries are usable, and extract copyright # Verify that all the required binaries are usable, and extract copyright