Skip to content

Conversation

@achow101
Copy link
Member

@achow101 achow101 commented Dec 2, 2024

I have updated signapple to notarize MacOS app bundles without adding any additional dependencies. Further, it can also sign and apply detached signatures to standalone binaries.

As such, we can use signapple to perform the notarization and stapling steps so that MacOS will run the app bundle after it is installed. detached-sig-create.sh is updated to have a notarization step and to download the ticket which will be included in the detached signatures. The workflow is largely unchanged for the MacOS codesigners except for the additional requirement of having an App Store Connect API key and Team UUID, instructions for which can be found at https://github.com/achow101/signapple/blob/master/docs/notarization.md. For guix builders, the workflow is unchanged.

Additionally, the standalone binaries packaged in the MacOS .tar.gz and Windows .zip will now be codesigned. detached-sig-create.sh was updated to handle these, so the workflow for both MacOS and Windows codesigners remains unchanged. For guix builders, the workflow is also unchanged.

Because those binaries will how have codesigned and unsigned versions, the build command is modified to output -unsigned.{tar.gz,zip} archives containing the binaries. Since this happens to conflict with the tarball used for codesigning, the codesigning tarball was renamed to -codesigning.tar.gz. Both MacOS and Windows codesigners will need to adjust their workflows to account for the new name.

Fixes #15774 and #29749

@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 2, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31407.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK Sjors, pinheadmz, davidgumberg
Concept ACK hebasto
Stale ACK willcl-ark

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@achow101 achow101 added this to the 29.0 milestone Dec 2, 2024
@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 2, 2024

🚧 At least one of the CI tasks failed.
Debug: https://github.com/bitcoin/bitcoin/runs/33817027293

Hints

Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@achow101
Copy link
Member Author

achow101 commented Dec 2, 2024

It's unclear to me whether the standalone binaries need to be notarized too. This is currently not implemented, but should not be that much more complicated to do.

@edilmedeiros
Copy link
Contributor

It's unclear to me whether the standalone binaries need to be notarized too. This is currently not implemented, but should not be that much more complicated to do.

Are they being codesigned already?

I was getting the v28 binaries from bitcoincore.org instantly killed in Sonoma 14.6.1 when trying to run them in the terminal today. Took me a while to understand what was happening because the processes are killed without a security message or anything like the "nice" gatekeeper popup. Codesigning each on my own solved the issue.

❯ tar xvfz bitcoin-28.0-arm64-apple-darwin.tar.gz
x bitcoin-28.0/
x bitcoin-28.0/bin/
x bitcoin-28.0/bin/bitcoin-cli
x bitcoin-28.0/bin/bitcoin-qt
x bitcoin-28.0/bin/bitcoin-tx
x bitcoin-28.0/bin/bitcoin-util
x bitcoin-28.0/bin/bitcoin-wallet
x bitcoin-28.0/bin/bitcoind
x bitcoin-28.0/bin/test_bitcoin
x bitcoin-28.0/bitcoin.conf
x bitcoin-28.0/share/
x bitcoin-28.0/share/man/
x bitcoin-28.0/share/man/man1/
x bitcoin-28.0/share/man/man1/bitcoin-cli.1
x bitcoin-28.0/share/man/man1/bitcoin-qt.1
x bitcoin-28.0/share/man/man1/bitcoin-tx.1
x bitcoin-28.0/share/man/man1/bitcoin-util.1
x bitcoin-28.0/share/man/man1/bitcoin-wallet.1
x bitcoin-28.0/share/man/man1/bitcoind.1
x bitcoin-28.0/share/rpcauth/
x bitcoin-28.0/share/rpcauth/README.md
x bitcoin-28.0/share/rpcauth/rpcauth.py

❯ bitcoin-28.0/bin/bitcoind --version
[1]    36572 killed     bitcoin-28.0/bin/bitcoind --version

❯ codesign --sign - bitcoin-28.0/bin/bitcoind

❯ bitcoin-28.0/bin/bitcoind --version
Bitcoin Core version v28.0.0
Copyright (C) 2009-2024 The Bitcoin Core developers

Please contribute if you find Bitcoin Core useful. Visit
<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.

This is experimental software.
Distributed under the MIT software license, see the accompanying file COPYING
or <https://opensource.org/licenses/MIT>

@achow101
Copy link
Member Author

achow101 commented Dec 3, 2024

Are they being codesigned already?

This PR codesigns them.

@Sjors
Copy link
Member

Sjors commented Dec 3, 2024

It's unclear to me whether the standalone binaries need to be notarized too.

Do you mean the binaries in unsigned.{zip,tar.gz} archives? I think it's fine not to.

Copy link
Member

@Sjors Sjors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to properly test this, you would have to provide the detached signatures and staple for this PR.

Reviewers then need to download it from some website. If you obtain the file via SSH from your own guix machine, macOS tries to be smart about it (at least my Intel mac used to do that).

HOSTS="x86_64-w64-mingw32 x86_64-apple-darwin arm64-apple-darwin" ./contrib/guix/guix-build 
...
find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum

Guix hashes for macOS and Windows, before code-sign:

arm_64
e1d50cc856902e31e966f0e0d50ac732a6d8c7c080e9f9d50ab229d7503bd601  guix-build-ba67aa681e9b/output/arm64-apple-darwin/SHA256SUMS.part
462617a5476e946e10be8624d73b531041c8abf4628a35038d65b80534de768a  guix-build-ba67aa681e9b/output/arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-codesigning.tar.gz
2583965a7ecbcf48946bcb7676cf6b39a04cee44b34c6292d81cbb825f0d35df  guix-build-ba67aa681e9b/output/arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-unsigned.tar.gz
96f25391136c5e3f77b6dfb4e027aa1f43ccc91edf0237b9ec0c7b01a64b32f3  guix-build-ba67aa681e9b/output/arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-unsigned.zip
74d95312c8a33c65a1ea55c1d8392c58d77f78251af551926d4e913f12b45cac  guix-build-ba67aa681e9b/output/dist-archive/bitcoin-ba67aa681e9b.tar.gz
1f457247d24466bc7f8faeb7f8faec80cadfed66ef68354c77a36ceba1127799  guix-build-ba67aa681e9b/output/x86_64-apple-darwin/SHA256SUMS.part
eafb67c89ed27e1dd216e2d300829c5bb22fbe6999839189441e3d64080b65f5  guix-build-ba67aa681e9b/output/x86_64-apple-darwin/bitcoin-ba67aa681e9b-x86_64-apple-darwin-codesigning.tar.gz
0d9f7d7ef1f71b4c3072a0af44b374caf0a4646f4ba143f5440bbcf52c8fe614  guix-build-ba67aa681e9b/output/x86_64-apple-darwin/bitcoin-ba67aa681e9b-x86_64-apple-darwin-unsigned.tar.gz
a0337d08f8145ed4c8548086752b8c32766db1a0483573b44f95134cba9f3913  guix-build-ba67aa681e9b/output/x86_64-apple-darwin/bitcoin-ba67aa681e9b-x86_64-apple-darwin-unsigned.zip
635b1e00cd6792faae60085f4d0ec71bb010756caa40f7241b05e1e3ef6aa18a  guix-build-ba67aa681e9b/output/x86_64-w64-mingw32/SHA256SUMS.part
96326f5755ee14d74b74addc740e8e89c49ee65e4f56746a018e3aba39025642  guix-build-ba67aa681e9b/output/x86_64-w64-mingw32/bitcoin-ba67aa681e9b-win64-codesigning.tar.gz
0d1f7d39c4fcee02d763d85c7f14fe28233f4fe357192e54a227cb54843a8a0b  guix-build-ba67aa681e9b/output/x86_64-w64-mingw32/bitcoin-ba67aa681e9b-win64-debug.zip
b3531bbeccd65d52cb73be3edc38f3aa4b1abe6373ad4e153e4c036a78f29b18  guix-build-ba67aa681e9b/output/x86_64-w64-mingw32/bitcoin-ba67aa681e9b-win64-setup-unsigned.exe
e0a39aad96ac6fa7bf0957119bfca2a527e66f9991a71e84cc5c90864a9c833d  guix-build-ba67aa681e9b/output/x86_64-w64-mingw32/bitcoin-ba67aa681e9b-win64-unsigned.zip

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

912377a: maybe call it -maintainers to reduce confusion with -unsigned?

A more generic term might also be handy in the future if e.g. we want to include an OTS timestamp that commits to the (pre codesigning, pgp signed?) guix hashes (with all architectures).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The codesigners are not necessarily maintainers. I don't think it's useful to make this broad when it has been extremely specific for codesigning for more than a decade.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes that seems something to consider when and if we cross that bridge. Currently an .ots is already generated for the final SHA256SUMS at release time, not sure to move that to another phase in the process.

@achow101
Copy link
Member Author

@fanquake @pinheadmz Can one of you please do a build and make detached sigs for this PR for testing?

|| ( rm -f "${OUTDIR}/${DISTNAME}-win64-codesigning.tar.gz" && exit 1 )
)
;;
*darwin*)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In commit "build: Include all MacOS binaries for codesigning"

What is the effect of moving this code down? Will it pick up more artifacts that have been produced in between?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this makes it include the directory containing the binaries in the codesigning tarball.

Copy link
Member

@pinheadmz pinheadmz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm hitting an error with guix-codesign. I am just focusing on HOSTS=arm64-apple-darwin, guix build of: ba67aa681e9b28a9992636fec4e06b26b3c3422e

SHASUMS.part:

462617a5476e946e10be8624d73b531041c8abf4628a35038d65b80534de768a  arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-codesigning.tar.gz
2583965a7ecbcf48946bcb7676cf6b39a04cee44b34c6292d81cbb825f0d35df  arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-unsigned.tar.gz
96f25391136c5e3f77b6dfb4e027aa1f43ccc91edf0237b9ec0c7b01a64b32f3  arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-unsigned.zip
74d95312c8a33c65a1ea55c1d8392c58d77f78251af551926d4e913f12b45cac  dist-archive/bitcoin-ba67aa681e9b.tar.gz

Detached code signatures (maybe):
signature-osx-executable.tar.gz

However, attaching them is an issue:

zip@zip:~/bitcoin$ DETACHED_SIGS_REPO=../bitcoin-detached-sigs HOSTS=arm64-apple-darwin ./contrib/guix/guix-codesign
Checking that we can connect to the guix-daemon...

Hint: If this hangs, you may want to try turning your guix-daemon off and on
      again.

INFO: Codesigning ba67aa681e9b for platform triple arm64-apple-darwin:
      ...using reference timestamp: 1733177891
      ...from worktree directory: '/home/zip/bitcoin'
          ...bind-mounted in container to: '/bitcoin'
      ...in build directory: '/home/zip/bitcoin/guix-build-ba67aa681e9b/distsrc-ba67aa681e9b-arm64-apple-darwin-codesigned'
          ...bind-mounted in container to: '/distsrc-base/distsrc-ba67aa681e9b-arm64-apple-darwin-codesigned'
      ...outputting in: '/home/zip/bitcoin/guix-build-ba67aa681e9b/output/arm64-apple-darwin-codesigned'
          ...bind-mounted in container to: '/outdir-base/arm64-apple-darwin-codesigned'
      ...using detached signatures in: '../bitcoin-detached-sigs'
          ...bind-mounted in container to: '/detached-sigs'
guix shell: error: symlink: No such file or directory: "/home/zip/bitcoin/guix-build-ba67aa681e9b/var/profiles/arm64-apple-darwin-codesigned"

Do I need to have bitcoin-detached-sigs checked out on a branch name that matches the build version?

@pinheadmz
Copy link
Member

I got one step further by creating the directory its looking for in the last error:

$ mkdir -p /home/zip/bitcoin/guix-build-ba67aa681e9b/var/profiles/

this broke somewhere new...

$ DETACHED_SIGS_REPO=../bitcoin-detached-sigs HOSTS=arm64-apple-darwin FORCE_DIRTY_WORKTREE=1 ./contrib/guix/guix-codesign
Checking that we can connect to the guix-daemon...

Hint: If this hangs, you may want to try turning your guix-daemon off and on
      again.

INFO: Codesigning ba67aa681e9b for platform triple arm64-apple-darwin:
      ...using reference timestamp: 1733177891
      ...from worktree directory: '/home/zip/bitcoin'
          ...bind-mounted in container to: '/bitcoin'
      ...in build directory: '/home/zip/bitcoin/guix-build-ba67aa681e9b/distsrc-ba67aa681e9b-arm64-apple-darwin-codesigned'
          ...bind-mounted in container to: '/distsrc-base/distsrc-ba67aa681e9b-arm64-apple-darwin-codesigned'
      ...outputting in: '/home/zip/bitcoin/guix-build-ba67aa681e9b/output/arm64-apple-darwin-codesigned'
          ...bind-mounted in container to: '/outdir-base/arm64-apple-darwin-codesigned'
      ...using detached signatures in: '../bitcoin-detached-sigs'
          ...bind-mounted in container to: '/detached-sigs'
Required environment variables as seen inside the container:
    CODESIGNING_TARBALL: /outdir-base/arm64-apple-darwin/bitcoin-ba67aa681e9b-arm64-apple-darwin-codesigning.tar.gz
    DETACHED_SIGS_REPO: /detached-sigs
    DIST_ARCHIVE_BASE: /outdir-base/dist-archive
    DISTNAME: bitcoin-ba67aa681e9b
    HOST: arm64-apple-darwin
    SOURCE_DATE_EPOCH: 1733177891
    DISTSRC: /distsrc-base/distsrc-ba67aa681e9b-arm64-apple-darwin-codesigned
    OUTDIR: /outdir-base/arm64-apple-darwin-codesigned
Traceback (most recent call last):
  File "/gnu/store/b5d90lfah4dplqxb5bi7srxf5w8iv13s-python-signapple-0.2.0-1.a9bf003/bin/.signapple-real", line 5, in <module>
    sys.exit (mod.main ())
  File "/gnu/store/b5d90lfah4dplqxb5bi7srxf5w8iv13s-python-signapple-0.2.0-1.a9bf003/lib/python3.10/site-packages/signapple/__init__.py", line 191, in main
    args.func(args)
  File "/gnu/store/b5d90lfah4dplqxb5bi7srxf5w8iv13s-python-signapple-0.2.0-1.a9bf003/lib/python3.10/site-packages/signapple/__init__.py", line 38, in apply
    ret = apply_sig(args.filename, args.sig)
  File "/gnu/store/b5d90lfah4dplqxb5bi7srxf5w8iv13s-python-signapple-0.2.0-1.a9bf003/lib/python3.10/site-packages/signapple/sign.py", line 1176, in apply_sig
    shutil.copyfile(sig_file_path, file_out_path)
  File "/gnu/store/z193j1jnz80h56fbv6nic6mh34b4bb1j-python-3.10.7/lib/python3.10/shutil.py", line 254, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: 'codesignatures/osx/arm64-apple-darwin/dist/Bitcoin-Qt.app/'

@achow101
Copy link
Member Author

Pushed a fix for the wrong architecture detection.

@Sjors
Copy link
Member

Sjors commented Feb 11, 2025

Guix hashes for macOS and Windows, before code-sign:

bd11279800610b70a1feed4451d9fa3a137ed75f26c794363c5ef82d820c592e  guix-build-46e44a35b858/output/arm64-apple-darwin/SHA256SUMS.part
3a911d1a009222c042a84864dccd58462ce3167ea5f407830bf98d370fa356e4  guix-build-46e44a35b858/output/arm64-apple-darwin/bitcoin-46e44a35b858-arm64-apple-darwin-codesigning.tar.gz
2b1c4d096f27ae2a650ce3fe954304c53bb51b7ddac5dd533cabcc862a75f684  guix-build-46e44a35b858/output/arm64-apple-darwin/bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.tar.gz
18c4fe6b004b0b9685671d1a60b146ce00bafe47591ff337ad3af08d8ea55e42  guix-build-46e44a35b858/output/arm64-apple-darwin/bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.zip
e920044a3cf85974b337a5a7e13c35cf8633d5083cb9ab8ba46c3b0f24019a1c  guix-build-46e44a35b858/output/dist-archive/bitcoin-46e44a35b858.tar.gz
71e501ec189b3d561f6f07d52b6ec3ab28eba81600a8ebbde9437a13ce8818dc  guix-build-46e44a35b858/output/x86_64-apple-darwin/SHA256SUMS.part
ccbb4b94720896282ecc6f1a7a4ad8a2de05262b71abbe32bd48ac83bd41f666  guix-build-46e44a35b858/output/x86_64-apple-darwin/bitcoin-46e44a35b858-x86_64-apple-darwin-codesigning.tar.gz
c2125e67f68fc5c1c5d1bb835e7ef886a2025a59a5476173bc511646c48ef7cb  guix-build-46e44a35b858/output/x86_64-apple-darwin/bitcoin-46e44a35b858-x86_64-apple-darwin-unsigned.tar.gz
45cc411f916e6ba617875d30494c8baa6e7974c82b0652449f3422009ff7ca28  guix-build-46e44a35b858/output/x86_64-apple-darwin/bitcoin-46e44a35b858-x86_64-apple-darwin-unsigned.zip
77e0993c4a93076583f9a90bfac8afb92770363dc624745659339c6a0335497f  guix-build-46e44a35b858/output/x86_64-w64-mingw32/SHA256SUMS.part
388d2eb388392b5d234ed72fd93ac393e55c2b3c76a5c2796d1c54921c469b7f  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-codesigning.tar.gz
21829ed3fd887adf9e4ae337189c984f2b4f91e76d8bf57f644c9d6f600968c4  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-debug.zip
184eef2b7fc6eb72f0578b510b817775615474b81b359de4ab0769c009faf75b  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-setup-unsigned.exe
08841a37cd886a94553acc723a0e3343dd8e00e7b3dd00169ac8eb1a84b03b46  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-unsigned.zip

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concept ACK 46e44a35b85830a60cf622e039db19ccf1989008.

I have reviewed the code and it looks OK. However, I am not entirely confident in 8400ada306063f1412ef3ace57e255783db879ef due to my lack of familiarity with the signapple tool.

Additionally, I did not review the changes to the signapple tool itself.

Copy link
Member

@pinheadmz pinheadmz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 46e44a35b85830a60cf622e039db19ccf1989008

Tested on arm64/macos, but did not review code or test other platforms. This updated process closes the referenced issues and successfully creates signed binaries for bitcoind, bitcoin-cli and all other utilities including Bitcoin-Qt.


Detached sigs (tar xf and commit locally in bitcoin-detached-sigs to test):

signature-osx-arm64.tar.gz


Attestations:

all.SHA256SUMS


504b22387c634bcf78846830b8f53359e54d526b2f0e976631a0bbd293f0353c  bitcoin-46e44a35b858-arm64-apple-darwin.tar.gz
787fd1bd670ce5b903d174ee715a532365c8cc426278020877ef1616c8befa57  bitcoin-46e44a35b858-arm64-apple-darwin.zip
3a911d1a009222c042a84864dccd58462ce3167ea5f407830bf98d370fa356e4  bitcoin-46e44a35b858-arm64-apple-darwin-codesigning.tar.gz
2b1c4d096f27ae2a650ce3fe954304c53bb51b7ddac5dd533cabcc862a75f684  bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.tar.gz
18c4fe6b004b0b9685671d1a60b146ce00bafe47591ff337ad3af08d8ea55e42  bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.zip
7f92d478c82e193da4578c19e37fa7bebed7b23eb9745ace8679f1503a2d25ed  bitcoin-46e44a35b858-codesignatures-001c1794ae89.tar.gz
e920044a3cf85974b337a5a7e13c35cf8633d5083cb9ab8ba46c3b0f24019a1c  bitcoin-46e44a35b858.tar.gz

noncodesigned.SHA256SUMS

3a911d1a009222c042a84864dccd58462ce3167ea5f407830bf98d370fa356e4  bitcoin-46e44a35b858-arm64-apple-darwin-codesigning.tar.gz
2b1c4d096f27ae2a650ce3fe954304c53bb51b7ddac5dd533cabcc862a75f684  bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.tar.gz
18c4fe6b004b0b9685671d1a60b146ce00bafe47591ff337ad3af08d8ea55e42  bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.zip
e920044a3cf85974b337a5a7e13c35cf8633d5083cb9ab8ba46c3b0f24019a1c  bitcoin-46e44a35b858.tar.gz
Show Signature
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

ACK 46e44a35b85830a60cf622e039db19ccf1989008
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5hdzzW4BBA4vG9eM5+KYS2KJyToFAmervD4ACgkQ5+KYS2KJ
yTqW+w//XZDjfkldmMEbEOs8fpwv38eHly9Uha8hVscixHgG6L1QkTfMimomONzD
m0N3cOT13sEXJkuyp1ztnZoklQ2FfDcceKiN8Kb455esPtYsNrR5SyMDx3O+HYTF
2WxSO7ktfjU7G+ZaXgHB/+xGUrXQIWNkP4b1Z+QuHtu3Sc+3TnZS2mtjvpXc1go+
m8Rnz/hqYn1F1ePn25AMsixfdt99QUw2Z/oti3HDfiG136lHpZt0MbixCk1gDnXs
NDSloElhUgTLyosBfdU+5KLbjsB1DKz+N2dsQ8rHTpuXcau7HPm5IAdPheSIhS5Z
OC1z/h9/EhgOYSlAbyURovTYa0Cpz/faGNhWWIw6v+t6UBFX1Sn4fPt7X3S8k0d+
oya7oDFTyo2NZVyM8l9+dssZaJByUOdJKYloF00g26fRA+ELaX3PxXIB/cFWNiss
UgPc5C/pfvjq/Cr7Zwb0XdHP8U0lTbu8Aqk93xxfcKx5MVdjTnlI2JF8nbn0/eYQ
C1GjVdHCwLR/nM6aHatEFy04WFUUeK3r7pUPRY39B/fPS31N29q5UpbvvAqihZLQ
nVqHCCxCNrL2Ph+PwjqQsvXchz97gizQu6OKbX3DcRWstg6EwRQ3K2CG/k7MAvtw
NnEtOMWHeXO8qW3MQkZj4IDCjTKU/OKab+jf+F0reSkZ1Oc1E54=
=NUrf
-----END PGP SIGNATURE-----

pinheadmz's public key is on keybase

@DrahtBot DrahtBot requested a review from hebasto February 11, 2025 21:11
@pinheadmz
Copy link
Member

Bonus verbose code sign verification of bitcoind:

codesign -dv --verbose=4 /Users/matthewzipkin/Desktop/work/bitcoin/guix-build-46e44a35b858/output/arm64-apple-darwin/arm64-apple-darwin-codesigned/bitcoin-46e44a35b858/bin/bitcoind 
Executable=/Users/matthewzipkin/Desktop/work/bitcoin/guix-build-46e44a35b858/output/arm64-apple-darwin/arm64-apple-darwin-codesigned/bitcoin-46e44a35b858/bin/bitcoind
Identifier=bitcoind
Format=Mach-O thin (arm64)
CodeDirectory v=20500 size=23284 flags=0x10000(runtime) hashes=722+2 location=embedded
VersionPlatform=1
VersionMin=851968
VersionSDK=917504
Hash type=sha256 size=32
CandidateCDHash sha256=530f57819a0cd018bee3712eed759e5abe6f3122
CandidateCDHashFull sha256=530f57819a0cd018bee3712eed759e5abe6f31228ef865bd7ee6dc81c47f248b
Hash choices=sha256
CMSDigest=530f57819a0cd018bee3712eed759e5abe6f31228ef865bd7ee6dc81c47f248b
CMSDigestType=2
Page size=16384
CDHash=530f57819a0cd018bee3712eed759e5abe6f3122
Signature size=9008
Authority=Developer ID Application: Bitcoin Core Code Signing Association (YZC7WH3MRU)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Feb 11, 2025 at 3:59:43 PM
Info.plist=not bound
TeamIdentifier=YZC7WH3MRU
Runtime Version=14.0.0
Sealed Resources=none
Internal requirements count=1 size=104

@achow101
Copy link
Member Author

Windows code signature:
signature-win.tar.gz

It looks like I have a mismatch.

$ find guix-build-46e44a35b858/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
c92e7d0b4d0d1f929bfe8d61e15a953738725d530fc64eb936634571c17936b7  guix-build-46e44a35b858/output/aarch64-linux-gnu/SHA256SUMS.part
ad3992a66f9de8039cabbc9f222f7369f8002fc5350a01b03a3194d574100770  guix-build-46e44a35b858/output/aarch64-linux-gnu/bitcoin-46e44a35b858-aarch64-linux-gnu-debug.tar.gz
e009fd02c2cc0db9031570ef32b36fa9e16194759ccbca35f3a8f8dacd0d30b2  guix-build-46e44a35b858/output/aarch64-linux-gnu/bitcoin-46e44a35b858-aarch64-linux-gnu.tar.gz
a5ad882af28fe5fbdd8cc5d2267ef93ec34bd374e6cde92b798312014d11d47e  guix-build-46e44a35b858/output/arm-linux-gnueabihf/SHA256SUMS.part
b736932c664a8799930e9ed308f318d5911aee2ef8e708ea0467cd89b859d898  guix-build-46e44a35b858/output/arm-linux-gnueabihf/bitcoin-46e44a35b858-arm-linux-gnueabihf-debug.tar.gz
c03b4391dedbdbf3a32a1ec7b75193cbbc01dd2ef85e562fbc8eba26039158a3  guix-build-46e44a35b858/output/arm-linux-gnueabihf/bitcoin-46e44a35b858-arm-linux-gnueabihf.tar.gz
04fbb5179da959e496596c1304a8a14ab4ed198b25dcf4abc62ec7dbaa1ba6a0  guix-build-46e44a35b858/output/arm64-apple-darwin-codesigned/SHA256SUMS.part
250ba8b070da5fbdba7010c5a8ef135b422dd6ca5c408b000b1184b5b5bcfa17  guix-build-46e44a35b858/output/arm64-apple-darwin-codesigned/bitcoin-46e44a35b858-arm64-apple-darwin.tar.gz
787fd1bd670ce5b903d174ee715a532365c8cc426278020877ef1616c8befa57  guix-build-46e44a35b858/output/arm64-apple-darwin-codesigned/bitcoin-46e44a35b858-arm64-apple-darwin.zip
bd11279800610b70a1feed4451d9fa3a137ed75f26c794363c5ef82d820c592e  guix-build-46e44a35b858/output/arm64-apple-darwin/SHA256SUMS.part
3a911d1a009222c042a84864dccd58462ce3167ea5f407830bf98d370fa356e4  guix-build-46e44a35b858/output/arm64-apple-darwin/bitcoin-46e44a35b858-arm64-apple-darwin-codesigning.tar.gz
2b1c4d096f27ae2a650ce3fe954304c53bb51b7ddac5dd533cabcc862a75f684  guix-build-46e44a35b858/output/arm64-apple-darwin/bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.tar.gz
18c4fe6b004b0b9685671d1a60b146ce00bafe47591ff337ad3af08d8ea55e42  guix-build-46e44a35b858/output/arm64-apple-darwin/bitcoin-46e44a35b858-arm64-apple-darwin-unsigned.zip
2927af1efc846fff95b18e0411d6e40f26777e1a86a63023dfd56e6b984aedac  guix-build-46e44a35b858/output/dist-archive/bitcoin-46e44a35b858-codesignatures-5d627c88c523.tar.gz
e920044a3cf85974b337a5a7e13c35cf8633d5083cb9ab8ba46c3b0f24019a1c  guix-build-46e44a35b858/output/dist-archive/bitcoin-46e44a35b858.tar.gz
89a4bae02f17b261887dbbc6196d590e0900a83a7d5e3fb4ec747457bd031bb3  guix-build-46e44a35b858/output/powerpc64-linux-gnu/SHA256SUMS.part
158bba9ccf1c7400a8ce6d32a81df606a05ff1ae6bc63f84a66f7e1eafac8bfd  guix-build-46e44a35b858/output/powerpc64-linux-gnu/bitcoin-46e44a35b858-powerpc64-linux-gnu-debug.tar.gz
1660a1dadc56b2e8c1c77f5534ffd4e1b3a020d6cb7764461e0e58af1846406c  guix-build-46e44a35b858/output/powerpc64-linux-gnu/bitcoin-46e44a35b858-powerpc64-linux-gnu.tar.gz
3bc7d8eee5240d2301df4eed1d55605e01f9cb72acbbaa217fed9c0a581ef0c8  guix-build-46e44a35b858/output/riscv64-linux-gnu/SHA256SUMS.part
7011c630f296440c0f964f341bf0e5037ed46955eb2e6dc5d07502c758e41766  guix-build-46e44a35b858/output/riscv64-linux-gnu/bitcoin-46e44a35b858-riscv64-linux-gnu-debug.tar.gz
9523d9f7bba2c7392cfe2c559d62d8be10a0011f6c8bc0633248ed8152dc1635  guix-build-46e44a35b858/output/riscv64-linux-gnu/bitcoin-46e44a35b858-riscv64-linux-gnu.tar.gz
71e501ec189b3d561f6f07d52b6ec3ab28eba81600a8ebbde9437a13ce8818dc  guix-build-46e44a35b858/output/x86_64-apple-darwin/SHA256SUMS.part
ccbb4b94720896282ecc6f1a7a4ad8a2de05262b71abbe32bd48ac83bd41f666  guix-build-46e44a35b858/output/x86_64-apple-darwin/bitcoin-46e44a35b858-x86_64-apple-darwin-codesigning.tar.gz
c2125e67f68fc5c1c5d1bb835e7ef886a2025a59a5476173bc511646c48ef7cb  guix-build-46e44a35b858/output/x86_64-apple-darwin/bitcoin-46e44a35b858-x86_64-apple-darwin-unsigned.tar.gz
45cc411f916e6ba617875d30494c8baa6e7974c82b0652449f3422009ff7ca28  guix-build-46e44a35b858/output/x86_64-apple-darwin/bitcoin-46e44a35b858-x86_64-apple-darwin-unsigned.zip
8396003dddb143fe8e08634bd3fffe6088a6edf82def1f0361d0090e9430bbfd  guix-build-46e44a35b858/output/x86_64-linux-gnu/SHA256SUMS.part
d2fad841094103b4cc3cf2976a743e662956054dba591abd3bbe8be11847d0a8  guix-build-46e44a35b858/output/x86_64-linux-gnu/bitcoin-46e44a35b858-x86_64-linux-gnu-debug.tar.gz
514ea670e6facefc08d6972b768a4cbdb298b4cf3d9dbaa488ff6a5dce1290df  guix-build-46e44a35b858/output/x86_64-linux-gnu/bitcoin-46e44a35b858-x86_64-linux-gnu.tar.gz
61f7b6847c48bad5a750f591f3a786b5a41a5812240e6f6f79e8643650ae5211  guix-build-46e44a35b858/output/x86_64-w64-mingw32-codesigned/SHA256SUMS.part
d3476edbe604a417d1428110ec63c08ace43c0e1b245b4bcbae86ac17ffb2df2  guix-build-46e44a35b858/output/x86_64-w64-mingw32-codesigned/bitcoin-46e44a35b858-win64-setup.exe
9c951956534b39b98ffe32183462c41984eeb872c96dbc9ee4ed1d01ce5effdb  guix-build-46e44a35b858/output/x86_64-w64-mingw32-codesigned/bitcoin-46e44a35b858-win64.zip
77e0993c4a93076583f9a90bfac8afb92770363dc624745659339c6a0335497f  guix-build-46e44a35b858/output/x86_64-w64-mingw32/SHA256SUMS.part
388d2eb388392b5d234ed72fd93ac393e55c2b3c76a5c2796d1c54921c469b7f  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-codesigning.tar.gz
21829ed3fd887adf9e4ae337189c984f2b4f91e76d8bf57f644c9d6f600968c4  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-debug.zip
184eef2b7fc6eb72f0578b510b817775615474b81b359de4ab0769c009faf75b  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-setup-unsigned.exe
08841a37cd886a94553acc723a0e3343dd8e00e7b3dd00169ac8eb1a84b03b46  guix-build-46e44a35b858/output/x86_64-w64-mingw32/bitcoin-46e44a35b858-win64-unsigned.zip

Could someone else do a codesigned build so we can compare?


@pinheadmz @fanquake Could one of you also make a x86_64 MacOS codesignature?

The tarballs used for codesigning are more than merely unsigned, they
also contain scripts and other data for codesigning. Rename them to
codesigning.tar.gz to distinguish from tarballs containing actually just
the unsigned binaries.
The MacOS binaries are unsigned and therefore also unusable on MacOS.
Indicate as such by naming the tarball "unsigned".
@fanquake
Copy link
Member

I've opened something (not-yet-fully-tested) here #32563 for 28.x.

fanquake pushed a commit to fanquake/bitcoin that referenced this pull request May 30, 2025
The tarballs used for codesigning are more than merely unsigned, they
also contain scripts and other data for codesigning. Rename them to
codesigning.tar.gz to distinguish from tarballs containing actually just
the unsigned binaries.

Github-Pull: bitcoin#31407
Rebased-From: c214e52
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request May 30, 2025
The MacOS binaries are unsigned and therefore also unusable on MacOS.
Indicate as such by naming the tarball "unsigned".

Github-Pull: bitcoin#31407
Rebased-From: d9d49cd
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request May 30, 2025
As codesigned binaries will be published, the unsigned ones should be
clearly marked as such.

Github-Pull: bitcoin#31407
Rebased-From: 4e5c9ce
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
Github-Pull: bitcoin#31407
Rebased-From: 710d5b5
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
Signapple has been updated to sign individual binaries, and notarize app
bundles and binaries. When codesigning, all individual binaries will be
codesigned, and both the app bundle and individual binaries will be
notarized.

Github-Pull: bitcoin#31407
Rebased-From: 31d3254
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
fanquake added a commit to fanquake/bitcoin that referenced this pull request Jun 2, 2025
fanquake added a commit that referenced this pull request Jun 5, 2025
b1f694f doc: update release-notes.md (fanquake)
52f0963 doc: remove note about macOS self-signing (fanquake)
744b1c8 guix: Apply all codesignatures to Windows binaries (Ava Chow)
812cade guix: Apply codesignatures to all MacOS binaries (Ava Chow)
c60055c contrib: Sign and notarize all MacOS binaries (Ava Chow)
0bd5cb7 guix: Update signapple (Ava Chow)
2b279a2 build: Include all Windows binaries for codesigning (Ava Chow)
ac2b608 build: Include all MacOS binaries for codesigning (Ava Chow)
2c21db6 guix: Rename Windows unsigned binaries to unsigned.zip (Ava Chow)
9f0ee1c guix: Rename MacOS binaries to unsigned.tar.gz (Ava Chow)
00b401c guix: Rename unsigned.tar.gz to codesigning.tar.gz (Ava Chow)

Pull request description:

  Backports #31407 + #32003.

ACKs for top commit:
  pinheadmz:
    ACK b1f694f

Tree-SHA512: f0ca9427eb367039b4eb0c8740e66c72520413ed43f66a0ffa60d44c36426f8a31f45a1b974b5e6a591b8bf9d9e125140934d9e0ce3a8f5aaaf01c12d7fd62bd
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Jun 13, 2025
Sjors added a commit to Sjors/bitcoin that referenced this pull request Jul 8, 2025
Since bitcoin#31407 guix builds are signed and notarized. This was backported to v28, so bump the version.
fanquake added a commit that referenced this pull request Jul 15, 2025
4bb4c86 test: document HOST for get_previous_releases.py (Sjors Provoost)
609203d test: stop signing previous releases >= v28.2 (Sjors Provoost)
c6dc2c2 test: replace v28.0 with notarized v28.2 (Sjors Provoost)
5bd73d9 test: fix macOS detection (Sjors Provoost)

Pull request description:

  Since #31407 macOS guix builds are signed and notarized. This was included in v29 and backported to 28.x.

  This PR bumps the v28.0 previous release binary to v28.2 and adjusts the test that uses it. Additionally it no longer manually code signs binaries >= v28.2.

  While testing on an M4 mac and redownloading all the binaries, I noticed that `platform == "arm64-apple-darwin"` doesn't actually work. This initially used `args.platform` in #26694, but that was changed to just `platform` in #32219.

  So the first commit switches this to use `args.host`. I manually tested on Intel macOS 13.7.6 that code-signing still isn't needed there (when downloading using a script).

  Also documented that you can set `HOST`.

ACKs for top commit:
  m3dwards:
    ACK 4bb4c86
  maflcko:
    review ACK 4bb4c86 🚏

Tree-SHA512: b4803d39a21cb622fd2388a0528b76d2b502956e2505385d3da201143b0afcf6f9d71c8c28937f27b70d2588fb6da677da058bdcd67b90fb53617acc3a727818
@achow101 achow101 mentioned this pull request Sep 18, 2025
bug-castercv502 added a commit to bug-castercv502/rust-bitcoinkernel that referenced this pull request Sep 28, 2025
…91a69ee00

5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
9919e92022b cmake: Add optional sources to `minisketch` library directly
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
d871d778251 test: Remove non-portable IPv6 test
REVERT: 29513955891 kernel: Add pure kernel bitcoin-chainstate
REVERT: 9c40433bd4a kernel: Add functions to get the block hash from a block
REVERT: 942df8f287f kernel: Add block index utility functions to C header
REVERT: 87102db87ac kernel: Add function to read block undo data from disk to C header
REVERT: 12b8c9442ad kernel: Add functions to read block from disk to C header
REVERT: d977db3feb2 kernel: Add function for copying  block data to C header
REVERT: 8ae33627743 kernel: Add functions for the block validation state to C header
REVERT: 0565a0bbc01 kernel: Add validation interface to C header
REVERT: 837e5a0f536 kernel: Add interrupt function to C header
REVERT: a80b7bfe3de kernel: Add import blocks function to C header
REVERT: 54d1a1231ec kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 659efa9969c kernel: Add options for reindexing in C header
REVERT: 2179127c079 kernel: Add block validation to C header
REVERT: 26143992693 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 82d2bebbe54 kernel: Add chainstate manager option for setting worker threads
REVERT: e875f520851 kernel: Add chainstate manager object to C header
REVERT: 4e486059178 kernel: Add notifications context option to C header
REVERT: a5eb699b978 kernel: Add chain params context option to C header
REVERT: 0818b8d2c07 kernel: Add kernel library context object
REVERT: 71c24c95b31 kernel: Add logging to kernel library C header
REVERT: 0cc810386f7 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

release: ship codesigned MacOS arm64 binaries macOS App Notarization & Stapling