2556 Commits

Author SHA1 Message Date
MarcoFalke
faa70ca764
doc: Update Guix install for Debian/Ubuntu
Fixes https://github.com/bitcoin/bitcoin/issues/33982

Co-authored-by: Purple Ninja <129023353+ToRyVand@users.noreply.github.com>
2026-02-25 19:49:35 +01:00
fanquake
c86bce597a
guix: use a temporary file over sponge
Remove sponge (moreutils).
2026-02-20 12:20:00 +00:00
merge-script
8ee24d764a
Merge bitcoin/bitcoin#34604: guix: remove double export of TZ
62e378584e77cb8382facc6a7c18133d1cf9ffb3 guix: don't export TZ twice (fanquake)
badcf1c68dbf9bdb796e7b79459343c22ae20965 guix: fix typo in guix-codesign (fanquake)

Pull request description:

  Remove a double export of `TZ` and fix a typo.

ACKs for top commit:
  janb84:
    ACK 62e378584e77cb8382facc6a7c18133d1cf9ffb3
  hebasto:
    ACK 62e378584e77cb8382facc6a7c18133d1cf9ffb3, I have reviewed the code and it looks OK.

Tree-SHA512: 6e0b66d20db2b0535bea7d29a28782d0ddd423eaace5f2aa708a227985d465e33def10e9f8ac5ea5482fe640ea0df4ca9df8e9f417bf5d040867564fc60aebd0
2026-02-19 10:19:06 +00:00
Ava Chow
4933d1fbba
Merge bitcoin/bitcoin#28792: build: Embedded ASMap [3/3]: Build binary dump header file
24699fec8422a4d9219f8c5272370351e7adea7f doc: Add initial asmap data documentation (Fabian Jahr)
bab085d282b1ad1790861d710fd570f8531c9364 ci: Use without embedded asmap build option in one ci job (Fabian Jahr)
e53934422a29bdcb022d32f8eb6e171218cd3a26 doc: Expand documentation on asmap feature and tooling (Fabian Jahr)
6244212a5532a8a625e344fdbc8144f4befdd385 init, net: Implement usage of binary-embedded asmap data (Fabian Jahr)
6202b50fb9003a4feadd879ae189ee6f730e8155 build: Generate ip_asn.dat.h during build process (Fabian Jahr)
634cd60dc8f646b25701c45ac35a1175ce4c4da9 build: Add embedded asmap data (Fabian Jahr)

Pull request description:

  This is the final in a series of PRs that implement the necessary changes for embedding of asmap data into the binary. This last part add the initial asmap data, implements the build changes and adds further documentation.

  Currently an asmap file needs to be acquired by there user from some location or the user needs to generate one themselves. Then they need to move the file to the right place in datadir or pass the path to the file as `-asmap=PATH` in order to use the asmap feature. The change here allows for builds to embed asmap data into the bitcoind binary which makes it possible to use the feature without handling of the asmap file by the user. If the user starts bitcoind with `-asmap` the embedded data will be used for bucketing of nodes.

  The data lives in the repository at `src/node/data/ip_asn.dat` and can be replaced with a new version at any time. The idea is that the data should be updated with every release. By default the data at that location is embedded into the binary but there is also a build option to prevent this (`-DWITH_EMBEDDED_ASMAP=OFF`). In this case the original behavior of the `-asmap` option is maintained.

ACKs for top commit:
  achow101:
    ACK 24699fec8422a4d9219f8c5272370351e7adea7f
  sipa:
    ACK 24699fec8422a4d9219f8c5272370351e7adea7f
  hodlinator:
    ACK 24699fec8422a4d9219f8c5272370351e7adea7f

Tree-SHA512: c2e33dbeea387efdfd3d415432bf8fa64de80f272c1207015ea53b85bb77f5c29f1dae5644513a23c844a98fb0a4bb257bf765f38b15bfc4c41984f0315b4c6a
2026-02-18 16:43:34 -08:00
fanquake
62e378584e
guix: don't export TZ twice 2026-02-17 09:54:50 +00:00
fanquake
badcf1c68d
guix: fix typo in guix-codesign 2026-02-17 09:54:49 +00:00
merge-script
6d625af283
Merge bitcoin/bitcoin#32621: contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs
7378f27b4fb512567b6152f986f67d9263d08d7a test: run utxo-to-sqlite script test with spk/txid format option combinations (Sebastian Falbesoner)
b30fca7498c93356fbdb8c2ce881aa8e548bae17 contrib: utxo_to_sqlite.py: add options to store txid/spk as BLOBs (Sebastian Falbesoner)

Pull request description:

  This PR is a late follow-up to https://github.com/bitcoin/bitcoin/pull/27432, introducing an option for the utxo-to-sqlite script to store the txid/scriptPubKey columns as bytes (= `BLOB` storage class in sqlite, see e.g. https://www.sqlite.org/datatype3.html in sqlite) rather than hex strings. This was proposed in earlier reviews (https://github.com/bitcoin/bitcoin/pull/27432#issuecomment-1516857024, https://github.com/bitcoin/bitcoin/pull/27432#issuecomment-1653739351) and has the obvious advantage of a significantly smaller size of the resulting database (and with that, faster conversion) and the avoidance of hex-to-bytes conversion for further processing of the data [1]. The rationale on why hex strings were chosen back then (and still stays the default, if only for compatibility reasons) is laid out in https://github.com/bitcoin/bitcoin/pull/27432#issuecomment-1516922824 [2].

  The approach taken is introducing new parameters `--spk` and `--txid` which can either have the values "hex", "raw" (for scriptpubkey) and "hex", "raw", "rawle" (for txid). Thanks to ajtowns for providing this suggestion. Happy to take further inputs on naming and thoughts on future extensibility etc.

  [1] For a concrete example, I found that having these columns as bytes would be nice while working on a SwiftSync hints generator tool (https://github.com/theStack/swiftsync-hints-gen), which takes the result of the utxo-to-sqlite tool as input.
  [2] note that in contrast what I wrote back then, I think there is no ambiguity on byte-string-serialization of txids; they are ultimately just hash results and hence, they should be stored as such, and adding a big/little endian knob wouldn't make much sense. The drawback of not being able to immediately show txid-strings (as one would need to do the bytes-reversal step first, which is not possible in sqlite, see e.g. https://github.com/bitcoin/bitcoin/pull/24952#issuecomment-1165499803) still remains though.

ACKs for top commit:
  ajtowns:
    ACK 7378f27b4fb512567b6152f986f67d9263d08d7a
  w0xlt:
    reACK 7378f27b4f
  sedited:
    ACK 7378f27b4fb512567b6152f986f67d9263d08d7a

Tree-SHA512: 265991a1f00e3d69e06dd9adc34684720affd416042789db2d76226e4b31cf20adc433a74d14140f17739707dee57e6703f72c20bd0f8dd08b6d383d3f28b450
2026-02-08 10:37:45 +01:00
Ava Chow
ad1940a006
Merge bitcoin/bitcoin#34517: drop my key from trusted-keys
f2b8acc0edb6f1acf58cd3d7423d6ad60e8d90c8 remove glozow from trusted keys (glozow)

Pull request description:

  As planned!

  Also bump trusted-git-root to 88a7294356e75bbaa136c9427c64e239f7c6fd40, which is the last merge signed with this key.

ACKs for top commit:
  achow101:
    ACK f2b8acc0edb6f1acf58cd3d7423d6ad60e8d90c8
  stickies-v:
    ACK f2b8acc0edb6f1acf58cd3d7423d6ad60e8d90c8

Tree-SHA512: e68025c519ab003ad464783325502c1a6a3f560c0708a9383332cb0971be2039f462fc95f85373bb075191c165ca8e3904312a66e41b52d1b99dd2a8a837be9a
2026-02-05 10:06:17 -08:00
jayvaliya
42ee31e80c doc: fix broken bpftrace installation link
The bpftrace project moved from iovisor/bpftrace to bpftrace/bpftraceand
removed the separate INSTALL.md file. Installation instructionsare now
in the README.md Quick Start section.
2026-02-05 14:07:25 +05:30
MarcoFalke
fa33acec89
Revert "valgrind: add suppression for bug 472219"
This reverts commit 50f7214e0915a88dd81c1ac1d292e049a398cda2.
2026-02-03 18:15:12 +01:00
Fabian Jahr
e53934422a
doc: Expand documentation on asmap feature and tooling 2026-02-03 18:05:32 +01:00
merge-script
8799eb7440
Merge bitcoin/bitcoin#33878: refactor, docs: Embedded ASMap [2/3]: Refactor asmap internals and add documentation
4fec726c4d352daf2fb4a7e5ed463e44c8815ddb refactor: Simplify Interpret asmap function (Fabian Jahr)
79e97d45c16f043d23ba318a661cc39ec53cf760 doc: Add more extensive docs to asmap implementation (Fabian Jahr)
cf4943fdcdd167a56c278ba094cecb0fa241a8f8 refactor: Use span instead of vector for data in util/asmap (Fabian Jahr)
385c34a05261846dac2b42d47f69b317f534dd40 refactor: Unify asmap version calculation and naming (Fabian Jahr)
fa41fc6a1a7d492b894e206f83e0c9786b44a2f0 refactor: Operate on bytes instead of bits in Asmap code (Fabian Jahr)

Pull request description:

  This is a second slice carved out of #28792. It contains the following changes that are crucial for the embedding of asmap data which is added the following PR in the series (probably this will remain in #28792).

  The changes are:
  - Modernizes and simplifies the asmap code by operating on `std::byte` instead of bits
  - Unifies asmap version calculation and naming (previously it was called version and checksum interchangeably)
  - Operate on a `span` rather than a vector in the asmap internal to prevent holding the asmap data in memory twice
  - Add more extensive documentation to the asmap implementation
  - Unify asmap casing in implemetation function names

  The first three commits were already part of #28792, the others are new.

  The documentation commit came out of feedback gathered at the latest CoreDev. The primary input for the documentation was the documentation that already existed in the Python implementation (`contrib/asmap/asmap.py`) but there are several other comments as well. Please note: I have also asked several LLMs to provide suggestions on how to explain pieces of the implementation and better demonstrate how the parts work together. I have copied bits and pieces that I liked but everything has been edited further by me and obviously all mistakes here are my own.

ACKs for top commit:
  hodlinator:
    re-ACK 4fec726c4d352daf2fb4a7e5ed463e44c8815ddb
  sipa:
    ACK 4fec726c4d352daf2fb4a7e5ed463e44c8815ddb
  sedited:
    Re-ACK 4fec726c4d352daf2fb4a7e5ed463e44c8815ddb

Tree-SHA512: 950a591c3fcc9ddb28fcfdc3164ad3fbd325fa5004533c4a8b670fbf8b956060a0daeedd1fc2fced1f761ac49cd992b79cabe12ef46bc60b2559a7a613d0e166
2026-02-02 18:22:31 +01:00
merge-script
5cb4cf9b42
Merge bitcoin/bitcoin#34036: contrib: update macOS SDK to Xcode-26.1.1-17B100
a89e1618dd8c2ae655093c947fc3f51a34aad1a0 contrib: update macOS SDK to Xcode-26.1.1-17B100 (fanquake)
57a778ed25264686e2da821b3d5caa249f079657 depends: use -Xclang -fno-cxx-modules in macOS cross build (fanquake)

Pull request description:

  Updates the macOS SDK used for Guix builds to `Xcode-26.1.1-17B100`.
  Closes #34034.

ACKs for top commit:
  hebasto:
    ACK a89e1618dd8c2ae655093c947fc3f51a34aad1a0.
  sedited:
    ACK a89e1618dd8c2ae655093c947fc3f51a34aad1a0
  janb84:
    concept ACK a89e1618dd8c2ae655093c947fc3f51a34aad1a0

Tree-SHA512: 4f8f9afee6fca594a0d30fbb3c150f5ed120b40f707954678ff69951bc806acc154aed4b5986d8642160f7b37523933c87c5734f296ff881555093188e29549e
2026-02-02 10:45:06 +00:00
Hennadii Stepanov
9c839aa9e3
iwyu: Document mappings for libc symbols 2026-01-30 11:52:49 +00:00
Hennadii Stepanov
91824646c5
iwyu: Add temporary mapping to work around upstream bug 2026-01-30 11:50:17 +00:00
Hennadii Stepanov
37de7d1910
iwyu: Drop backported mapping
See https://github.com/include-what-you-use/include-what-you-use/pull/1706.
2026-01-30 11:39:20 +00:00
Ava Chow
4e4fa0199e
Merge bitcoin/bitcoin#33680: validation: do not wipe utxo cache for stats/scans/snapshots
c6ca2b85a3e6e73674e210aee4ed69c4af2848e4 validation: do not wipe utxo cache for stats/scans/snapshots (Pieter Wuille)
7099e93d0a80c65a547131d7bab977b09573310c refactor: rename `FlushStateMode::ALWAYS` to `FORCE_FLUSH` (Lőrinc)

Pull request description:

  Revival of https://github.com/bitcoin/bitcoin/pull/30610#issuecomment-3432564955 with the remaining comments applied on top

  > Since #28280, the cost of a non-wiping sync of the UTXO cache is only proportional to the number of dirty entries, rather than proportional to the size of the entire cache. Because of that, there is no reason to perform a wiping flush in case the contents of the cache is still useful.
  >
  > Split the `FlushStateMode::ALWAYS` mode into a FORCE_SYNC (non-wiping) and a FORCE_FLUSH (wiping), and then use the former in `scantxoutset`, `gettxoutsetinfo`, snapshot creation.

  (slightly updated after #30214)

ACKs for top commit:
  optout21:
    reACK c6ca2b85a3e6e73674e210aee4ed69c4af2848e4
  cedwies:
    reACK c6ca2b8 (trivial)
  achow101:
    ACK c6ca2b85a3e6e73674e210aee4ed69c4af2848e4
  sedited:
    ACK c6ca2b85a3e6e73674e210aee4ed69c4af2848e4

Tree-SHA512: f3525a85dc512db4a0a9c749ad47c0d3fa44085a121aa54cd77646260a719c71f754ec6570ae77779c0ed68a24799116f79c686e7a17ce57a26f6a598f7bf926
2026-01-29 14:43:27 -08:00
fanquake
a89e1618dd
contrib: update macOS SDK to Xcode-26.1.1-17B100 2026-01-29 16:27:04 +00:00
glozow
f2b8acc0ed
remove glozow from trusted keys 2026-01-28 11:26:04 -08:00
merge-script
d9851f9a7c
Merge bitcoin/bitcoin#33472: guix: documented shasum gathering command
ab649ce459450533ffdf068b00472259b72cf07a guix: documented shasum gathering command (janb84)

Pull request description:

  When a PR requires proof of Guix builds (sha256sums), the PR author or reviewer uses a not well documented command to collect the sha256sums of build outputs or manually gathers them from files.

  This pull request introduces a new section in the documentation, providing some documentation on the command's functionality and usage.

ACKs for top commit:
  willcl-ark:
    ACK ab649ce459450533ffdf068b00472259b72cf07a
  sedited:
    ACK ab649ce459450533ffdf068b00472259b72cf07a

Tree-SHA512: 0188663ad117b636c7d32a1b655db97610f558cfcffe4abd6f0fb097b3990db0dc6d23ab972926fefd2531b21f429742dcbea6b0fa579d22d5da7a7d6a4c753e
2026-01-28 17:31:40 +01:00
janb84
ab649ce459 guix: documented shasum gathering command 2026-01-26 15:39:04 +01:00
Hennadii Stepanov
1cc58d3a0c
Merge bitcoin/bitcoin#34281: build: Temporarily remove confusing and brittle -fdebug-prefix-map
fa37928536e0048a262260baf998ead026b14bb9 build: Temporarily remove confusing and brittle -fdebug-prefix-map (MarcoFalke)

Pull request description:

  The compiler option `-fdebug-prefix-map` is unconditionally set by the build system. This is problematic for many reasons:

  * Users and devs have no easy way to disable it without modifying the build system source code
  * The mapping is broken since the cmake migration, and requires manual fixups such as https://github.com/bitcoin/bitcoin/issues/31204 or https://github.com/bitcoin/bitcoin/issues/31957

  Fix all issues by temporarily removing it.

  Though, the option is kept for the guix build, so that no change in behavior is observed for the release binaries.

  Fixes https://github.com/bitcoin/bitcoin/issues/31957
  Fixes https://github.com/bitcoin/bitcoin/issues/31204

  The option can be added back in the future, if there is any need to. Though, adding it back should ideally work out of the box, or at least provide easy workarounds for all commonly used tooling.

ACKs for top commit:
  pinheadmz:
    ACK fa37928536e0048a262260baf998ead026b14bb9
  l0rinc:
    ACK fa37928536e0048a262260baf998ead026b14bb9
  hebasto:
    ACK fa37928536e0048a262260baf998ead026b14bb9.

Tree-SHA512: 5c76faab36ec516b286c2b5b2404e1488c0c4fbc678904593b0acb9c8da9b1db1b41436a22e6aa2f2671650288ccf635554773ef3144dc1df6ea838afce07ecb
2026-01-26 13:55:32 +00:00
merge-script
1d8cb78d5b
Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning
d94d7b1a4b70cc93296c19fd221f8b8ac8ab90ee guix: stop passing depends sources to codesigning (fanquake)

Pull request description:

  I think this is just a copy-pasta from the build container (which has existed since this file was introduced in 38eb91eb0616ed6dbe34c23e11588d130fef07f8). I don't see why we'd need the depends sources available when performing codesigning.

ACKs for top commit:
  hebasto:
    ACK d94d7b1a4b70cc93296c19fd221f8b8ac8ab90ee, I have reviewed the code and it looks OK.
  willcl-ark:
    ACK d94d7b1a4b70cc93296c19fd221f8b8ac8ab90ee
  sedited:
    tACK d94d7b1a4b70cc93296c19fd221f8b8ac8ab90ee

Tree-SHA512: 972b15aa022b79602f40c198187a54d85ceeee0014fd2232ca967bb52e4624cbb85b3ef1cdeac3ccd8c7b337a13c3be9c90291141495c8136a8e72ad2cd4ec4a
2026-01-22 17:20:43 +01:00
Fabian Jahr
79e97d45c1
doc: Add more extensive docs to asmap implementation
Also makes minor improvement on the python implementation documentation.
2026-01-20 23:59:43 +01:00
MarcoFalke
faf66673ac
refactor: [move-only] Merge core_io module
This can be reviewed with the git option
--color-moved=dimmed-zebra
2026-01-19 12:57:16 +01:00
MarcoFalke
fa38ffac6f
contrib: [refactor] Use shorter read_text from pathlib 2026-01-16 14:40:06 +01:00
MarcoFalke
fab8bc0308
contrib: Revert "verify-commits sha1 exceptions"
This reverts commit 8ac134be5e57680eb1c6ef596e5de085825e83ee, because it
is no longer needed.
2026-01-16 13:54:36 +01:00
fanquake
d94d7b1a4b
guix: stop passing depends sources to codesigning
I think this is just a copy-pasta from the build container. I don't see
why we'd need the depends sources available when performing codesigning.
2026-01-15 15:15:25 +00:00
MarcoFalke
fa37928536
build: Temporarily remove confusing and brittle -fdebug-prefix-map 2026-01-14 13:15:09 +01:00
merge-script
88a7294356
Merge bitcoin/bitcoin#34260: contrib: Remove unused functions
facaf5621446d819440f5a873848c01c848c3ecc contrib: Remove unused functions (MarcoFalke)

Pull request description:

  * `remove_files` is unused since 5668c6473a01528ac7d66b325b18b1cd2bd93063
  * `download_lines_with_urllib` is unused since it was introduced in 37c9fb7a59a3179b90ed1deaebaabb539976504b
  * `determine_wellknown_cmd` is unused since 76c090145e9bb64fe4ef6a663723dd0e9028ed10

ACKs for top commit:
  fjahr:
    ACK facaf5621446d819440f5a873848c01c848c3ecc
  bensig:
    ACK facaf5621446d819440f5a873848c01c848c3ecc straightforward
  l0rinc:
    Reproduced it locally, ACK facaf5621446d819440f5a873848c01c848c3ecc

Tree-SHA512: c7d4880944b57108429e31541f1b97a98101cc06f1be716d6028f4193b6f087d9af06fa87e95ab224e027d574c6bd793cf06e540cdb8997805e1470e0c4e77a2
2026-01-13 15:35:38 -08:00
merge-script
8e8d8f29a8
Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0
2a746500fa769f83405349bcffa3f0971b92a2de ci: migrate some jobs to Debian Trixie, use GCC 14 (fanquake)
fb0e6edfe88145fea6d96feb24ab45d3f43438ed guix: Apply SSA generation patch to maintain determinism (Mara van der Laan)
34909799fe60055a34f524f7d89bd1a0c02567c1 guix: use GCC 14.3.0 over 13.3.0 (fanquake)
47be9122a7f5e37bcd955fe82c2bebcec73703e9 guix: disable gprofng in GCC (fanquake)
ea29329eb706fe4ed57226df59c5d6fe43aa3167 guix: build GCC with --enable-host-bind-now (fanquake)
6f54e267d01d548e5e7aa05e48a5dc859675e6a9 guix: disable libquadmath in GCC (fanquake)
7735901ed266b08912829c701c78893933c48524 guix: disable building libgomp in GCC (fanquake)

Pull request description:

  Switching to using GCC 14.x for release builds has come up multiple times recently. It will eventually be needed for #25573, and could also be useful for #30210.

ACKs for top commit:
  hebasto:
    ACK 2a746500fa769f83405349bcffa3f0971b92a2de. I have reviewed the code and it looks OK. The new GCC patch looks reasonable.
  theuni:
    utACK 2a746500fa769f83405349bcffa3f0971b92a2de
  sedited:
    ACK 2a746500fa769f83405349bcffa3f0971b92a2de

Tree-SHA512: 56912bed19386f06d52fb94e0ef6d96f5415ab2de8b5e94890806d7cc0b937a3c4b11cc161aa2e06ca2fd3c392ef7501c91688e0897e1c1c51aafa963f3e50d9
2026-01-13 15:32:23 -08:00
MarcoFalke
facaf56214
contrib: Remove unused functions 2026-01-12 09:13:58 +01:00
Ava Chow
8ac134be5e contrib: verify-commits sha1 exceptions
Allow some commits to not require the sha1 check.
2026-01-09 16:08:26 -08:00
merge-script
595504a432
Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys
d1b227f3ad19e1364c74fcb3b34717bb2b9b9243 Add sedited to trusted-keys (sedited)

Pull request description:

  As discussed on irc: https://www.erisian.com.au/bitcoin-core-dev/log-2026-01-08.html#l-286

ACKs for top commit:
  l0rinc:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243, well deserved.
  achow101:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243
  fjahr:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243
  darosior:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243
  theStack:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243 🍾
  willcl-ark:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243
  glozow:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243
  mzumsande:
    ACK d1b227f3ad19e1364c74fcb3b34717bb2b9b9243

Tree-SHA512: 865507213459013d88c3bd74797efd5bf2ad81cafb184520fc62a471b3c01786194ef842a046a34085c8ef65a8e02e634cd9b6c2c75ca40298cfb5d0ea38d1dd
2026-01-09 11:35:39 +00:00
sedited
d1b227f3ad
Add sedited to trusted-keys 2026-01-08 19:59:15 +01:00
Hennadii Stepanov
194114daf3
guix: Fix osslsigncode tests 2026-01-08 12:45:14 +00:00
Mara van der Laan
fb0e6edfe8
guix: Apply SSA generation patch to maintain determinism
See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123351
https://gcc.gnu.org/pipermail/gcc-patches/2026-January/704817.html
2026-01-06 10:18:56 +00:00
fanquake
34909799fe
guix: use GCC 14.3.0 over 13.3.0
This will eventually be needed for #25573, and could be useful
for #30210.
2026-01-06 09:47:03 +00:00
fanquake
47be9122a7
guix: disable gprofng in GCC 2026-01-06 09:47:03 +00:00
fanquake
ea29329eb7
guix: build GCC with --enable-host-bind-now 2026-01-06 09:47:03 +00:00
fanquake
6f54e267d0
guix: disable libquadmath in GCC
Prunes:
libquadmath.a
libquadmath.la
libquadmath.so
libquadmath.so.0
libquadmath.so.0.0.0
2026-01-06 09:47:02 +00:00
fanquake
7735901ed2
guix: disable building libgomp in GCC
Prunes:
libgomp.a
libgomp.la
libgomp.so
libgomp.so.1
libgomp.so.1.0.0
libgomp.spec
2026-01-06 09:47:02 +00:00
merge-script
bd4f4782f2
Merge bitcoin/bitcoin#34154: test: Enable ruff E713 lint
fab300b378941a233119805c0d62198596a57790 test: Enable ruff E713 lint (MarcoFalke)

Pull request description:

  Membership tests of the form `not item in stuff` may be confusing, because they could be read as `(not item) in stuff`, which is different.

  So enable the ruff E713 lint, which should also help to avoid having to go through review cycles for this.

ACKs for top commit:
  bensig:
    ACK fab300b378941a233119805c0d62198596a57790
  l0rinc:
    ACK fab300b378941a233119805c0d62198596a57790
  rkrux:
    lgtm crACK fab300b378941a233119805c0d62198596a57790

Tree-SHA512: c3eaf0fbe0dd22d8e04b896e98adaf28162fb748e6f7f5ebfd73b2020da66046bf8f0c1a27db5da05250366b98ded8c4a55d53edd8fa050e80521aee42ba3c5a
2026-01-04 16:22:38 +00:00
Pieter Wuille
c6ca2b85a3
validation: do not wipe utxo cache for stats/scans/snapshots
Since #28280, the cost of a non-wiping sync of the UTXO cache is only proportional to the number of dirty entries, rather than proportional to the size of the entire cache. Because of that, there is no reason to perform a wiping flush in case the contents of the cache is still useful.

Split the FlushStateMode::ALWAYS mode into a FORCE_SYNC (non-wiping) and a FORCE_FLUSH (wiping), and then use the former in scantxoutset, gettxoutsetinfo, snapshot creation.

Co-authored-by: l0rinc <pap.lorinc@gmail.com>
Co-authored-by: cedwies <141683552+cedwies@users.noreply.github.com>
2026-01-03 12:43:57 +01:00
Lőrinc
7099e93d0a
refactor: rename FlushStateMode::ALWAYS to FORCE_FLUSH
This prepares the addition of `FORCE_SYNC`.

`empty_cache` in `FlushStateToDisk` was moved up to be reusable and `FlushStateMode::FORCE_FLUSH` was used as a placeholder before we properly split the two new states.
`log_utxocache_flush.py` was regenerated and the alignment adjusted for the wider `FlushStateMode` values.

Co-authored-by: Pieter Wuille <pieter@wuille.net>
Co-authored-by: optout <13562139+optout21@users.noreply.github.com>
2026-01-03 12:43:57 +01:00
fanquake
b23b901363
doc: update copyright year 2025-12-29 17:50:43 +00:00
merge-script
7249bcc4f8
Merge bitcoin/bitcoin#34119: contrib: remove copyright_header.py
ba6315d2f6fe550912ab2ba87f165329d9e2f834 contrib: remove copyright_header.py (fanquake)
3e4765ee10a6a2c3eb7efa23d9e86184c61ac504 scripted-diff: [doc] Unify stale copyright headers (fanquake)

Pull request description:

  After #34084, our copyright headers shouldn't need "managing"; so remove the Python script.

ACKs for top commit:
  fjahr:
    ACK ba6315d2f6fe550912ab2ba87f165329d9e2f834
  rkrux:
    crACK [ba6315d](ba6315d2f6)
  janb84:
    ACK ba6315d2f6fe550912ab2ba87f165329d9e2f834

Tree-SHA512: c0d6ed0a71803c5ae6c70260fa4162bea1f1b24cf6fc9b58e018bb9d6a673d2d59c25a17deda067a268024e3757081e3a214680e1e626d71c0debc5066d5f623
2025-12-29 07:03:02 -08:00
MarcoFalke
fab300b378
test: Enable ruff E713 lint 2025-12-26 08:19:34 +01:00
Hennadii Stepanov
5bbc7c8cc1
Merge bitcoin/bitcoin#33810: ci: Add IWYU job
56750c4f87d089c6a3f093eb2bf2edd07170d4a8 iwyu, clang-format: Sort includes (Hennadii Stepanov)
2c78814e0e182853ce44d9fd63d24ee6cab5223e ci: Add IWYU job (Hennadii Stepanov)
94e4f04d7cf4b0fef9a28d3771e73f1dc9fb0528 cmake: Fix target name (Hennadii Stepanov)
0f81e005197fa4201a38e635ddf8c5dcc12a3878 cmake: Make `codegen` target dependent on `generate_build_info` (Hennadii Stepanov)
73f7844cdb1e225099223a355d88da0522d7d69b iwyu: Add patch to prefer C++ headers over C counterparts (Hennadii Stepanov)
7a65437e23706e4820392dc456c3acccbf196dd6 iwyu: Add patch to prefer angled brackets over quotes for includes (Hennadii Stepanov)

Pull request description:

  This PR separates the IWYU checks into its own CI job to provide faster feedback to developers. No other changes are made to the treatment of IWYU warnings. The existing “tidy” CI job will no longer run IWYU.

  See also the discussion of https://github.com/bitcoin/bitcoin/pull/33779, specifically this [comment](https://github.com/bitcoin/bitcoin/pull/33779#issuecomment-3491515263):
  > Maybe a better approach would be to run the enforced sections in a separate, faster job? Some of the linters are already a bit annoying to invoke locally, so I usually just run the lint job. Doing the same for the includes seems fine to me.

  Based on ideas from https://github.com/bitcoin/bitcoin/pull/32953.

ACKs for top commit:
  maflcko:
    review ACK 56750c4f87d089c6a3f093eb2bf2edd07170d4a8 🌄
  sedited:
    ACK 56750c4f87d089c6a3f093eb2bf2edd07170d4a8

Tree-SHA512: af15326b6d0c5d1e11346ac64939644936c65eb9466cd1a17ab5da347d39aef10f7ab33b39fbca31ad291b0b4b54639b147b24410f4f86197e4a776049882694
2025-12-22 17:38:50 +00:00
fanquake
ba6315d2f6
contrib: remove copyright_header.py 2025-12-19 16:58:36 +00:00