public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/ledger] f43: Add another upstream patch for the new Boost
Date: Thu, 16 Jul 2026 12:29:09 GMT [thread overview]
Message-ID: <178420494958.1.9269146987846158123.rpms-ledger-994ca86ab6a9@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/ledger
Branch : f43
Commit : 994ca86ab6a99fc9f485f0226c458cd3c548a3fd
Author : Jonathan Wakely <jwakely@fedoraproject.org>
Date : 2026-01-13T15:46:38+00:00
Stats : +235/-0 in 1 file(s)
URL : https://src.fedoraproject.org/rpms/ledger/c/994ca86ab6a99fc9f485f0226c458cd3c548a3fd?branch=f43
Log:
Add another upstream patch for the new Boost
---
diff --git a/ledger-boost190.patch b/ledger-boost190.patch
index f0c1f6a..2bb13da 100644
--- a/ledger-boost190.patch
+++ b/ledger-boost190.patch
@@ -20,3 +20,238 @@ index 05f28fc24..070f1cd4a 100644
#include <boost/filesystem/exception.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
+
+From ad93c185644cfcb14fe4a673e74a0cb5c954a4b4 Mon Sep 17 00:00:00 2001
+From: dbear496 <70439542+dbear496@users.noreply.github.com>
+Date: Mon, 9 Sep 2024 23:42:52 -0400
+Subject: [PATCH 1/3] update to Boost 1.86.0
+
+fixes #2378
+---
+ src/filters.cc | 4 ++--
+ src/utils.h | 12 ++++++------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/filters.cc b/src/filters.cc
+index b5b7fb19f..eb397232d 100644
+--- a/src/filters.cc
++++ b/src/filters.cc
+@@ -238,7 +238,7 @@ void anonymize_posts::render_commodity(amount_t& amt)
+ void anonymize_posts::operator()(post_t& post)
+ {
+ boost::uuids::detail::sha1 sha;
+- unsigned int message_digest[5];
++ unsigned char message_digest[20];
+ bool copy_xact_details = false;
+
+ if (last_xact != post.xact) {
+@@ -1269,7 +1269,7 @@ void budget_posts::report_budget_items(const date_t& date)
+ foreach (pending_posts_list::iterator& i, posts_to_erase)
+ pending_posts.erase(i);
+ }
+-
++
+ if (pending_posts.size() == 0)
+ return;
+
+diff --git a/src/utils.h b/src/utils.h
+index bc05ff4f9..09dd09939 100644
+--- a/src/utils.h
++++ b/src/utils.h
+@@ -578,14 +578,14 @@ inline int peek_next_nonws(std::istream& in) {
+ *_p = '\0'; \
+ }
+
+-inline string to_hex(unsigned int * message_digest, const int len = 1)
++inline string to_hex(unsigned char * message_digest, const int len = 4)
+ {
+ std::ostringstream buf;
+
+- for(int i = 0; i < 5 ; i++) {
+- buf.width(8);
++ for(int i = 0; i < 20 ; i++) {
++ buf.width(2);
+ buf.fill('0');
+- buf << std::hex << message_digest[i];
++ buf << std::hex << (int)message_digest[i];
+ if (i + 1 >= len)
+ break; // only output the first LEN dwords
+ }
+@@ -598,9 +598,9 @@ inline string sha1sum(const string& str)
+
+ sha.process_bytes(str.c_str(), str.length());
+
+- unsigned int message_digest[5];
++ unsigned char message_digest[20];
+ sha.get_digest(message_digest);
+- return to_hex(message_digest, 5);
++ return to_hex(message_digest, 20);
+ }
+
+ extern const string version;
+
+From 4f4cc1688a8e8a7c03f18603cc5a4159d9c89ca3 Mon Sep 17 00:00:00 2001
+From: dbear496 <70439542+dbear496@users.noreply.github.com>
+Date: Sat, 14 Sep 2024 17:44:18 -0400
+Subject: [PATCH 2/3] promote compatability with Boost <1.86.0
+
+---
+ src/filters.cc | 6 +++---
+ src/utils.h | 40 +++++++++++++++++++++++++---------------
+ 2 files changed, 28 insertions(+), 18 deletions(-)
+
+diff --git a/src/filters.cc b/src/filters.cc
+index eb397232d..71d835e6f 100644
+--- a/src/filters.cc
++++ b/src/filters.cc
+@@ -238,7 +238,7 @@ void anonymize_posts::render_commodity(amount_t& amt)
+ void anonymize_posts::operator()(post_t& post)
+ {
+ boost::uuids::detail::sha1 sha;
+- unsigned char message_digest[20];
++ boost::uuids::detail::sha1::digest_type message_digest;
+ bool copy_xact_details = false;
+
+ if (last_xact != post.xact) {
+@@ -260,7 +260,7 @@ void anonymize_posts::operator()(post_t& post)
+ sha.process_bytes(buf.str().c_str(), buf.str().length());
+ sha.get_digest(message_digest);
+
+- xact.payee = to_hex(message_digest);
++ xact.payee = digest_to_hex(message_digest, 8);
+ xact.note = none;
+ } else {
+ xact.journal = post.xact->journal;
+@@ -278,7 +278,7 @@ void anonymize_posts::operator()(post_t& post)
+ sha.process_bytes(buf.str().c_str(), buf.str().length());
+ sha.get_digest(message_digest);
+
+- account_names.push_front(to_hex(message_digest));
++ account_names.push_front(digest_to_hex(message_digest, 8));
+ }
+
+ account_t * new_account =
+diff --git a/src/utils.h b/src/utils.h
+index 09dd09939..e09c603d1 100644
+--- a/src/utils.h
++++ b/src/utils.h
+@@ -578,29 +578,39 @@ inline int peek_next_nonws(std::istream& in) {
+ *_p = '\0'; \
+ }
+
+-inline string to_hex(unsigned char * message_digest, const int len = 4)
+-{
++inline string digest_to_hex(
++ const boost::uuids::detail::sha1::digest_type& message_digest,
++ size_t len = sizeof(boost::uuids::detail::sha1::digest_type) * 2
++) {
+ std::ostringstream buf;
+-
+- for(int i = 0; i < 20 ; i++) {
+- buf.width(2);
+- buf.fill('0');
+- buf << std::hex << (int)message_digest[i];
+- if (i + 1 >= len)
+- break; // only output the first LEN dwords
++ buf.setf(std::ios_base::hex, std::ios_base::basefield);
++ buf.fill('0');
++
++ // sha1::digest_type is an array type and may change between Boost versions
++ const size_t count = std::min(
++ sizeof(message_digest) / sizeof(message_digest[0]),
++ (len - 1) / (sizeof(message_digest[0]) * 2) + 1
++ );
++ for(size_t i = 0; i < count; i++) {
++ buf.width(sizeof(message_digest[i]) * 2);
++ buf << (unsigned int)message_digest[i];
+ }
+- return buf.str();
++ string hex = buf.str();
++ hex.resize(len, '0'); // in case a partial element is requested
++ return hex;
+ }
+
+-inline string sha1sum(const string& str)
+-{
++inline string sha1sum(
++ const string& str,
++ size_t len = sizeof(boost::uuids::detail::sha1::digest_type) * 2
++) {
+ boost::uuids::detail::sha1 sha;
++ boost::uuids::detail::sha1::digest_type message_digest;
+
++ sha.reset();
+ sha.process_bytes(str.c_str(), str.length());
+-
+- unsigned char message_digest[20];
+ sha.get_digest(message_digest);
+- return to_hex(message_digest, 20);
++ return digest_to_hex(message_digest, len);
+ }
+
+ extern const string version;
+
+From 5320c9f719a309ddacdbe77181cabeb351949013 Mon Sep 17 00:00:00 2001
+From: dbear496 <70439542+dbear496@users.noreply.github.com>
+Date: Sat, 14 Sep 2024 18:21:29 -0400
+Subject: [PATCH 3/3] use sha1sum in anonymize_posts::operator()
+
+---
+ src/filters.cc | 16 ++--------------
+ src/utils.h | 2 +-
+ 2 files changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/src/filters.cc b/src/filters.cc
+index 71d835e6f..523fa7959 100644
+--- a/src/filters.cc
++++ b/src/filters.cc
+@@ -237,8 +237,6 @@ void anonymize_posts::render_commodity(amount_t& amt)
+
+ void anonymize_posts::operator()(post_t& post)
+ {
+- boost::uuids::detail::sha1 sha;
+- boost::uuids::detail::sha1::digest_type message_digest;
+ bool copy_xact_details = false;
+
+ if (last_xact != post.xact) {
+@@ -255,12 +253,7 @@ void anonymize_posts::operator()(post_t& post)
+ std::ostringstream buf;
+ buf << reinterpret_cast<boost::uintmax_t>(post.xact->payee.c_str())
+ << integer_gen() << post.xact->payee.c_str();
+-
+- sha.reset();
+- sha.process_bytes(buf.str().c_str(), buf.str().length());
+- sha.get_digest(message_digest);
+-
+- xact.payee = digest_to_hex(message_digest, 8);
++ xact.payee = sha1sum(buf.str(), 8);
+ xact.note = none;
+ } else {
+ xact.journal = post.xact->journal;
+@@ -273,12 +266,7 @@ void anonymize_posts::operator()(post_t& post)
+ acct = acct->parent) {
+ std::ostringstream buf;
+ buf << integer_gen() << acct << acct->fullname();
+-
+- sha.reset();
+- sha.process_bytes(buf.str().c_str(), buf.str().length());
+- sha.get_digest(message_digest);
+-
+- account_names.push_front(digest_to_hex(message_digest, 8));
++ account_names.push_front(sha1sum(buf.str(), 8));
+ }
+
+ account_t * new_account =
+diff --git a/src/utils.h b/src/utils.h
+index e09c603d1..13cf26f63 100644
+--- a/src/utils.h
++++ b/src/utils.h
+@@ -604,7 +604,7 @@ inline string sha1sum(
+ const string& str,
+ size_t len = sizeof(boost::uuids::detail::sha1::digest_type) * 2
+ ) {
+- boost::uuids::detail::sha1 sha;
++ static boost::uuids::detail::sha1 sha;
+ boost::uuids::detail::sha1::digest_type message_digest;
+
+ sha.reset();
reply other threads:[~2026-07-16 12:29 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178420494958.1.9269146987846158123.rpms-ledger-994ca86ab6a9@fedoraproject.org \
--to=jwakely@fedoraproject.org \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox