Commit graph

36920 commits

Author SHA1 Message Date
fanquake
550e6bd227
Merge bitcoin/bitcoin#26935: refactor: Fix clang-tidy readability-const-return-type violations
fa451d4b60 Fix clang-tidy readability-const-return-type violations (MarcoFalke)

Pull request description:

  This comes up during review, so instead of wasting review cycles on this, just enforce it via CI

ACKs for top commit:
  stickies-v:
    utACK fa451d4b6
  hebasto:
    ACK fa451d4b60.

Tree-SHA512: 144a85612f00ec43f7ea1fdaa11901ca981a9f0465a8849745712d741b201b9c3307118172ee0b8efd12bebf25bc6f32a6e2c908495e371f9ada0a917994f44e
2023-02-01 15:53:35 +00:00
fanquake
71383f2fad
ci: avoid using -Werror for older compilers
Don't enable `-Werror` (in the CI) for compilers at least older than
our current release compiler (GCC 10). It provides little-to-no value,
other than turning compiler bugs & false positives into build failures,
and we aren't going to mutate perfectly fine/working code, for the sake
of avoid a warning that shouldn't even exist.

I also do not see the point of playing whack-a-mole and turning off various
warnings/trying to further work around the broken compiler, just to
acheive warningless builds for the sake of warningless builds.

One anecdote from "How SQLite Is Tested":
> Static analysis has found a few bugs in SQLite, but those are the
> exceptions. More bugs have been introduced into SQLite while trying
> to get it to compile without warnings than have been found by static
> analysis.

https://www.sqlite.org/testing.html.
2023-02-01 15:22:24 +00:00
Martin Zumsande
dc70c1eb08 addrman: Use std::nullopt instead of {} 2023-02-01 10:18:08 -05:00
Martin Zumsande
59cc66abb9 test: Remove AddrMan unit test that fails consistency checks
Now that Size() performs internal consistency checks,
it will rightfully fail (and assert) when dealing with
a corrupted AddrMan. Therefore remove this check.
2023-02-01 10:14:20 -05:00
MarcoFalke
8fc3bcf93d
Merge bitcoin/bitcoin#27010: refactor: use Hash helpers for double-SHA256 calculations
87f11ef47f refactor: use `Hash` helper for double-SHA256 calculations (Sebastian Falbesoner)

Pull request description:

  We have two helper templates `Hash(const T& in1)` and `Hash(const T& in1, const T& in2)` available for calculating the double-SHA256 hash of one object or two concatenated objects, respectively:

  b5868f4b1f/src/hash.h (L74-L89)

  This PR uses them in order to increase readability and simplify the code. As in #15294 (which inspired this PR, doing the same for RIPEMD160), the helper is not utilized in validation.cpp and  script/interpreter.cpp to avoid touching consensus-relevant code.

ACKs for top commit:
  john-moffett:
    ACK 87f11ef47f
  stickies-v:
    ACK 87f11ef47f
  MarcoFalke:
    review ACK 87f11ef47f  😬

Tree-SHA512: 11d7e3d00c89685107784010fbffb33ccafb4d1b6a76c4dceb937b29bb234ef4d54581b16bd0737c8d2994a90cf4fe10a9738c7cc5b6d085c6a819f06176dab9
2023-02-01 15:56:30 +01:00
MarcoFalke
fa6986a66b
ci: Print iwyu patch in git diff format 2023-02-01 14:11:48 +01:00
glozow
22ccf4e360
Merge bitcoin/bitcoin#26991: doc: followups to #26471
47c174d8ce doc: NetPermissionFlags for tx relay in blocksonly (willcl-ark)
e325e0fccb doc: Fix comment syntax error (willcl-ark)

Pull request description:

  Fix syntax error and specify `NetPermissionFlags` for whitelisted tx relay

ACKs for top commit:
  w0xlt:
    ACK 47c174d8ce

Tree-SHA512: eb579dc599a96a3ea79c01ac3e76160ec59cf71c2486c9401da8fbbd96ae756ba647aa9ba874835946bc76ba02782729da788617f982ae5a852139e10e7dfd75
2023-02-01 11:46:22 +00:00
fanquake
17acbc1a5a
Merge bitcoin/bitcoin#25974: test, build: Separate read_json function into its own module
7a820cee0e test, build: Separate `read_json` function into its own module (Hennadii Stepanov)

Pull request description:

  Currently, 4 source files rely on the definition of the `read_json` function provided in `src/test/script_tests.cpp`.

  This PR breaks this entanglement, improves code structure and maintainability.

ACKs for top commit:
  fanquake:
    ACK 7a820cee0e

Tree-SHA512: f1567989f76cb54ab86cc48927851a8c424b08a9483d02d4918b629e0c792108bad4ccf7fa341d57b0921d91e84bf8fa3b9c07e5fdf12c64d9d5da83e4e464fb
2023-02-01 11:43:42 +00:00
MarcoFalke
fa451d4b60
Fix clang-tidy readability-const-return-type violations 2023-02-01 11:33:35 +01:00
MarcoFalke
e1bf5470f9
Merge bitcoin/bitcoin#26705: clang-tidy: Fix modernize-use-default-member-init in headers and force to check all headers
b0e916913c clang-tidy: Force to check all headers (Hennadii Stepanov)
96ee992ac3 clang-tidy: Fix `modernize-use-default-member-init` in headers (Hennadii Stepanov)

Pull request description:

  This PR:
  - fixes the only [remained](https://github.com/bitcoin/bitcoin/pull/26705#issuecomment-1353742082) check in headers, i.e., `modernize-use-default-member-init`
  - forces `clang-tidy` check all headers

  Closes bitcoin/bitcoin#26703.

ACKs for top commit:
  MarcoFalke:
    review ACK b0e916913c 🍹

Tree-SHA512: 4d33fe873094914541ae81968cdb4e7a7a01b3fdd4f25bc6daa8a53f45dab80565a5b3607ddc338f122369ca5a0a2d0d09c8e78cabe1beb6bd50c115bc5c5210
2023-02-01 10:38:45 +01:00
MarcoFalke
ba39ffe938
Merge bitcoin/bitcoin#26888: net: simplify the call to vProcessMsg.splice()
dfc01ccd73 net: simplify the call to vProcessMsg.splice() (Vasil Dimov)

Pull request description:

  At the time when

  ```cpp
  pnode->vProcessMsg.splice(pnode->vProcessMsg.end(), pnode->vRecvMsg, pnode->vRecvMsg.begin(), it);
  ```

  is called, `it` is certainly `pnode->vRecvMsg.end()` which makes the call equivalent to:

  ```cpp
  pnode->vProcessMsg.splice(pnode->vProcessMsg.end(), pnode->vRecvMsg, pnode->vRecvMsg.begin(), pnode->vRecvMsg.end());
  ```

  which is equivalent to:

  ```cpp
  pnode->vProcessMsg.splice(pnode->vProcessMsg.end(), pnode->vRecvMsg);
  ```

  Thus, use the latter. Further, maybe irrelevant, but the latter has constant complexity while the original code is `O(length of vRecvMsg)`.

ACKs for top commit:
  theStack:
    Code-review ACK dfc01ccd73
  MarcoFalke:
    review ACK dfc01ccd73   🐑
  jonatack:
    Light review ACK dfc01ccd73

Tree-SHA512: 9f4eb61d1caf4af9a61ba2f54b915fcfe406db62c58ab1ec42f736505b6792e9379a83d0458d6cc04f289edcec070b7c962f94a920ab51701c3cab103152866f
2023-02-01 09:42:46 +01:00
Andrew Chow
ba3d32715f
Merge bitcoin/bitcoin#26847: p2p: track AddrMan totals by network and table, improve precision of adding fixed seeds
80f39c99ef addrman, refactor: combine two size functions (Amiti Uttarwar)
4885d6f197 addrman, refactor: move count increment into Create() (Martin Zumsande)
c77c877a8e net: Load fixed seeds from reachable networks for which we don't have addresses (Martin Zumsande)
d35595a78a addrman: add function to return size by network and table (Martin Zumsande)

Pull request description:

  AddrMan currently doesn't track the number of its entries by network, it only knows the total number of addresses. This PR makes AddrMan keep track of these numbers, which would be helpful for multiple things:

  1. Allow to specifically add fixed seeds to AddrMan of networks where we don't have any addresses yet - even if AddrMan as a whole is not empty (partly fixing #26035). This is in particular helpful if the user abruptly changes `-onlynet` settings (such that addrs that used to be reachable are no longer and vice versa), in which case they currently could get stuck and not find any outbound peers. The second commit of this PR implements this.
  1. (Future work): Add logic for automatic connection management with respect to networks - such as making attempts to have at least one connection to each reachable network as suggested [here](https://github.com/bitcoin/bitcoin/issues/26035#issuecomment-1249420209). This would involve requesting an address from a particular network from AddrMan, and expanding its corresponding function `AddrMan::Select()`  to do this requires internal knowledge of the current number of addresses for each network and table to avoid getting stuck in endless loops.
  1. (Future work): Perhaps display the totals to users. At least I would find this helpful to debug, the existing option (`./bitcoin-cli -addrinfo`) is rather indirect by doing the aggregation itself in each call, doesn't distinguish between new and tried, and being based on `AddrMan::GetAddr()` it's also subject to a quality filter which we probably don't want in this spot.

ACKs for top commit:
  naumenkogs:
    utACK 80f39c9
  stratospher:
    ACK 80f39c9
  achow101:
    ACK 80f39c99ef
  vasild:
    ACK 80f39c99ef

Tree-SHA512: 6359f2e3f4db7c120c0789d92d74cb7d87a2ceedb7d6a34b5eff20c7f55c5c81092d10ed94efe29afc1c66947820a0d9c14876ee0c8d1f8e068a6df4e1131927
2023-01-31 16:08:44 -05:00
Sebastian Falbesoner
87f11ef47f refactor: use Hash helper for double-SHA256 calculations 2023-01-31 19:34:35 +01:00
fanquake
b5868f4b1f
Merge bitcoin/bitcoin#23670: build: Build minisketch test in make check, not in make
6d58117a31 build: Build minisketch test in `make check`, not in `make` (Hennadii Stepanov)

Pull request description:

  On master (d1e42659bb):
  ```
  $ ./autogen.sh && ./configure --without-gui --disable-wallet && make clean
  $ make 2>&1 | grep LD | grep -v .la
    CXXLD    bitcoind
    CXXLD    bitcoin-cli
    CXXLD    bitcoin-tx
    CXXLD    bitcoin-util
    CXXLD    test/test_bitcoin
    CXXLD    bench/bench_bitcoin
    CXXLD    minisketch/test
    CXXLD    test/fuzz/fuzz
    CXXLD    univalue/test/object
    CXXLD    univalue/test/unitester
  $ make check 2>&1 | grep LD
    CCLD     exhaustive_tests
    CCLD     tests
  ```

  With this PR:
  ```
  $ ./autogen.sh && ./configure --without-gui --disable-wallet && make clean
  $ make 2>&1 | grep LD | grep -v .la
    CXXLD    bitcoind
    CXXLD    bitcoin-cli
    CXXLD    bitcoin-tx
    CXXLD    bitcoin-util
    CXXLD    test/test_bitcoin
    CXXLD    bench/bench_bitcoin
    CXXLD    test/fuzz/fuzz
    CXXLD    univalue/test/object
    CXXLD    univalue/test/unitester
  $ make check 2>&1 | grep LD
    CXXLD    minisketch/test
    CCLD     exhaustive_tests
    CCLD     tests
  ```

  In fact, this PR restores behavior that was before bitcoin/bitcoin#22646, and that behavior looks more optimal.

  As an outcome, the `contrib/guix/libexec/build.sh` does not spend resources to build binaries which are not a part of the release package.

ACKs for top commit:
  TheCharlatan:
    ACK 6d58117a31

Tree-SHA512: 4957c8f88a01aca005813bf4c1c26f433756bf68ea0c958481c638ead229fa8e23ecae3a8ac31ea555876ba6f2cc10ecd91caf2e2f664de5cb529ec05fb38fa7
2023-01-31 17:55:44 +00:00
MarcoFalke
fad7af700e
Use steady clock for logging timer 2023-01-31 18:48:50 +01:00
MarcoFalke
1ff254e45c
Merge bitcoin/bitcoin#26974: refactor: rpc: set TxToJSON default verbosity to SHOW_DETAILS
a24e633339 refactor: rpc: set TxToJSON default verbosity to SHOW_DETAILS (stickies-v)

Pull request description:

  `TxToJSON()` and `TxToUniv()` are only to be called when we want to decode the transaction (i.e. its details) into JSON. If `TxVerbosity` is `SHOW_TXID`, the function should not have been (and currently is not) called in the first place.

  There is no behaviour change, current logic simply assumes anything less than `TxVerbosity::SHOW_DETAILS_AND_PREVOUT` equals `TxVerbosity::SHOW_DETAILS`. With this change, the assumptions and intent become more explicit.

ACKs for top commit:
  w0xlt:
    ACK a24e633339

Tree-SHA512: b97235adae49b972bdbe10aca1438643fb35ec66a4e57166b1975b3015bc5a06a711feebe4453a8fefe71781e484b21ef80847d8e8a33694a3abcc863accd4d7
2023-01-31 18:22:19 +01:00
Martin Zumsande
fe683f3524 log: Log VerifyDB Progress over multiple lines
This allows to log a timestamp for each entry,
and avoids potential interference with other
threads that could log concurrently.
2023-01-31 10:43:39 -05:00
Martin Zumsande
61431e3a57 validation: Skip VerifyDB checks of level >=3 if dbcache is too small
The previous behavior, skipping some L3 DisconnectBlock calls,
but still attempting to reconnect these blocks at L4, makes
ConnectBlock assert.

The variable skipped_l3_checks is introduced because even with an
insufficient cache for the L3 checks, the L1/L2 checks in the same
loop should still be completed.

Fixes #25563.
2023-01-31 10:43:39 -05:00
fanquake
2b211b41e3
Merge bitcoin/bitcoin#26952: build: Avoid BOOST_NO_CXX98_FUNCTION_BASE macro redefinition
d4c59da8d6 build: Avoid `BOOST_NO_CXX98_FUNCTION_BASE` macro redefinition (Hennadii Stepanov)

Pull request description:

  With GCC 12 and Boost 1.81 (from depends) having multiple warnings:
  ```
  In file included from /home/hebasto/bitcoin/depends/x86_64-pc-linux-gnu/include/boost/config.hpp:48:
  /home/hebasto/bitcoin/depends/x86_64-pc-linux-gnu/include/boost/config/stdlib/libstdcpp3.hpp:397:9: warning: 'BOOST_NO_CXX98_FUNCTION_BASE' macro redefined [-Wmacro-redefined]
  #define BOOST_NO_CXX98_FUNCTION_BASE
          ^
  <command line>:8:9: note: previous definition is here
  #define BOOST_NO_CXX98_FUNCTION_BASE 1
          ^
  1 warning generated.
  ```

  This PR fixes those warnings.

  Defining of the `BOOST_NO_CXX98_FUNCTION_BASE` macro was introduced in https://github.com/bitcoin/bitcoin/pull/25436, but since https://github.com/boostorg/config/pull/430, it is required to check it before adding.

ACKs for top commit:
  fanquake:
    ACK d4c59da8d6 - it works now.

Tree-SHA512: 53b9ddcf8dad729638ed41251e30c80f2d7d1ae3ffe47466865834f1f10184fe0881abeb339b3e46c270c3eb11fb63d19ab12cc9461bf5c2be12b4763c1b1c34
2023-01-31 14:58:52 +00:00
Hennadii Stepanov
75db62ba4c
refactor: Move calculation logic out from CheckSequenceLocksAtTip() 2023-01-31 13:26:54 +00:00
Hennadii Stepanov
3bc434f459
refactor: Add CalculateLockPointsAtTip() function 2023-01-31 13:26:45 +00:00
Hennadii Stepanov
b0e916913c
clang-tidy: Force to check all headers 2023-01-31 11:50:24 +00:00
Hennadii Stepanov
96ee992ac3
clang-tidy: Fix modernize-use-default-member-init in headers
See https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-default-member-init.html
2023-01-31 11:50:10 +00:00
MarcoFalke
fab9f7d1bd
test: Use std::unique_ptr over manual delete in coins_tests 2023-01-31 12:09:01 +01:00
MarcoFalke
357d750cab
Merge bitcoin/bitcoin#26956: test: refactor: introduce replace_in_config helper
b530d9605d test: refactor: introduce `replace_in_config` helper (Sebastian Falbesoner)

Pull request description:

  Currently two functional tests (p2p_permissions.py and wallet_crosschain.py) include quite similar code for substituting strings in a TestNode's bitcoind configuration file, so refactoring that out to a dedicated helper method seems to make sense (probably other tests could need that too in the future).

ACKs for top commit:
  kouloumos:
    ACK b530d9605d

Tree-SHA512: 5ca65a2ef3292460e5720d5c6acf7326335001858e8f71ab054560117f9479dbadb1dacd8c9235f67f3fcfd08dbc761b62704f379cbf619bba8804f16a25bc7b
2023-01-31 10:23:37 +01:00
Pieter Wuille
511aa4f1c7 Add unit test for ChaCha20's new caching 2023-01-30 19:12:55 -05:00
Pieter Wuille
fb243d25f7 Improve test vectors for ChaCha20 2023-01-30 18:12:21 -05:00
Pieter Wuille
93aee8bbda Inline ChaCha20 32-byte specific constants 2023-01-30 18:12:21 -05:00
Pieter Wuille
62ec713961 Only support 32-byte keys in ChaCha20{,Aligned} 2023-01-30 18:12:21 -05:00
Pieter Wuille
f21994a02e Use ChaCha20Aligned in MuHash3072 code 2023-01-30 18:12:21 -05:00
Pieter Wuille
5d16f75763 Use ChaCha20 caching in FastRandomContext 2023-01-30 18:12:21 -05:00
Pieter Wuille
38eaece67b Add fuzz test for testing that ChaCha20 works as a stream 2023-01-30 18:12:21 -05:00
Martin Leitner-Ankerl
5f05b27841 Add xoroshiro128++ PRNG
Xoroshiro128++ is a fast non-cryptographic random generator.
Reference implementation is available at https://prng.di.unimi.it/

Co-Authored-By: Pieter Wuille <pieter@wuille.net>
2023-01-30 18:12:21 -05:00
Pieter Wuille
12ff72476a Make unrestricted ChaCha20 cipher not waste keystream bytes
Co-authored-by: dhruv <856960+dhruv@users.noreply.github.com>
2023-01-30 18:12:21 -05:00
Pieter Wuille
6babf40213 Rename ChaCha20::Seek -> Seek64 to clarify multiple of 64 2023-01-30 18:12:21 -05:00
Pieter Wuille
e37bcaa0a6 Split ChaCha20 into aligned/unaligned variants 2023-01-30 18:12:21 -05:00
Andrew Chow
ceb74b844c
Merge bitcoin/bitcoin#26998: depends: ensure we are appending to sqlite cflags
56a03f1834 depends: ensure we are appending to sqlite cflags (fanquake)

Pull request description:

  Otherwise we'll just override other flags passed in (i.e msan).

  Should fix https://cirrus-ci.com/task/6598922274078720?logs=ci#L3661.

ACKs for top commit:
  achow101:
    ACK 56a03f1834
  TheCharlatan:
    ACK 56a03f1834

Tree-SHA512: 5890018cfc5deaef18b0f01a3a0396f803e97f9a9785bf6873ef48bc13b74b644315f0f29cf11d3522964a6396f74e1f080bb4e412bc302956a651fed28b27df
2023-01-30 17:23:58 -05:00
Andrew Chow
c8cb62272e
Merge bitcoin/bitcoin#26999: A few follow-ups to #17487 (coins write without cache drop)
2e16054a66 Add assertions that BatchWrite(erase=true) erases (Pieter Wuille)
941feb6ca2 Avoid unclear {it = ++it;} (Pieter Wuille)
98db35c2f8 Follow coding style for named arguments (Pieter Wuille)
bb00357add Make test/fuzz/coins_view exercise CCoinsViewCache::Sync() (Pieter Wuille)

Pull request description:

  This addresses a few nits left open in #17487.

ACKs for top commit:
  jonatack:
    ACK 2e16054a66
  Sjors:
    utACK 2e16054a66
  achow101:
    ACK 2e16054a66
  jamesob:
    ACK 2e16054a66 ([`jamesob/ackr/26999.1.sipa.a_few_follow_ups_to_1748`](https://github.com/jamesob/bitcoin/tree/ackr/26999.1.sipa.a_few_follow_ups_to_1748))

Tree-SHA512: 5e64807b850fa12ce858e87470420555ad081f2f63d53649d9904034ed5311592005eb979a8a4df2b70ecb56cf022db9750cd6999e5480bc8226184d4be22ce4
2023-01-30 17:16:46 -05:00
Pieter Wuille
2e16054a66 Add assertions that BatchWrite(erase=true) erases 2023-01-30 13:13:54 -05:00
Pieter Wuille
941feb6ca2 Avoid unclear {it = ++it;} 2023-01-30 13:13:24 -05:00
Pieter Wuille
98db35c2f8 Follow coding style for named arguments 2023-01-30 13:13:20 -05:00
Pieter Wuille
bb00357add Make test/fuzz/coins_view exercise CCoinsViewCache::Sync() 2023-01-30 13:11:53 -05:00
fanquake
7241b936c5
Merge bitcoin/bitcoin#26965: refactor: Remove stray cs_main redundant declaration
faba08b5b4 refactor: Remove stray cs_main redundant declaration (MarcoFalke)
fa02591edf doc: Export threadsafety.h from sync.h (MarcoFalke)

Pull request description:

  Looks like this was forgotten when introducing kernel/cs_main ?

  Also, there is a commit to export threadsafety.h from sync.h.

ACKs for top commit:
  hebasto:
    ACK faba08b5b4

Tree-SHA512: 0aa58e7693b6fcd504f9da7339f8baa463a6407f67b27f68002db705f4642321ac3765f16c3d906c925ee24085591b79160a62fa5f4aaf6f2e5dcc788411800d
2023-01-30 17:27:44 +00:00
fanquake
56a03f1834
depends: ensure we are appending to sqlite cflags
Otherwise we'll just override other flags passed in (i.e msan).
2023-01-30 17:15:01 +00:00
fanquake
82903a7a8d
Merge bitcoin/bitcoin#17487: coins: allow write to disk without cache drop
1d7935b45a test: add test for coins view flush behavior using Sync() (James O'Beirne)
2c3cbd6c00 test: add use of Sync() to coins tests (James O'Beirne)
6d8affca96 test: refactor: clarify the coins simulation (James O'Beirne)
79cedc36af coins: add Sync() method to allow flush without cacheCoins drop (James O'Beirne)

Pull request description:

  This is part of the [assumeutxo project](https://github.com/bitcoin/bitcoin/projects/11):

  Parent PR: #15606
  Issue: #15605
  Specification: https://github.com/jamesob/assumeutxo-docs/tree/master/proposal

  ---

  In certain circumstances, we may want to flush chainstate data to disk without
  emptying `cacheCoins`, which affects performance. UTXO snapshot
  activation is one such case, as we populate `cacheCoins` with the snapshot
  contents and want to persist immediately afterwards but also enter IBD.

  See also #15265, which makes the case that under normal operation a
  flush-without-erase doesn't necessarily add much benefit. I open this PR
  even in light of the previous discussion because (i) flush-without-erase
  almost certainly provides benefit in the case of snapshot activation (especially
  on spinning disk hardware) and (ii) this diff is fairly small and gives us convenient
  options for more granular cache management without changing existing policy.

  See also #15218.

ACKs for top commit:
  sipa:
    ACK 1d7935b45a
  achow101:
    ACK 1d7935b45a
  Sjors:
    tACK 1d7935b45a

Tree-SHA512: 897583963e98661767d2d09c9a22f6019da24125558cd88770bfe2d017d924f23a9075b729e4b1febdec5b0709a38e8fa1ef94d62aa88650556b06cb4826c845
2023-01-30 16:01:16 +00:00
fanquake
0a1d372ad0
Merge bitcoin/bitcoin#26649: refactor: Use AutoFile and HashVerifier (without ser-type and ser-version) where possible
eeee61065f Use AutoFile and HashVerifier where possible (MarcoFalke)
fa961141f7 Add HashVerifier (MarcoFalke)

Pull request description:

  This was done in the context of https://github.com/bitcoin/bitcoin/pull/25284 , but I think it also makes sense standalone.

  The basic idea is that serialization type should not be initialized when it is not needed. Same for the serialization version.

  So do this here for `AutoFile` and `HashVerifier`. `CAutoFile` and `CHashVerifier` remain in places where it is not yet possible.

ACKs for top commit:
  stickies-v:
    ACK eeee61065f

Tree-SHA512: 93786778c309ecfdc1ed43552d24ff9d966954d69a47f66faaa6de24daacd25c651f3f62bde5abbb362700298fb3c04ffbd3207a0dd13d0bd8bff7fd6d07dcf8
2023-01-30 15:57:12 +00:00
Greg Sanders
906631450d s/transcation/transaction/ 2023-01-30 10:46:15 -05:00
fanquake
228edafc66
Merge bitcoin/bitcoin#23619: build: Propagate user-defined flags to host packages
a3a2bd9e8a ci: Drop no longer needed package-specific flags (Hennadii Stepanov)
071eef1e97 build: Propagate user-defined flags to host packages (Hennadii Stepanov)

Pull request description:

  On master (4f8b1f8759) `{CPP,C,CXX,LD}FLAGS` that are specified in the command line are not propagated to packages:
  ```
  $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag
  libevent_cxxflags=-pipe -O2
  ```

  This PR:
  - propagates `{CPP,C,CXX,LD}FLAGS` to host packages:
  ```
  $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag
  libevent_cxxflags= -some-fancy-flag
  ```
  - does not propagate `{CPP,C,CXX,LD}FLAGS` to native packages:
  ```
  $ make --no-print-directory -C depends print-native_b2_cxxflags CXXFLAGS=-some-fancy-flag
  native_b2_cxxflags=
  ```
  - actually addresses the https://github.com/bitcoin/bitcoin/pull/23551#issuecomment-973896518

ACKs for top commit:
  TheCharlatan:
    Code review ACK a3a2bd9e8a

Tree-SHA512: 243d6b1b0e9c5de46debc36de62a77b6b4d6f638940fd530040c219956ec624e321b0c25290fed164e3a8c88befa7b97b20f765d7b9a428c269b3720f21da099
2023-01-30 14:32:32 +00:00
fanquake
0e02f72548
depends: define __BSD_VISIBLE for FreeBSD bdb build
Required for additional definitions (IPC_R & friends), to be available,
when compiling under C11.

See: https://github.com/MarcoFalke/btc_nightly/pull/4.
2023-01-30 13:43:24 +00:00
MarcoFalke
fa47b28dfc
refactor: Remove unused CDataStream SerializeMany constructor 2023-01-30 13:04:50 +01:00