Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package bitcoin for openSUSE:Factory checked 
in at 2026-05-31 18:29:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bitcoin (Old)
 and      /work/SRC/openSUSE:Factory/.bitcoin.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bitcoin"

Sun May 31 18:29:21 2026 rev:60 rq:1356095 version:31.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/bitcoin/bitcoin.changes  2025-10-14 
18:13:20.963513809 +0200
+++ /work/SRC/openSUSE:Factory/.bitcoin.new.1937/bitcoin.changes        
2026-05-31 18:29:38.603437874 +0200
@@ -1,0 +2,32 @@
+Sat May 30 17:17:26 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 31.0 (from 28.1; includes the 29.0 and 30.0
+  major releases). Highlights across these releases:
+  * Build system migrated from Autotools to CMake
+  * Legacy BerkeleyDB wallet support removed; only descriptor
+    (SQLite) wallets remain
+  * Built-in UPnP port-mapping support removed
+  * New unified "bitcoin" command-line wrapper
+  * Numerous P2P, mempool policy, RPC and wallet improvements
+  * See the upstream release notes for the full details
+- Port the package to the CMake build system
+- Build the GUI against Qt6 (was Qt5); rename the GUI subpackage
+  from bitcoin-qt5 to bitcoin-qt6 (Obsoletes for a clean upgrade)
+- Add fix-boost-1.91-multi_index.patch: fix the build against
+  Boost >= 1.91 (bitcoin/bitcoin#35175)
+- Drop now-unneeded BuildRequires:
+  * libdb-4_8-devel (legacy BDB wallet removed)
+  * libminiupnpc-devel (UPnP removed)
+  * pkgconfig(protobuf), pkgconfig(openssl) (BIP70 long gone)
+  * autoconf, automake, libtool (Autotools replaced by CMake)
+  * java-devel, lcov, git
+- Convert BuildRequires to pkgconfig() style and express the
+  upstream minimum versions (Boost 1.74, libevent 2.1.8,
+  SQLite 3.7.17, Qt 6.2)
+- Stop using the deprecated %suse_update_desktop_file macro;
+  ship bitcoin-qt.desktop (Source2) and install it directly,
+  and drop the update-desktop-files BuildRequires
+- Drop the incorrect update-desktop-files post/postun scriptlets
+  (the desktop database is refreshed by file triggers)
+
+-------------------------------------------------------------------

Old:
----
  bitcoin-28.1.obscpio

New:
----
  bitcoin-31.0.obscpio
  bitcoin-31.0.tar.gz
  bitcoin-qt.desktop
  fix-boost-1.91-multi_index.patch

----------(New B)----------
  New:  from bitcoin-qt5 to bitcoin-qt6 (Obsoletes for a clean upgrade)
- Add fix-boost-1.91-multi_index.patch: fix the build against
  Boost >= 1.91 (bitcoin/bitcoin#35175)
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bitcoin.spec ++++++
--- /var/tmp/diff_new_pack.GIJ5KR/_old  2026-05-31 18:29:44.771690684 +0200
+++ /var/tmp/diff_new_pack.GIJ5KR/_new  2026-05-31 18:29:44.775690848 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package bitcoin
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 # Copyright (c) 2011-2014  P Rusnak <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
@@ -24,43 +24,36 @@
 %define consensus 0
 %define is_base 1
 Name:           bitcoin
-Version:        28.1
+Version:        31.0
 Release:        0
 Summary:        P2P Digital Currency
 License:        MIT
 URL:            https://%{name}.org
 Source0:        %{name}-%{version}.tar.gz
 Source1:        %{base}d.service
+Source2:        %{base}-qt.desktop
 Source3:        %{base}d.conf
 Source4:        %{base}.conf
 Patch0:         harden_bitcoind.service.patch
-BuildRequires:  autoconf
-BuildRequires:  automake
+# PATCH-FIX-UPSTREAM fix-boost-1.91-multi_index.patch -- fix build with Boost 
>= 1.91 (bitcoin/bitcoin#35175)
+Patch1:         fix-boost-1.91-multi_index.patch
+BuildRequires:  cmake
 BuildRequires:  gcc-c++
-BuildRequires:  git
-BuildRequires:  java-devel
-BuildRequires:  lcov
-BuildRequires:  libboost_filesystem-devel >= 1.73.0
-BuildRequires:  libboost_program_options-devel >= 1.73.0
-BuildRequires:  libboost_test-devel >= 1.73.0
-BuildRequires:  libboost_thread-devel >= 1.73.0
-BuildRequires:  libdb-4_8-devel
-BuildRequires:  libminiupnpc-devel
-BuildRequires:  libqt5-qtbase-devel
-BuildRequires:  libtool
+BuildRequires:  libboost_headers-devel >= 1.74.0
+BuildRequires:  ninja
 BuildRequires:  pkgconfig
+BuildRequires:  qt6-linguist-devel
 BuildRequires:  systemd-rpm-macros
-BuildRequires:  (libboost_system-devel >= 1.73.0 if libboost_filesystem-devel 
< 1.89)
-BuildRequires:  pkgconfig(Qt5Designer)
-BuildRequires:  pkgconfig(Qt5Help)
-BuildRequires:  pkgconfig(Qt5UiTools)
-BuildRequires:  pkgconfig(libevent)
+BuildRequires:  pkgconfig(Qt6Core) >= 6.2
+BuildRequires:  pkgconfig(Qt6DBus) >= 6.2
+BuildRequires:  pkgconfig(Qt6Gui) >= 6.2
+BuildRequires:  pkgconfig(Qt6Network) >= 6.2
+BuildRequires:  pkgconfig(Qt6Test) >= 6.2
+BuildRequires:  pkgconfig(Qt6Widgets) >= 6.2
+BuildRequires:  pkgconfig(libevent) >= 2.1.8
 BuildRequires:  pkgconfig(libqrencode)
 BuildRequires:  pkgconfig(libzmq)
-BuildRequires:  pkgconfig(openssl)
-BuildRequires:  pkgconfig(protobuf)
-BuildRequires:  pkgconfig(python3)
-BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(sqlite3) >= 3.7.17
 
 %description
 %{name_pretty} is a peer-to-peer electronic cash system
@@ -72,12 +65,11 @@
 Full transaction history is stored locally at each client. This requires
 several GB of space, slowly growing.
 
-%package qt5
-Summary:        An end-user Qt5 GUI for the %{name_pretty} crypto-currency
-Requires(post): update-desktop-files
-Requires(postun): update-desktop-files
+%package qt6
+Summary:        An end-user Qt6 GUI for the %{name_pretty} crypto-currency
+Obsoletes:      %{name}-qt5 < %{version}-%{release}
 
-%description qt5
+%description qt6
 %{name_pretty} is a peer-to-peer electronic cash system
 that is completely decentralized, without the need for a central server or
 trusted parties. Users hold the crypto keys to their own money and
@@ -158,36 +150,33 @@
 Full transaction history is stored locally at each client. This requires
 several GB of space, slowly growing.
 
-This package provides automated tests for %{name}-qt5 and %{name}d.
+This package provides automated tests for %{name}-qt6 and %{name}d.
 
 %prep
 %autosetup -p1
 
 %build
-autoreconf -fiv
-%configure \
-  --with-asm=auto \
-  --with-cli=yes \
-  --with-daemon=yes \
-  --with-gui=qt5 \
-  --with-miniupnpc \
-  --with-qrencode \
-  --with-sqlite=yes \
-  --enable-lto \
-%if %{consensus} == 0
-  --without-libs \
-%endif
-  --disable-hardening
-%make_build
+# upstream switched from autotools to CMake in 29.0
+%define __builder ninja
+%cmake \
+  -DBUILD_GUI=ON \
+  -DBUILD_BENCH=ON \
+  -DBUILD_TESTS=ON \
+  -DWITH_ZMQ=ON \
+  -DWITH_QRENCODE=ON \
+  -DWITH_DBUS=ON \
+  -DENABLE_WALLET=ON \
+  -DENABLE_EXTERNAL_SIGNER=ON \
+  -DINSTALL_MAN=ON \
+  -DENABLE_IPC=OFF \
+  -DWITH_CCACHE=OFF
+%cmake_build
 
 %check
-%make_build LC_ALL=C.UTF-8 check
+%ctest
 
 %install
-%make_install
-
-install -Dpm 0644 doc/man/%{name}d.1 %{buildroot}%{_mandir}/man1/%{name}d.1
-install -Dpm 0644 doc/man/%{name}-qt.1 %{buildroot}%{_mandir}/man1/%{name}-qt.1
+%cmake_install
 
 install -Dpm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
 
@@ -208,9 +197,9 @@
 install -Dpm 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}d.service
 install -Dpm 0644 %{SOURCE3} %{buildroot}/%{_tmpfilesdir}/%{name}d.conf
 
-# install desktop file
+# install icon and desktop file
 install -Dm 0644 share/pixmaps/bitcoin256.png 
%{buildroot}%{_datadir}/pixmaps/%{name}.png
-%suse_update_desktop_file -c %{name}-qt %{name_pretty} "%{name_pretty} Wallet" 
%{name}-qt %{name} Office Finance
+install -Dm 0644 %{SOURCE2} 
%{buildroot}%{_datadir}/applications/%{name}-qt.desktop
 
 %if %{consensus} == 1
 # do not ship these
@@ -218,12 +207,6 @@
 rm -f %{buildroot}%{_libdir}/lib%{name}consensus.la
 %endif
 
-%post qt5
-%desktop_database_post
-
-%postun qt5
-%desktop_database_postun
-
 %if %{consensus} == 1
 %post -n lib%{name}consensus0 -p /sbin/ldconfig
 %postun -n lib%{name}consensus0  -p /sbin/ldconfig
@@ -248,7 +231,7 @@
 %postun -n %{name}d
 %service_del_postun %{name}d.service
 
-%files qt5
+%files qt6
 %license COPYING
 %doc doc/README.md doc/release-notes.md
 %{_bindir}/%{name}-qt
@@ -259,10 +242,12 @@
 %files utils
 %license COPYING
 %doc doc/README.md doc/release-notes.md
+%{_bindir}/%{name}
 %{_bindir}/%{name}-cli
 %{_bindir}/%{name}-tx
 %{_bindir}/%{name}-wallet
 %{_bindir}/%{name}-util
+%{_mandir}/man1/%{name}.1%{?ext_man}
 %{_mandir}/man1/%{name}-cli.1%{?ext_man}
 %{_mandir}/man1/%{name}-tx.1%{?ext_man}
 %{_mandir}/man1/%{name}-wallet.1%{?ext_man}
@@ -297,7 +282,8 @@
 %files test
 %license COPYING
 %doc doc/README.md doc/release-notes.md
-%{_bindir}/test_%{name}
-%{_bindir}/test_%{name}-qt
-%{_bindir}/bench_%{name}
+# upstream installs internal (test/bench) binaries to libexec, not bindir
+%{_libexecdir}/test_%{name}
+%{_libexecdir}/test_%{name}-qt
+%{_libexecdir}/bench_%{name}
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.GIJ5KR/_old  2026-05-31 18:29:44.859694291 +0200
+++ /var/tmp/diff_new_pack.GIJ5KR/_new  2026-05-31 18:29:44.863694455 +0200
@@ -6,7 +6,7 @@
     <param name="changesgenerate">enable</param>
     <param name="exclude">.*</param>
     <param name="versionrewrite-pattern">v(.*)</param>
-    <param name="revision">refs/tags/v28.1</param>
+    <param name="revision">refs/tags/v31.0</param>
   </service>
   <service name="tar" mode="buildtime"/>
   <service name="recompress" mode="buildtime">

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.GIJ5KR/_old  2026-05-31 18:29:44.883695275 +0200
+++ /var/tmp/diff_new_pack.GIJ5KR/_new  2026-05-31 18:29:44.903696094 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/bitcoin/bitcoin.git</param>
-              <param 
name="changesrevision">32efe850438ef22e2de39e562af557872a402c31</param></service></servicedata>
+              <param 
name="changesrevision">6574cb40869b96b9ffc79c19dc8f4e467d60f321</param></service></servicedata>
 (No newline at EOF)
 

++++++ bitcoin-28.1.obscpio -> bitcoin-31.0.obscpio ++++++
++++ 478470 lines of diff (skipped)

++++++ bitcoin-qt.desktop ++++++
[Desktop Entry]
Type=Application
Name=Bitcoin
GenericName=Bitcoin Wallet
Comment=Bitcoin Wallet
Exec=bitcoin-qt
Icon=bitcoin
Terminal=false
Categories=Office;Finance;

++++++ bitcoin.obsinfo ++++++
--- /var/tmp/diff_new_pack.GIJ5KR/_old  2026-05-31 18:29:48.127828239 +0200
+++ /var/tmp/diff_new_pack.GIJ5KR/_new  2026-05-31 18:29:48.135828566 +0200
@@ -1,5 +1,5 @@
 name: bitcoin
-version: 28.1
-mtime: 1736274776
-commit: 32efe850438ef22e2de39e562af557872a402c31
+version: 31.0
+mtime: 1776286524
+commit: 6574cb40869b96b9ffc79c19dc8f4e467d60f321
 

++++++ fix-boost-1.91-multi_index.patch ++++++
>From 0bc9d354dfd8074d1c36a891a69b6585a8775c65 Mon Sep 17 00:00:00 2001
From: Cory Fields <[email protected]>
Date: Tue, 28 Apr 2026 18:00:36 +0000
Subject: [PATCH] multi_index: fix compilation failure with boost >= 1.91

This effectively reverts a3cb309e7c31853f272bffaa65fb6ab0a7cc4083 from PR 
#30194.

That PR reduced the multi_index type signatures as recommended upstream, but
this is no longer supported as of boost 1.91 because it is no longer necessary.
1.91 drops support for the pre-c++11 work-arounds that bloated the type
signatures to begin with.

The upstream `BOOST_MULTI_INDEX_ENABLE_MPL_SUPPORT` define is meant to provide
compatibility with removed features, but it does not work for this case. Using
`indexed_by` directly when defining the `multi_index` (as opposed to inheriting
from it) works with all versions, and avoids the use of the back-compat define.

This is a slight regression when building against boost < 1.91 because the
bloated type signatures are reintroduced in that case, but it's not significant
enough to go to the trouble of introducing version detection and ifdefs.
---
 src/node/txorphanage.cpp | 13 +++++++------
 src/txmempool.h          | 10 ++++------
 src/txrequest.cpp        | 12 +++++-------
 3 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/src/node/txorphanage.cpp b/src/node/txorphanage.cpp
index ca7eb20470a7..4b25ab4d2458 100644
--- a/src/node/txorphanage.cpp
+++ b/src/node/txorphanage.cpp
@@ -91,12 +91,13 @@ class TxOrphanageImpl final : public TxOrphanage {
         }
     };
 
-    struct OrphanIndices final : boost::multi_index::indexed_by<
-        boost::multi_index::ordered_unique<boost::multi_index::tag<ByWtxid>, 
WtxidExtractor>,
-        boost::multi_index::ordered_unique<boost::multi_index::tag<ByPeer>, 
ByPeerViewExtractor>
-    >{};
-
-    using AnnouncementMap = 
boost::multi_index::multi_index_container<Announcement, OrphanIndices>;
+    using AnnouncementMap = boost::multi_index::multi_index_container<
+        Announcement,
+        boost::multi_index::indexed_by<
+            
boost::multi_index::ordered_unique<boost::multi_index::tag<ByWtxid>, 
WtxidExtractor>,
+            
boost::multi_index::ordered_unique<boost::multi_index::tag<ByPeer>, 
ByPeerViewExtractor>
+        >
+    >;
     template<typename Tag>
     using Iter = typename AnnouncementMap::index<Tag>::type::iterator;
     AnnouncementMap m_orphans;
diff --git a/src/txmempool.h b/src/txmempool.h
index c4723f891557..ae59057ca62b 100644
--- a/src/txmempool.h
+++ b/src/txmempool.h
@@ -211,7 +211,9 @@ class CTxMemPool
 
     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
@@ -227,11 +229,7 @@ class CTxMemPool
                 CompareTxMemPoolEntryByEntryTime
             >
         >
-        {};
-    typedef boost::multi_index_container<
-        CTxMemPoolEntry,
-        CTxMemPoolEntry_Indices
-    > indexed_transaction_set;
+    >;
 
     /**
      * This mutex needs to be locked when accessing `mapTx` or other members
diff --git a/src/txrequest.cpp b/src/txrequest.cpp
index 4d7240bee0d9..53136a8e7104 100644
--- a/src/txrequest.cpp
+++ b/src/txrequest.cpp
@@ -208,17 +208,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. */

Reply via email to