Merge bitcoin/bitcoin#33076: [28.x] Backports

4d145f9f20 doc: update release notes for 28.x (fanquake)
8782e6ce38 guix: warn SOURCE_DATE_EPOCH set in guix-codesign (will)
c09d82f0dd doc/zmq: fix unix socket path example (Roman Zeyde)
41fa1e0ee5 test: Log KeyboardInterrupt as exception (MarcoFalke)
a828e64b7d test: Do not pass tests on unhandled exceptions (MarcoFalke)

Pull request description:

  Backports:
  * #33001
  * #33070
  * #33073

ACKs for top commit:
  willcl-ark:
    ACK 4d145f9f20
  marcofleon:
    lgtm ACK 4d145f9f20

Tree-SHA512: de269749423b2e112881cfc0126256d46d646ea7ab9f7f5766361d10866ca4d132605deb8a22ba00714a1f3732a792ae69deb062132276bd21d5d616c1130b2b
This commit is contained in:
merge-script
2025-07-30 15:31:12 +01:00
6 changed files with 36 additions and 29 deletions

View File

@@ -73,19 +73,7 @@ mkdir -p "$VERSION_BASE"
# SOURCE_DATE_EPOCH should not unintentionally be set # SOURCE_DATE_EPOCH should not unintentionally be set
################ ################
if [ -n "$SOURCE_DATE_EPOCH" ] && [ -z "$FORCE_SOURCE_DATE_EPOCH" ]; then check_source_date_epoch
cat << EOF
ERR: Environment variable SOURCE_DATE_EPOCH is set which may break reproducibility.
Aborting...
Hint: You may want to:
1. Unset this variable: \`unset SOURCE_DATE_EPOCH\` before rebuilding
2. Set the 'FORCE_SOURCE_DATE_EPOCH' environment variable if you insist on
using your own epoch
EOF
exit 1
fi
################ ################
# Build directories should not exist # Build directories should not exist

View File

@@ -67,6 +67,12 @@ EOF
exit 1 exit 1
fi fi
################
# SOURCE_DATE_EPOCH should not unintentionally be set
################
check_source_date_epoch
################ ################
# The codesignature git worktree should not be dirty # The codesignature git worktree should not be dirty
################ ################

View File

@@ -21,6 +21,26 @@ check_tools() {
done done
} }
################
# SOURCE_DATE_EPOCH should not unintentionally be set
################
check_source_date_epoch() {
if [ -n "$SOURCE_DATE_EPOCH" ] && [ -z "$FORCE_SOURCE_DATE_EPOCH" ]; then
cat << EOF
ERR: Environment variable SOURCE_DATE_EPOCH is set which may break reproducibility.
Aborting...
Hint: You may want to:
1. Unset this variable: \`unset SOURCE_DATE_EPOCH\` before rebuilding
2. Set the 'FORCE_SOURCE_DATE_EPOCH' environment variable if you insist on
using your own epoch
EOF
exit 1
fi
}
check_tools cat env readlink dirname basename git check_tools cat env readlink dirname basename git
################ ################

View File

@@ -40,16 +40,19 @@ Notable changes
### Test ### Test
- #32765 test: Fix list index out of range error in feature_bip68_sequence.py - #32765 test: Fix list index out of range error in feature_bip68_sequence.py
- #33001 test: Do not pass tests on unhandled exceptions
### Build ### Build
- #32678 guix: warn and abort when SOURCE_DATE_EPOCH is set - #32678 guix: warn and abort when SOURCE_DATE_EPOCH is set
- #32943 depends: Force CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE - #32943 depends: Force CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE
- #33073 guix: warn SOURCE_DATE_EPOCH set in guix-codesign
### Doc ### Doc
- #32776 doc: taproot became always active in v24.0 - #32776 doc: taproot became always active in v24.0
- #32777 doc: fix Transifex 404s - #32777 doc: fix Transifex 404s
- #33070 doc/zmq: fix unix socket path example
Credits Credits
@@ -58,6 +61,8 @@ Credits
Thanks to everyone who directly contributed to this release: Thanks to everyone who directly contributed to this release:
- fanquake - fanquake
- Hennadii Stepanov - Hennadii Stepanov
- MarcoFalke
- romanz
- Sjors Provoost - Sjors Provoost
- willcl-ark - willcl-ark
- zaidmstrr - zaidmstrr

View File

@@ -85,7 +85,7 @@ For instance:
$ bitcoind -zmqpubhashtx=tcp://127.0.0.1:28332 \ $ bitcoind -zmqpubhashtx=tcp://127.0.0.1:28332 \
-zmqpubhashtx=tcp://192.168.1.2:28332 \ -zmqpubhashtx=tcp://192.168.1.2:28332 \
-zmqpubhashblock="tcp://[::1]:28333" \ -zmqpubhashblock="tcp://[::1]:28333" \
-zmqpubrawtx=ipc:///tmp/bitcoind.tx.raw \ -zmqpubrawtx=unix:/tmp/bitcoind.tx.raw \
-zmqpubhashtxhwm=10000 -zmqpubhashtxhwm=10000
Each PUB notification has a topic and body, where the header Each PUB notification has a topic and body, where the header

View File

@@ -130,26 +130,14 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
try: try:
self.setup() self.setup()
self.run_test() self.run_test()
except JSONRPCException:
self.log.exception("JSONRPC error")
self.success = TestStatus.FAILED
except SkipTest as e: except SkipTest as e:
self.log.warning("Test Skipped: %s" % e.message) self.log.warning("Test Skipped: %s" % e.message)
self.success = TestStatus.SKIPPED self.success = TestStatus.SKIPPED
except AssertionError:
self.log.exception("Assertion failed")
self.success = TestStatus.FAILED
except KeyError:
self.log.exception("Key error")
self.success = TestStatus.FAILED
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
self.log.exception("Called Process failed with '{}'".format(e.output)) self.log.exception(f"Called Process failed with stdout='{e.stdout}'; stderr='{e.stderr}';")
self.success = TestStatus.FAILED self.success = TestStatus.FAILED
except Exception: except BaseException:
self.log.exception("Unexpected exception caught during testing") self.log.exception("Unexpected exception")
self.success = TestStatus.FAILED
except KeyboardInterrupt:
self.log.warning("Exiting after keyboard interrupt")
self.success = TestStatus.FAILED self.success = TestStatus.FAILED
finally: finally:
exit_code = self.shutdown() exit_code = self.shutdown()