Merge bitcoin/bitcoin#34855: [29.x] Backports

83b46506a1 doc: update release notes for v29.x (fanquake)
18739ec488 ci: unconfine seccomp for i686 no IPC (Lőrinc)
546598b736 multi_index: fix compilation failure with boost >= 1.91 (Cory Fields)
0fb5e167e8 cmake: Migrate away from deprecated SQLite3 target (Daniel Pfeifer)

Pull request description:

  Backports:
  * #34848
  * #35175
  * #35202

ACKs for top commit:
  achow101:
    ACK 83b46506a1
  willcl-ark:
    reACK 83b46506a1

Tree-SHA512: 564ad5e9f9ab1f627bb87f083ba55c5e32af31942b2e365e5889bab6e3e85a957b1c513967fe7e1310ab439d23256f8de39bef25105dbded5514977b6ad81cf9
This commit is contained in:
Ava Chow
2026-05-06 01:10:41 -07:00
7 changed files with 34 additions and 22 deletions

View File

@@ -111,8 +111,12 @@ if(WITH_SQLITE)
if(VCPKG_TARGET_TRIPLET)
# Use of the `unofficial::` namespace is a vcpkg package manager convention.
find_package(unofficial-sqlite3 CONFIG REQUIRED)
add_library(SQLite3::SQLite3 ALIAS unofficial::sqlite3::sqlite3)
else()
find_package(SQLite3 3.7.17 REQUIRED)
if(NOT TARGET SQLite3::SQLite3) # CMake < 4.3
add_library(SQLite3::SQLite3 ALIAS SQLite::SQLite3)
endif()
endif()
set(USE_SQLITE ON)
endif()

View File

@@ -10,6 +10,7 @@ export HOST=i686-pc-linux-gnu
export CONTAINER_NAME=ci_i686_multiprocess
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
export CI_IMAGE_PLATFORM="linux/amd64"
export CI_CONTAINER_CAP="--security-opt seccomp=unconfined"
export PACKAGES="llvm clang g++-multilib"
export DEP_OPTS="DEBUG=1 MULTIPROCESS=1"
export GOAL="install"

View File

@@ -41,19 +41,34 @@ Notable changes
- #34093 netif: fix compilation warning in QueryDefaultGatewayImpl()
### Build
- #34848 cmake: Migrate away from deprecated SQLite3 target
### Doc
- #34510 doc: fix broken bpftrace installation link
- #34561 wallet: rpc: manpage: fix example missing `fee_rate` argument
- #34671 doc: Update Guix install for Debian/Ubuntu
### CI
- #35202 ci: restore sockets in i686, no IPC job
### Misc
- #35175 multi_index: fix compilation failure with boost >= 1.91
Credits
=======
Thanks to everyone who directly contributed to this release:
- Cory Fields
- Daniel Pfeifer
- Hennadii Stepanov
- jayvaliya
- Lőrinc
- MarcoFalke
- SomberNight
- ToRyVand

View File

@@ -102,7 +102,9 @@ struct CompareTxIterByAncestorCount {
};
struct CTxMemPoolModifiedEntry_Indices final : boost::multi_index::indexed_by<
using indexed_modified_transaction_set = boost::multi_index_container<
CTxMemPoolModifiedEntry,
boost::multi_index::indexed_by<
boost::multi_index::ordered_unique<
modifiedentry_iter,
CompareCTxMemPoolIter
@@ -115,12 +117,7 @@ struct CTxMemPoolModifiedEntry_Indices final : boost::multi_index::indexed_by<
CompareTxMemPoolEntryByAncestorFee
>
>
{};
typedef boost::multi_index_container<
CTxMemPoolModifiedEntry,
CTxMemPoolModifiedEntry_Indices
> indexed_modified_transaction_set;
>;
typedef indexed_modified_transaction_set::nth_index<0>::type::iterator modtxiter;
typedef indexed_modified_transaction_set::index<ancestor_score>::type::iterator modtxscoreiter;

View File

@@ -329,7 +329,9 @@ public:
static const int ROLLING_FEE_HALFLIFE = 60 * 60 * 12; // public only for testing
struct CTxMemPoolEntry_Indices final : boost::multi_index::indexed_by<
using indexed_transaction_set = boost::multi_index_container<
CTxMemPoolEntry,
boost::multi_index::indexed_by<
// sorted by txid
boost::multi_index::hashed_unique<mempoolentry_txid, SaltedTxidHasher>,
// sorted by wtxid
@@ -357,11 +359,7 @@ public:
CompareTxMemPoolEntryByAncestorFee
>
>
{};
typedef boost::multi_index_container<
CTxMemPoolEntry,
CTxMemPoolEntry_Indices
> indexed_transaction_set;
>;
/**
* This mutex needs to be locked when accessing `mapTx` or other members

View File

@@ -212,17 +212,15 @@ struct ByTimeViewExtractor
}
};
struct Announcement_Indices final : boost::multi_index::indexed_by<
boost::multi_index::ordered_unique<boost::multi_index::tag<ByPeer>, ByPeerViewExtractor>,
boost::multi_index::ordered_non_unique<boost::multi_index::tag<ByTxHash>, ByTxHashViewExtractor>,
boost::multi_index::ordered_non_unique<boost::multi_index::tag<ByTime>, ByTimeViewExtractor>
>
{};
/** Data type for the main data structure (Announcement objects with ByPeer/ByTxHash/ByTime indexes). */
using Index = boost::multi_index_container<
Announcement,
Announcement_Indices
boost::multi_index::indexed_by<
boost::multi_index::ordered_unique<boost::multi_index::tag<ByPeer>, ByPeerViewExtractor>,
boost::multi_index::ordered_non_unique<boost::multi_index::tag<ByTxHash>, ByTxHashViewExtractor>,
boost::multi_index::ordered_non_unique<boost::multi_index::tag<ByTime>, ByTimeViewExtractor>
>
>;
/** Helper type to simplify syntax of iterator types. */

View File

@@ -49,8 +49,7 @@ if(USE_SQLITE)
target_sources(bitcoin_wallet PRIVATE sqlite.cpp)
target_link_libraries(bitcoin_wallet
PRIVATE
$<TARGET_NAME_IF_EXISTS:unofficial::sqlite3::sqlite3>
$<TARGET_NAME_IF_EXISTS:SQLite::SQLite3>
SQLite3::SQLite3
)
endif()
if(USE_BDB)