ostree: update to 2025.2.

This commit is contained in:
Duncaen 2025-04-16 00:55:09 +02:00
parent fe2fe3c04b
commit 825be5ece6
No known key found for this signature in database
GPG Key ID: 335C1D17EC3D6E35
3 changed files with 34 additions and 44 deletions

View File

@ -0,0 +1,30 @@
From bd2a9753e5227c97bda737e00a00451d361449f3 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <dueno@redhat.com>
Date: Mon, 24 Mar 2025 21:25:12 +0900
Subject: [PATCH] Fix build error with --with-ed25519-libsodium and
--with-openssl
While libotcore can be configured with those options individually, the
latter is always required for OpenSSL's EVP functions. This splits the
ifdefs to accommodate that.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
---
src/libotcore/otcore.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/libotcore/otcore.h b/src/libotcore/otcore.h
index ceeb1a9265..3ce8f2a39f 100644
--- a/src/libotcore/otcore.h
+++ b/src/libotcore/otcore.h
@@ -25,7 +25,9 @@
#ifdef HAVE_LIBSODIUM
#include <sodium.h>
#define USE_LIBSODIUM
-#elif defined(HAVE_OPENSSL)
+#endif
+
+#if defined(HAVE_OPENSSL)
#include <openssl/evp.h>
#include <openssl/x509.h>
#define USE_OPENSSL

View File

@ -1,39 +0,0 @@
diff --git a/src/libostree/ostree-fetcher-curl.c b/src/libostree/ostree-fetcher-curl.c
index e9b9672..26ba6ca 100644
--- a/src/libostree/ostree-fetcher-curl.c
+++ b/src/libostree/ostree-fetcher-curl.c
@@ -78,6 +78,7 @@ struct OstreeFetcher
struct curl_slist *extra_headers;
int tmpdir_dfd;
bool force_anonymous;
+ bool finalizing; // Set if we're in the process of teardown
char *custom_user_agent;
guint32 opt_low_speed_limit;
guint32 opt_low_speed_time;
@@ -180,6 +181,15 @@ _ostree_fetcher_finalize (GObject *object)
{
OstreeFetcher *self = OSTREE_FETCHER (object);
+ // Because curl_multi_cleanup may invoke callbacks, we effectively have
+ // some circular references going on here. See discussion in
+ // https://github.com/curl/curl/issues/14860
+ // Basically what we do is make most callbacks libcurl may invoke into no-ops when
+ // we detect we're finalizing. The data structures are owned by this object and
+ // not by the callbacks, and will be destroyed below. Note that
+ // e.g. g_hash_table_unref() may itself invoke callbacks, which is where
+ // some data is cleaned up.
+ self->finalizing = true;
curl_multi_cleanup (self->multi);
g_free (self->remote_name);
g_free (self->tls_ca_db_path);
@@ -528,6 +538,10 @@ sock_cb (CURL *easy, curl_socket_t s, int what, void *cbp, void *sockp)
OstreeFetcher *fetcher = cbp;
SockInfo *fdp = (SockInfo *)sockp;
+ // We do nothing if we're in the process of teardown; see below.
+ if (fetcher->finalizing)
+ return 0;
+
if (what == CURL_POLL_REMOVE)
{
if (!g_hash_table_remove (fetcher->sockets, fdp))

View File

@ -1,7 +1,7 @@
# Template file for 'ostree' # Template file for 'ostree'
pkgname=ostree pkgname=ostree
version=2024.3 version=2025.2
revision=2 revision=1
build_style=gnu-configure build_style=gnu-configure
build_helper="gir" build_helper="gir"
configure_args=" configure_args="
@ -9,11 +9,10 @@ configure_args="
--with-ed25519-libsodium --with-ed25519-libsodium
--with-openssl --with-openssl
--with-curl --with-curl
--without-soup3
$(vopt_enable gir introspection)" $(vopt_enable gir introspection)"
hostmakedepends="bison docbook-xsl glib-devel libxslt pkg-config" hostmakedepends="bison docbook-xsl glib-devel libxslt pkg-config"
makedepends="e2fsprogs-devel fuse-devel glib-devel gpgme-devel libarchive-devel makedepends="e2fsprogs-devel fuse-devel glib-devel gpgme-devel libarchive-devel
libcurl-devel libsodium-devel $(vopt_if gir 'gobject-introspection')" libcurl-devel libsodium-devel $(vopt_if gir 'gobject-introspection') libsoup3-devel"
checkdepends="attr-progs cpio elfutils gnupg python3-yaml tar which xz" checkdepends="attr-progs cpio elfutils gnupg python3-yaml tar which xz"
short_desc="Operating system and container binary deployment and upgrades" short_desc="Operating system and container binary deployment and upgrades"
maintainer="Duncaen <duncaen@voidlinux.org>" maintainer="Duncaen <duncaen@voidlinux.org>"
@ -21,7 +20,7 @@ license="LGPL-2.0-or-later"
homepage="https://ostree.readthedocs.io/en/latest/" homepage="https://ostree.readthedocs.io/en/latest/"
changelog="https://github.com/ostreedev/ostree/releases" changelog="https://github.com/ostreedev/ostree/releases"
distfiles="https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz" distfiles="https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz"
checksum=5e0daaaa70772bfa00bd3d0c25d11f7c1f6d41a996708fad8bf9941f0a36bc8d checksum=f244a408c909998a778e127fcc22c1b502b4d013f15f26948f47cc72ffe2eef4
build_options="gir" build_options="gir"
build_options_default="gir" build_options_default="gir"