summaryrefslogtreecommitdiff
path: root/dev-util/ostree
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-20 12:12:03 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-20 12:12:03 +0100
commitd60aa36cd97fb2193f756b45820d7c073a49229d (patch)
treeb5ae46dda53baf2afda4cd6b637f36cd3ac809e2 /dev-util/ostree
parentfe0961fc9674dd24a017f474a34c1edbbd005965 (diff)
gentoo auto-resync : 20:09:2024 - 12:12:03
Diffstat (limited to 'dev-util/ostree')
-rw-r--r--dev-util/ostree/Manifest2
-rw-r--r--dev-util/ostree/files/ostree-2024.3-curl.patch58
-rw-r--r--dev-util/ostree/ostree-2024.3-r1.ebuild122
3 files changed, 182 insertions, 0 deletions
diff --git a/dev-util/ostree/Manifest b/dev-util/ostree/Manifest
index 248b0e8131e5..23be40aa3737 100644
--- a/dev-util/ostree/Manifest
+++ b/dev-util/ostree/Manifest
@@ -1,6 +1,7 @@
AUX ostree-2022.6-musl-allperms.patch 478 BLAKE2B 95191befc9281591480f3a80717817e262798b7d6fc3abf35cb5c0462267822092a102de446f5334e3807816418e7b2b5b4dd59cd66796734b85131873e2dc9a SHA512 275e4fd6c1547c852ec9d2a8649c45c5bec6fdc2351e9333adfc3ed31b0cbedefaca6db95ba97ec8a65fa16bd550827909f7172b46a6b64a184840272578b7cc
AUX ostree-2023.3-dont-force-clang-introspection.patch 568 BLAKE2B 5fbb9a2d487f6984de6c92dee700815f765de2335906dd51ff00d2332da31b2340b79b00ae24a66c3e489f0a173036181ca5f946f156c72a1a84588b459cef4d SHA512 f50f3a28749ff94514955b1de26d42258a4ea01d47f743b5130ba3c14709e9a3f471eaa2e3e74fd5d2a65c065d74941a845a825275da1b3c041781d11d1ea942
AUX ostree-2023.3-libgpg-error-underlinked-lld.patch 1202 BLAKE2B 3952809ba83db25367136fafbd78c85702065e5ba21814e4a72cceaecab15bf61998ea513b441366b409042d215ae35a3730932c2c3424d68c776c423e2327d3 SHA512 91f3e93129b83b598743398f33cb04fc07930784e5244e8b9c5df00f4dc6f74193c1f51ffd03d6937b1d2b71219da7ba024a191b6117543b12cd545b941ba4a3
+AUX ostree-2024.3-curl.patch 2349 BLAKE2B 80581b7945c3881651ef13be9aa2eada91bc9ec07181fb7c111780d001183a7484c578e3384868ef897957b160d3e5e4552a582d4c155f1219a9fc9350e823bf SHA512 fba8ee8558a59042cc48b90789a4f2a14cb19a77e70969f42c2a1c6616e28a307b4bab2b51b724d3492e65e90a732494fa51c10ad1556768524603e97beb6890
DIST ostree-2023.1.tar.xz 2079904 BLAKE2B 993570624cb43684d81fff9f3789a9cee3b998f945a78bc6eb99330eed45739d1e6fb66589cefba10eea608c5cd389cc121a890c27efa773a405a5d8b1f117d9 SHA512 a6a6e47d6cb9ec6826d48a50a2abac69e4a040f2b5830d39e8a006c738a163fb15fde8630bf271d92cec9470601281669cd4bf942e4b7c4d42441bd5d1730572
DIST ostree-2023.2.tar.xz 2081320 BLAKE2B f773bf979b4bc97b9b8f96dc4385745bc386c29952a36c07cdd33a7db7802876ce154b5ac1f3669605ab3949a539aa8e2b3a3d94608557eb65249b5188f9d012 SHA512 549a2bdf8cef93d421aaf990e2d1c534063f0314b5933db7ce123bdd138229e24cc171d541296e45a7546a91d35149c1c8f29ea90949876200c574e7ec297b98
DIST ostree-2023.3.tar.xz 2075168 BLAKE2B 6e699420a89b36520e60a5682a421fd8f10eb20702abe6af97be9ee78a04be98e8d164157d29726de9e63b869051f7e60f199776ea3d959d4f0ad4165ff780c6 SHA512 af3b80d55e15b515e860ab0ee5f061f1a4d649b21441d5cde66e71ff4349ef480565cb795838ebce2f42784d53e349c2443159d9ee452277001d930ba814fe40
@@ -11,5 +12,6 @@ EBUILD ostree-2023.2-r1.ebuild 2650 BLAKE2B f12eb7e49e9c23da8b3c84cf2984c268816b
EBUILD ostree-2023.3-r2.ebuild 2650 BLAKE2B f12eb7e49e9c23da8b3c84cf2984c268816b41b52fca588d526aa236523af8a82e2d63f14aca02d048bca18938420e6381d4ae717dcfe1a676e0433814c2740a SHA512 1d6eb2864bca3810caed5b54cd8572e87592c7fb85003ebd7bb9cce2eefa7f8708e5b04df5d9b89616d58f9ad0f9d4c67141b0992d49795810dd23fd5ceb74d1
EBUILD ostree-2023.3-r3.ebuild 2734 BLAKE2B 42e3245aaee776e65d4c91db13107bba0beb464518f3aca9b472dddec88dda4ce70e657309234597a73d0b419bd48f05786f2527b186b6ec493c002f7302f81f SHA512 aa8b9eb28bdd71a91827622e090d9d950c18e96a01d23b0bf4ec11135f78df5149866ce284445f156b4ec487ac426df7c4cef25479d1cd6ee494d2e0a3493534
EBUILD ostree-2023.5.ebuild 2746 BLAKE2B a5fdea61ea98c8abf61e48694becfa1279179403bff4ac14b28c7dee7b8d5229a61459f1e73ef395608eb1eb51c79fb7c2fdebba6ff8fc7d050a2fdb408ecf62 SHA512 8bb9bbb686e8fa50b7ac6fd86b34c08ffc4bc146407839230a6fa6ec460af4e2f207366cd785d06e81d01c04c0a062730c083cbcffb89d8e25d9022a8122bf6f
+EBUILD ostree-2024.3-r1.ebuild 2776 BLAKE2B be69a754d18b5462ced087fcde6fc9d6d6f842884611bd9cf18dfbbfb0e178b97b43e052fc8ed1471eeed6e63528c89aee5c48fe1396fbff18fed7c51aa1f081 SHA512 ed962c36860a71de57e1255c02c9aefaaa578b1ea22c415abe953af69cfc0027e1097c5e84883cdd3bacbb9d9c5aa9f8e5bf4f845ed282858522249e38ccb141
EBUILD ostree-2024.3.ebuild 2745 BLAKE2B 2261427c3ce476343f11a77973a985cc41a98c23f0908fbfab3b7ce20b51e113a7724ba72abe4258e56f0d4f5516c4acd30e1bf9210fb0218543d3086d69493e SHA512 64290b81754fbaae14bfb008903e8433f3dc2c03d4f6f326e471b77845eddf53b8dcb1d6830ba1d00bcb79c2e0083431d34ac751aff2e4bdd4c32e29cbfa52cc
MISC metadata.xml 1952 BLAKE2B 8beae590951167b42061d4b3f343f2cc87da76bb73bd613ec5eaa3186dae811ed96aacf94bebf321f1df8374df2240f1d904f62b6e8fde99cedbd487b4006a23 SHA512 3e11315c573b2244d9f5d0949efad4d2ed9fefd7939d5bd815a28d9b8d4c3892ddb4fc0fe8ae5c09d6d7793af6ea3dc803a049e0e2e1446e86f8c1e84de4ec9f
diff --git a/dev-util/ostree/files/ostree-2024.3-curl.patch b/dev-util/ostree/files/ostree-2024.3-curl.patch
new file mode 100644
index 000000000000..7e7a3a44d1f7
--- /dev/null
+++ b/dev-util/ostree/files/ostree-2024.3-curl.patch
@@ -0,0 +1,58 @@
+https://bugs.gentoo.org/939813
+https://github.com/ostreedev/ostree/pull/3307
+
+From 4d755a85225ea0a02d4580d088bb8a97138cb040 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Wed, 18 Sep 2024 13:41:59 -0400
+Subject: [PATCH] curl: Make socket callback during cleanup into no-op
+
+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 the socket callback libcurl may invoke into a no-op 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.
+
+Signed-off-by: Colin Walters <walters@verbum.org>
+--- 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))
+
diff --git a/dev-util/ostree/ostree-2024.3-r1.ebuild b/dev-util/ostree/ostree-2024.3-r1.ebuild
new file mode 100644
index 000000000000..05bac56034ba
--- /dev/null
+++ b/dev-util/ostree/ostree-2024.3-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd tmpfiles
+
+DESCRIPTION="Operating system and container binary deployment and upgrades"
+HOMEPAGE="https://ostreedev.github.io/ostree/"
+SRC_URI="
+ https://github.com/ostreedev/ostree/releases/download/v${PV}/lib${P}.tar.xz
+ -> ${P}.tar.xz
+"
+S="${WORKDIR}/lib${P}"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+IUSE="archive +curl doc dracut gnutls +gpg grub +http2 httpd introspection libmount selinux sodium ssl +soup systemd zeroconf"
+RESTRICT="test"
+REQUIRED_USE="
+ dracut? ( systemd )
+ http2? ( curl )
+ httpd? ( || ( curl soup ) )
+"
+
+RDEPEND="
+ app-arch/xz-utils
+ dev-libs/glib:2
+ sys-fs/fuse:3
+ sys-libs/zlib
+ archive? ( app-arch/libarchive:= )
+ curl? ( net-misc/curl )
+ dracut? ( sys-kernel/dracut )
+ gpg? (
+ app-crypt/gpgme:=
+ dev-libs/libgpg-error
+ )
+ grub? ( sys-boot/grub:2= )
+ introspection? ( dev-libs/gobject-introspection )
+ libmount? ( sys-apps/util-linux )
+ selinux? ( sys-libs/libselinux )
+ sodium? ( >=dev-libs/libsodium-1.0.14:= )
+ soup? ( net-libs/libsoup:3.0 )
+ ssl? (
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/openssl:0=
+ )
+ )
+ systemd? ( sys-apps/systemd:0= )
+ zeroconf? ( net-dns/avahi[dbus] )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xsl-stylesheets
+ doc? (
+ dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3
+ )
+"
+BDEPEND="
+ dev-libs/libxslt
+ dev-util/glib-utils
+ sys-devel/flex
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/ostree-2023.3-dont-force-clang-introspection.patch
+ "${FILESDIR}"/${P}-curl.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Needs Bison (bug #884289)
+ unset YACC
+
+ local econfargs=(
+ --enable-man
+ --enable-shared
+ --with-grub2-mkconfig-path=grub-mkconfig
+ --with-modern-grub
+ $(use_with archive libarchive)
+ $(use_with curl)
+ $(use_with dracut dracut yesbutnoconf) #816867
+ $(use_enable doc gtk-doc)
+ $(usex introspection --enable-introspection={,} yes no)
+ $(use_with gpg gpgme)
+ $(use_enable http2)
+ $(use_enable httpd trivial-httpd-cmdline)
+ $(use_with selinux )
+ $(use_with soup soup3)
+ --without-soup # libsoup:2.4
+ $(use_with libmount)
+ $(use ssl && { use gnutls && echo --with-crypto=gnutls || echo --with-crypto=openssl; })
+ $(use_with sodium ed25519-libsodium)
+ $(use_with systemd libsystemd)
+ $(use_with zeroconf avahi)
+ )
+
+ if use systemd; then
+ econfargs+=( --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" )
+ fi
+
+ unset ${!XDG_*} #657346 g-ir-scanner sandbox violation
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ tmpfiles_process ostree-tmpfiles.conf
+}