Merge bitcoin/bitcoin#33996: contrib: fix manpage generation

e9536faaee contrib: fix manpage generation (fanquake)

Pull request description:

  0972f55040 from #33229 broke manpage generation, because the assumption that the last word in the line containing the version number, was the version number, no-longer holds for some binaries. i.e `bitcoind`.

ACKs for top commit:
  janb84:
    re ACK e9536faaee
  rkrux:
    re-ACK e9536faaee

Tree-SHA512: 471b1800beeec3ea70d722ac2dcc26073805c8fcdf0418ceb79728cc001eb7c2f11a3d832b54a7ae68d26fe5c97934a9c87eedae7601515857e660fac7532c0a
This commit is contained in:
merge-script
2025-12-03 11:19:11 +00:00

View File

@@ -3,6 +3,7 @@
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
import os
import re
import subprocess
import sys
import tempfile
@@ -59,10 +60,11 @@ for relpath in BINARIES:
print(f'{abspath} not found or not an executable', file=sys.stderr)
sys.exit(1)
# take first line (which must contain version)
verstr = r.stdout.splitlines()[0]
# last word of line is the actual version e.g. v22.99.0-5c6b3d5b3508
verstr = verstr.split()[-1]
assert verstr.startswith('v')
output = r.stdout.splitlines()[0]
# find the version e.g. v30.99.0-ce771726f3e7
search = re.search(r"v[0-9]\S+", output)
assert search
verstr = search.group(0)
# remaining lines are copyright
copyright = r.stdout.split('\n')[1:]
assert copyright[0].startswith('Copyright (C)')