What changed, and why it matters
This commit fixes a build-time test failure in the software packaging process. The osslsigncode tool's own test suite started failing because it contains a hardcoded check that expires after 2025. The fix makes the tests run as if the date were January 1, 2025, so they pass again. This is a build/test maintenance change, not a security fix for Bitcoin Core itself.
No security action required. Treat as normal build infrastructure maintenance. Reviewers may optionally verify that the upstream osslsigncode tests are indeed time-dependent and that libfaketime is an acceptable dependency for the Guix build.
Security signals we found
No strong security signals were identified.
Evidence from the diff
In contrib/guix/manifest.scm, the Guix package definition for osslsigncode is updated to add libfaketime as an input and to wrap the ‘check phase with faketime -f '@2025-01-01 00:00:00' ctest .... This works around time-sensitive upstream tests that fail after 2025. The change affects only the deterministic build environment manifest and does not alter Bitcoin Core runtime code, consensus logic, cryptography, or the osslsigncode source.
Changed components
contrib/guix/manifest.scmosslsigncode Guix package build/test phaseInspect captured patch +12 / −1
diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
index 011ba0de..b7146477 100644
--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -2,6 +2,7 @@
((gnu packages bash) #:select (bash-minimal))
(gnu packages bison)
((gnu packages certs) #:select (nss-certs))
+ ((gnu packages check) #:select (libfaketime))
((gnu packages cmake) #:select (cmake-minimal))
(gnu packages commencement)
(gnu packages compression)
@@ -208,7 +209,17 @@ and abstract ELF, PE and MachO formats.")
(base32
"1j47vwq4caxfv0xw68kw5yh00qcpbd56d7rq6c483ma3y7s96yyz"))))
(build-system cmake-build-system)
- (inputs (list openssl))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "faketime" "-f" "@2025-01-01 00:00:00" ;; Tests fail after 2025.
+ "ctest" "--output-on-failure" "--no-tests=error")
+ (format #t "test suite not run~%")))))))
+ (inputs (list libfaketime openssl))
(home-page "https://github.com/mtrojnar/osslsigncode")
(synopsis "Authenticode signing and timestamping tool")
(description "osslsigncode is a small tool that implements part of the
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.