Skip to content

Commit 299e222

Browse files
committed
gen-manpages: implement --skip-missing-binaries
With --skip-missing-binaries, instead of stopping the execution of gen-manpages.py when a binary is not found, continue generating manpages for the available binaries and skip the missing ones.
1 parent 65f6e70 commit 299e222

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

contrib/devtools/gen-manpages.py

+19-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import subprocess
77
import sys
88
import tempfile
9+
import argparse
910

1011
BINARIES = [
1112
'src/bitcoind',
@@ -16,6 +17,18 @@
1617
'src/qt/bitcoin-qt',
1718
]
1819

20+
parser = argparse.ArgumentParser(
21+
formatter_class=argparse.RawDescriptionHelpFormatter,
22+
)
23+
parser.add_argument(
24+
"-s",
25+
"--skip-missing-binaries",
26+
action="store_true",
27+
default=False,
28+
help="skip generation for binaries that are not found in the build path",
29+
)
30+
args = parser.parse_args()
31+
1932
# Paths to external utilities.
2033
git = os.getenv('GIT', 'git')
2134
help2man = os.getenv('HELP2MAN', 'help2man')
@@ -38,8 +51,12 @@
3851
try:
3952
r = subprocess.run([abspath, "--version"], stdout=subprocess.PIPE, check=True, text=True)
4053
except IOError:
41-
print(f'{abspath} not found or not an executable', file=sys.stderr)
42-
sys.exit(1)
54+
if(args.skip_missing_binaries):
55+
print(f'{abspath} not found or not an executable. Skipping...', file=sys.stderr)
56+
continue
57+
else:
58+
print(f'{abspath} not found or not an executable', file=sys.stderr)
59+
sys.exit(1)
4360
# take first line (which must contain version)
4461
verstr = r.stdout.splitlines()[0]
4562
# last word of line is the actual version e.g. v22.99.0-5c6b3d5b3508

0 commit comments

Comments
 (0)