sys-fs/udisks: drop 2.9.4-r3, 2.10.1-r4

Bug: https://bugs.gentoo.org/962126
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James 2025-11-25 00:08:02 +00:00
parent 0d80cf7d7c
commit 01c4d3f204
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
10 changed files with 0 additions and 726 deletions

View File

@ -1,3 +1 @@
DIST udisks-2.10.1.tar.bz2 1896207 BLAKE2B 41282e4dbbd93e6bda2a10a6ff2f2fb82bfc83b3ccbed9450cca7888c634cde9300fcd0b7d055e0d8e4c8fc0b431a75d5612a24132ea9b2677d194529732178d SHA512 9cdaeca4306a970c85f88d406dbe5d2dad23d72f47d9ab1c021b8c2888d4c790f680eb94388d86f9255024283b4a36e98b8aee4408d193a7d4aad1e74463356a
DIST udisks-2.10.2.tar.bz2 1791811 BLAKE2B 59c4f76860a33c2a453e2750a24d66cbc5e7b15ac6504a3332fc75792c4f41d49cd34957dcad9ee5fe8bd72959b46b9c61b38a2558e55ef19e32fbea8ec2fcd3 SHA512 8b2fb6d5a9b5c040f315073d0890cde2cad67f06684e607a31636012a515ec798c2129c3dbc8fcd6655d72b7b4a9485172e5e85795a0aeb4ff20a5ea76e690a8
DIST udisks-2.9.4.tar.bz2 1699288 BLAKE2B 913f6dd02988c0bded13ae15a5f05e5b3c6404f0b0d58a493601a0762c7534403f89e9fb46ec6a536b85d5f9ca1f788c7a308f5563a897b324d212da0e7bab4b SHA512 35f5429bc2a7092aa659cba9296837d127e2b17c23ab23111d0d9b230d15ef5a6965e112b1f3829748a69a52fb5b09722153f86f1ef70977b3ad7b7a4ec40ec5

View File

@ -1,55 +0,0 @@
From eb1d4a2bcbb8744074d17553bd0d55ffbd76bdeb Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 14 Nov 2023 13:16:39 +0000
Subject: [PATCH] udiskslinuxblockobject: Try issuing BLKRRPART ioctl harder
For some reason even after acquiring a voluntary BSD lock on
the device the BLKRRPART ioctl still fails with EBUSY. Wait
a couple of msec and everything is fine.
So try harder, several attempts, if busy. There might be number
of things going on in the system and it's out of our control
even when holding a lock.
---
src/udiskslinuxblockobject.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/udiskslinuxblockobject.c b/src/udiskslinuxblockobject.c
index d5da4bc4d9..33604df841 100644
--- a/src/udiskslinuxblockobject.c
+++ b/src/udiskslinuxblockobject.c
@@ -1098,23 +1098,31 @@ udisks_linux_block_object_reread_partition_table (UDisksLinuxBlockObject *objec
}
else
{
- gint num_tries = 0;
+ gint num_tries;
/* acquire an exclusive BSD lock to prevent udev probes.
* See also https://systemd.io/BLOCK_DEVICE_LOCKING
*/
+ num_tries = 10;
while (flock (fd, LOCK_EX | LOCK_NB) != 0)
{
g_usleep (100 * 1000); /* microseconds */
- if (num_tries++ > 5)
+ if (num_tries-- < 0)
break;
}
- if (ioctl (fd, BLKRRPART) != 0)
+ num_tries = 5;
+ while (ioctl (fd, BLKRRPART) != 0)
{
+ if (errno == EBUSY && num_tries-- >= 0)
+ {
+ g_usleep (200 * 1000); /* microseconds */
+ continue;
+ }
g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno),
"Error re-reading partition table (BLKRRPART ioctl) on %s: %m", device_file);
ret = FALSE;
+ break;
}
close (fd);
}

View File

@ -1,43 +0,0 @@
https://bugs.gentoo.org/958339
https://www.openwall.com/lists/oss-security/2025/06/17/5
https://www.openwall.com/lists/oss-security/2025/06/17/5/2
From 0007d5616f4dbc9ccd65b9094ffc18c6f776d06a Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Wed, 4 Jun 2025 15:26:46 +0200
Subject: [PATCH] udiskslinuxfilesystemhelpers: Mount private mounts with
'nodev,nosuid'
The private mount done in take_filesystem_ownership() should always
default to 'nodev,nosuid' for security and 'errors=remount-ro' for
selected filesystem to handle corrupted filesystem. This is consistent
with mount options calculation for regular mounts.
--- a/src/udiskslinuxfilesystemhelpers.c
+++ b/src/udiskslinuxfilesystemhelpers.c
@@ -123,6 +123,7 @@ take_filesystem_ownership (const gchar *device,
{
gchar *mountpoint = NULL;
+ const gchar *mount_opts;
GError *local_error = NULL;
gboolean unmount = FALSE;
gboolean success = TRUE;
@@ -151,8 +152,15 @@ take_filesystem_ownership (const gchar *device,
goto out;
}
+ mount_opts = "nodev,nosuid";
+ if (g_strcmp0 (fstype, "ext2") == 0 ||
+ g_strcmp0 (fstype, "ext3") == 0 ||
+ g_strcmp0 (fstype, "ext4") == 0 ||
+ g_strcmp0 (fstype, "jfs") == 0)
+ mount_opts = "nodev,nosuid,errors=remount-ro";
+
/* TODO: mount to a private mount namespace */
- if (!bd_fs_mount (device, mountpoint, fstype, NULL, NULL, &local_error))
+ if (!bd_fs_mount (device, mountpoint, fstype, mount_opts, NULL, &local_error))
{
g_set_error (error, UDISKS_ERROR, UDISKS_ERROR_FAILED,
"Cannot mount %s at %s: %s",
--
2.49.0

View File

@ -1,38 +0,0 @@
From acae6bf4594f80da57855343ab325f87386178c4 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Fri, 3 Nov 2023 16:40:54 +0100
Subject: [PATCH] tests: Fix targetcli_config.json
Not all attributes are available anymore in newer kernel versions.
---
src/tests/dbus-tests/targetcli_config.json | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/tests/dbus-tests/targetcli_config.json b/src/tests/dbus-tests/targetcli_config.json
index 3be9eac2be..f50bf7d4d2 100644
--- a/src/tests/dbus-tests/targetcli_config.json
+++ b/src/tests/dbus-tests/targetcli_config.json
@@ -331,7 +331,6 @@
"demo_mode_write_protect": 0,
"generate_node_acls": 1,
"login_timeout": 15,
- "netif_timeout": 2,
"prod_mode_write_protect": 0,
"t10_pi": 0,
"tpg_enabled_sendtargets": 1
@@ -393,7 +392,6 @@
"demo_mode_write_protect": 1,
"generate_node_acls": 0,
"login_timeout": 15,
- "netif_timeout": 2,
"prod_mode_write_protect": 0,
"t10_pi": 0,
"tpg_enabled_sendtargets": 1
@@ -479,7 +477,6 @@
"demo_mode_write_protect": 1,
"generate_node_acls": 0,
"login_timeout": 15,
- "netif_timeout": 2,
"prod_mode_write_protect": 0,
"t10_pi": 0,
"tpg_enabled_sendtargets": 1

View File

@ -1,32 +0,0 @@
From 8f62f7c6888659f3b66d5861d46fb9b3a34ff169 Mon Sep 17 00:00:00 2001
From: Marius Vollmer <mvollmer@redhat.com>
Date: Thu, 22 Feb 2024 16:49:24 +0200
Subject: [PATCH] udiskslinuxblock: Survive a missing /etc/fstab
This is similar to b79f6840ca82551e672156153b7e13328f0ba19d, which
solved the same problem for /etc/crypttab.
---
src/udiskslinuxblock.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/udiskslinuxblock.c b/src/udiskslinuxblock.c
index 829dd5f78..a3fa183be 100644
--- a/src/udiskslinuxblock.c
+++ b/src/udiskslinuxblock.c
@@ -1541,7 +1541,15 @@ add_remove_fstab_entry (UDisksBlock *block,
&contents,
NULL,
error))
- goto out;
+ {
+ if (g_error_matches (*error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+ {
+ contents = g_strdup ("");
+ g_clear_error (error);
+ }
+ else
+ goto out;
+ }
lines = g_strsplit (contents, "\n", 0);

View File

@ -1,112 +0,0 @@
From 3dc036fb5045fc068c6abfbe4e62d0871d7ca82a Mon Sep 17 00:00:00 2001
From: xinpeng wang <wangxinpeng@uniontech.com>
Date: Thu, 21 Sep 2023 13:57:40 +0800
Subject: [PATCH] udiskslinuxmanager:use dbus interface after free
In handle_get_block_devices, call get_block_objects to obtain iface_block_device
of all current UDisksLinuxBlockObject, and then obtain the corresponding
UDisksLinuxBlockObject's object_path through iface_block_device.iface_block_device
is a GDBusInterfaceSkeleton, which saves the object through
g_dbus_interface_skeleton_set_object. g_object_add_weak_pointer is used here. This
function is not thread-safe.At this time, if other threads are releasing the object,
the program will crash.
This scene can be reproduced by quickly plugging and unplugging the USB disk.
The core is as follows (the redundant stack is omitted):
When accessing object in thread 1, the object is released by thread 2
info threads
Id Target Id Frame
* 1 Thread 0x7f80979e70 (LWP 24559) 0x0000007f8a48dda0 in
g_dbus_object_get_object_path (object=0x0) at ../../../gio/gdbusobject.c:109
2 Thread 0x7f88a43010 (LWP 1159) 0x0000007f8a0a6ae8 in __GI___libc_free
(mem=0x556a919c80) at malloc.c:3093
thread 1
(gdb) bt
0 0x0000007f8a48dda0 in g_dbus_object_get_object_path (object=0x0) at
../../../gio/gdbusobject.c:109
1 0x000000556a56911c in handle_get_block_devices (object=0x7f7c007ed0, invocation=
0x7f74016f20 [GDBusMethodInvocation], arg_options=<optimized out>)
at udiskslinuxmanager.c:1063
(gdb) p ((GObject*)(blocks_p->data))->ref_count
$3 = 1
(gdb) p *((GDBusInterfaceSkeleton*)(blocks_p->data))
$6 = {parent_instance = {g_type_instance = {g_class = 0x556a64e740
[g_type: UDisksLinuxBlock/UDisksBlockSkeleton/GDBusInterfaceSkeleton]}, ref_count = 1,
qdata = 0x0}, priv = 0x7f7c004ac0}
(gdb) p *((GDBusInterfaceSkeleton*)(blocks_p->data))->priv
$7 = {lock = {p = 0x0, i = {0, 0}}, object = 0x0,
flags = G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD,
connections = 0x0, object_path = 0x0, hooked_vtable = 0x556a62b9f0}
thread 2
(gdb) bt
0 0x0000007f8a0a6ae8 in __GI___libc_free (mem=0x556a919c80) at malloc.c:3093
1 0x0000007f89ff1224 in () at /lib/aarch64-linux-gnu/libudev.so.1
2 0x0000007f89ff1348 in () at /lib/aarch64-linux-gnu/libudev.so.1
3 0x0000007f89ff5520 in () at /lib/aarch64-linux-gnu/libudev.so.1
4 0x0000007f89fff878 in udev_device_unref () at /lib/aarch64-linux-gnu/libudev.so.1
5 0x0000007f8a7aeb74 in () at /lib/aarch64-linux-gnu/libgudev-1.0.so.0
6 0x0000007f8a3193f8 in g_object_unref (_object=<optimized out>) at
../../../gobject/gobject.c:3346
7 0x0000007f8a3193f8 in g_object_unref (_object=0x7f680038a0) at
../../../gobject/gobject.c:3238
8 0x000000556a57700c in udisks_linux_device_finalize (object=0x7f5c005730
[UDisksLinuxDevice]) at udiskslinuxdevice.c:75
9 0x0000007f8a3193f8 in g_object_unref (_object=<optimized out>) at
../../../gobject/gobject.c:3346
10 0x0000007f8a3193f8 in g_object_unref (_object=0x7f5c005730) at
../../../gobject/gobject.c:3238
11 0x000000556a55d0fc in udisks_linux_drive_object_uevent
(object=object@entry=0x556a5df370 [UDisksLinuxDriveObject],
action=action@entry=0x556a87b120
"remove",device=device@entry=0x7f74007610 [UDisksLinuxDevice])
at udiskslinuxdriveobject.c:715
12 0x000000556a54840c in handle_block_uevent_for_drive
(provider=provider@entry=0x556a5c8200 [UDisksLinuxProvider],
action=action@entry=0x556a87b120 "remove",device=device@entry=0x7f74007610
[UDisksLinuxDevice]) at udiskslinuxprovider.c:1035
13 0x000000556a548ab8 in handle_block_uevent (device=0x7f74007610 [UDisksLinuxDevice],
action=0x556a87b120 "remove", provider=0x556a5c8200 [UDisksLinuxProvider]) at
udiskslinuxprovider.c:1349
14 0x000000556a548ab8 in udisks_linux_provider_handle_uevent
(provider=0x556a5c8200 [UDisksLinuxProvider], action=0x556a87b120 "remove",
device=0x7f74007610 [UDisksLinuxDevice]) at udiskslinuxprovider.c:1399
15 0x000000556a548cac in on_idle_with_probed_uevent (user_data=0x556a7e65a0) at
udiskslinuxprovider.c:230
---
src/udiskslinuxmanager.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/udiskslinuxmanager.c b/src/udiskslinuxmanager.c
index 5bfeec103..491edb92b 100644
--- a/src/udiskslinuxmanager.c
+++ b/src/udiskslinuxmanager.c
@@ -1196,8 +1196,11 @@ handle_get_block_devices (UDisksManager *object,
blocks = get_block_objects (object, &num_blocks);
block_paths = g_new0 (const gchar *, num_blocks + 1);
- for (i = 0,blocks_p = blocks; blocks_p != NULL; blocks_p = blocks_p->next, i++)
- block_paths[i] = g_dbus_object_get_object_path (g_dbus_interface_get_object (G_DBUS_INTERFACE (blocks_p->data)));
+ for (blocks_p = blocks; blocks_p != NULL; blocks_p = blocks_p->next) {
+ GDBusObject * block_object = g_dbus_interface_get_object (G_DBUS_INTERFACE (blocks_p->data));
+ if (block_object)
+ block_paths[i++] = g_dbus_object_get_object_path (block_object);
+ }
udisks_manager_complete_get_block_devices (object,
invocation,
@@ -1284,9 +1287,11 @@ handle_resolve_device (UDisksManager *object,
}
ret_paths = g_new0 (const gchar *, num_found + 1);
- for (i = 0,ret_p = ret; ret_p != NULL; ret_p = ret_p->next, i++)
+ for (i = 0,ret_p = ret; ret_p != NULL; ret_p = ret_p->next)
{
- ret_paths[i] = g_dbus_object_get_object_path (g_dbus_interface_get_object (G_DBUS_INTERFACE (ret_p->data)));
+ GDBusObject *block_object = g_dbus_interface_get_object (G_DBUS_INTERFACE (ret_p->data));
+ if (block_object)
+ ret_paths[i++] = g_dbus_object_get_object_path (block_object);
}
udisks_manager_complete_resolve_device (object,

View File

@ -1,143 +0,0 @@
Upstream-PR: https://github.com/storaged-project/udisks/pull/978
Upstream-PR: https://github.com/storaged-project/udisks/pull/979
Upstream-Commit: 362cc8f1613193f8e68d13a416421bb36fd7f713
Upstream-Commit: 6cbce6602ce447127cb4f77706870b6706bf1c5f
Upstream-Commit: 97bb17425e52ee6b2f11b13b3764d0dd6e8cfc97
From 362cc8f1613193f8e68d13a416421bb36fd7f713 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Tue, 10 May 2022 09:29:10 -0700
Subject: [PATCH 1/3] modules/btrfs: Add missing dependency
When building udisks with --enable-btrfs using slibtool instead of GNU
libtool the build will fail with undefined references.
This is because of a missing dependency for libudisks2_btrfs_la_LIBADD
and GNU libtool will hide this issue by silently ignoring -no-undefined
while slibtool does not.
Gentoo Bug: https://bugs.gentoo.org/782061
---
modules/btrfs/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/btrfs/Makefile.am b/modules/btrfs/Makefile.am
index ac8c941849..f96cd16186 100644
--- a/modules/btrfs/Makefile.am
+++ b/modules/btrfs/Makefile.am
@@ -73,6 +73,7 @@ libudisks2_btrfs_la_LDFLAGS = \
$(NULL)
libudisks2_btrfs_la_LIBADD = \
+ $(top_builddir)/src/libudisks-daemon.la \
$(GLIB_LIBS) \
$(GIO_LIBS) \
$(GUDEV_LIBS) \
From 6cbce6602ce447127cb4f77706870b6706bf1c5f Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Wed, 11 May 2022 07:55:13 -0700
Subject: [PATCH 2/3] modules/bcache: Add missing dependency
---
modules/bcache/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/bcache/Makefile.am b/modules/bcache/Makefile.am
index 571541a6d4..7509205ba2 100644
--- a/modules/bcache/Makefile.am
+++ b/modules/bcache/Makefile.am
@@ -71,6 +71,7 @@ libudisks2_bcache_la_LDFLAGS = \
$(NULL)
libudisks2_bcache_la_LIBADD = \
+ $(top_builddir)/src/libudisks-daemon.la \
$(GLIB_LIBS) \
$(GIO_LIBS) \
$(GUDEV_LIBS) \
From 97bb17425e52ee6b2f11b13b3764d0dd6e8cfc97 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Wed, 11 May 2022 07:55:25 -0700
Subject: [PATCH 3/3] modules/lvm2: Add missing dependency
---
modules/lvm2/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/lvm2/Makefile.am b/modules/lvm2/Makefile.am
index 3342ad8e9b..67b8aa6b3f 100644
--- a/modules/lvm2/Makefile.am
+++ b/modules/lvm2/Makefile.am
@@ -76,6 +76,7 @@ libudisks2_lvm2_la_LDFLAGS = \
$(NULL)
libudisks2_lvm2_la_LIBADD = \
+ $(top_builddir)/src/libudisks-daemon.la \
$(GLIB_LIBS) \
$(GIO_LIBS) \
$(GUDEV_LIBS) \
From 663f8194eeac75ec26fbfbd8855c5873315c495c Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Fri, 13 May 2022 17:04:52 +0200
Subject: [PATCH 1/3] modules/iscsi: Add missing linker dependency
---
modules/iscsi/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/iscsi/Makefile.am b/modules/iscsi/Makefile.am
index 05af5ece29..2cecc300e9 100644
--- a/modules/iscsi/Makefile.am
+++ b/modules/iscsi/Makefile.am
@@ -77,6 +77,7 @@ libudisks2_iscsi_la_LDFLAGS = \
$(NULL)
libudisks2_iscsi_la_LIBADD = \
+ $(top_builddir)/src/libudisks-daemon.la \
$(GLIB_LIBS) \
$(GIO_LIBS) \
$(GUDEV_LIBS) \
From 8ff2214d740f9819d6ede02534d7d0f23d6a3818 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Fri, 13 May 2022 17:05:26 +0200
Subject: [PATCH 2/3] modules/lsm: Add missing linker dependency
---
modules/lsm/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/lsm/Makefile.am b/modules/lsm/Makefile.am
index 2193115417..b77a9013fa 100644
--- a/modules/lsm/Makefile.am
+++ b/modules/lsm/Makefile.am
@@ -71,6 +71,7 @@ libudisks2_lsm_la_LDFLAGS = \
$(NULL)
libudisks2_lsm_la_LIBADD = \
+ $(top_builddir)/src/libudisks-daemon.la \
$(GLIB_LIBS) \
$(GIO_LIBS) \
$(GUDEV_LIBS) \
From 4f59e7fd5b9ad94091230713c28f6a818269d48c Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Fri, 13 May 2022 17:05:43 +0200
Subject: [PATCH 3/3] modules/zram: Add missing linker dependency
---
modules/zram/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/zram/Makefile.am b/modules/zram/Makefile.am
index 9e5e9a6315..40f929583d 100644
--- a/modules/zram/Makefile.am
+++ b/modules/zram/Makefile.am
@@ -78,6 +78,7 @@ libudisks2_zram_la_LDFLAGS = \
$(NULL)
libudisks2_zram_la_LIBADD = \
+ $(top_builddir)/src/libudisks-daemon.la \
$(GLIB_LIBS) \
$(GIO_LIBS) \
$(GUDEV_LIBS) \

View File

@ -8,8 +8,6 @@
<flag name="daemon">Build the system daemon, not just the client tool</flag>
<flag name="lvm">Add support for Logical Volume Management via <pkg>sys-fs/lvm2</pkg></flag>
<flag name="systemd">Support <pkg>sys-apps/systemd</pkg>'s logind</flag>
<flag name="vdo">Enable Virtual Data Optimizer support.</flag>
<flag name="zram">Enable ZRAM support (requires <pkg>sys-apps/systemd</pkg>)</flag>
</use>
<upstream>
<bugs-to>https://github.com/storaged-project/udisks/issues</bugs-to>

View File

@ -1,149 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools bash-completion-r1 linux-info systemd tmpfiles udev xdg-utils
DESCRIPTION="Daemon providing interfaces to work with storage devices"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/udisks"
SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.tar.bz2"
LICENSE="LGPL-2+ GPL-2+"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86"
IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd"
REQUIRED_USE="
?? ( elogind systemd )
elogind? ( daemon )
systemd? ( daemon )
"
COMMON_DEPEND="
>=sys-auth/polkit-0.114[daemon(+)]
>=sys-libs/libblockdev-3.3.0:=[cryptsetup,lvm?,nvme]
virtual/udev
acl? ( virtual/acl )
daemon? (
>=dev-libs/glib-2.68:2
>=dev-libs/libatasmart-0.19
>=dev-libs/libgudev-165:=
)
elogind? ( >=sys-auth/elogind-219 )
introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= )
lvm? ( sys-fs/lvm2 )
systemd? ( >=sys-apps/systemd-209 )
"
# util-linux -> mount, umount, swapon, swapoff (see also #403073)
RDEPEND="${COMMON_DEPEND}
>=sys-block/parted-3
>=sys-apps/util-linux-2.30
selinux? ( sec-policy/selinux-devicekit )
"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-3.1
"
BDEPEND="
app-text/docbook-xsl-stylesheets
>=dev-util/gdbus-codegen-2.32
>=dev-build/gtk-doc-am-1.3
virtual/pkgconfig
nls? ( >=sys-devel/gettext-0.19.8 )
dev-libs/gobject-introspection-common
dev-build/autoconf-archive
"
# If adding a eautoreconf, then these might be needed at buildtime:
# dev-libs/gobject-introspection-common
# dev-build/autoconf-archive
DOCS=( AUTHORS HACKING NEWS README.md )
PATCHES=(
"${FILESDIR}"/${P}-BLKRRPART_harder.patch
"${FILESDIR}"/${P}-targetcli_config.json_netif_timeout.patch
"${FILESDIR}"/${P}-udiskslinuxmanager_use_after_free.patch
"${FILESDIR}"/${P}-udiskslinuxblock_survive_missing_fstab.patch
"${FILESDIR}"/${PN}-2.10.1-slibtool-export-dynamic.patch
"${FILESDIR}"/${PN}-2.10.1-CVE-2025-6019.patch
)
pkg_setup() {
# Listing only major arch's here to avoid tracking kernel's defconfig
if use amd64 || use arm || use ppc || use ppc64 || use x86; then
CONFIG_CHECK="~!IDE" #319829
CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" #412377
CONFIG_CHECK+=" ~NLS_UTF8" #425562
kernel_is lt 3 10 && CONFIG_CHECK+=" ~USB_SUSPEND" #331065, #477278
linux-info_pkg_setup
fi
}
src_prepare() {
xdg_environment_reset
default
if ! use systemd ; then
sed -i -e 's:libsystemd-login:&disable:' configure || die
fi
# Added for bug # 782061
eautoreconf
}
src_configure() {
local myeconfargs=(
--enable-btrfs
--disable-gtk-doc
--disable-static
--localstatedir="${EPREFIX}"/var
--with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
--with-modprobedir="${EPREFIX}"/lib/modprobe.d
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
--with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
--with-udevdir="${EPREFIX}$(get_udevdir)"
$(use_enable acl)
$(use_enable daemon)
$(use_enable debug)
$(use_enable introspection)
$(use_enable lvm lvm2)
$(use_enable nls)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
keepdir /var/lib/udisks2 #383091
rm -rf "${ED}"/usr/share/bash-completion
dobashcomp data/completions/udisksctl
}
pkg_preinst() {
# Remove gtk-doc symlink, #597628
if [[ -L "${EROOT}"/usr/share/gtk-doc/html/udisks2 ]]; then
rm "${EROOT}"/usr/share/gtk-doc/html/udisks2 || die
fi
}
pkg_postinst() {
udev_reload
# TODO: obsolete with tmpfiles_process?
# mkdir -p "${EROOT}"/run #415987
tmpfiles_process udisks2.conf
# See pkg_postinst() of >=sys-apps/baselayout-2.1-r1. Keep in sync?
if ! grep -qs "^tmpfs.*/run " "${EROOT}"/proc/mounts ; then
echo
ewarn "You should reboot the system now to get /run mounted with tmpfs!"
fi
}
pkg_postrm() {
udev_reload
}

View File

@ -1,150 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools bash-completion-r1 linux-info systemd tmpfiles udev xdg-utils
DESCRIPTION="Daemon providing interfaces to work with storage devices"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/udisks"
SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.tar.bz2"
LICENSE="LGPL-2+ GPL-2+"
SLOT="2"
KEYWORDS="ppc ~sparc"
IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd vdo zram"
REQUIRED_USE="
?? ( elogind systemd )
elogind? ( daemon )
systemd? ( daemon )
zram? ( systemd )
"
# See configure.ac file for the required min version
BLOCKDEV_MIN_VER="2.25"
# <libblockdev-3 dep for bug #910077, should go away with udisks-2.10
COMMON_DEPEND="
>=sys-auth/polkit-0.114
>=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}:=[cryptsetup,lvm?,vdo(-)?]
<sys-libs/libblockdev-3[cryptsetup,lvm?,vdo(-)?]
virtual/udev
acl? ( virtual/acl )
daemon? (
>=dev-libs/glib-2.50:2
>=dev-libs/libatasmart-0.19
>=dev-libs/libgudev-165:=
)
elogind? ( >=sys-auth/elogind-219 )
introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= )
lvm? ( sys-fs/lvm2 )
systemd? ( >=sys-apps/systemd-209 )
zram? ( >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}[kbd(-)] )
"
# util-linux -> mount, umount, swapon, swapoff (see also #403073)
RDEPEND="${COMMON_DEPEND}
>=sys-block/parted-3
>=sys-apps/util-linux-2.30
selinux? ( sec-policy/selinux-devicekit )
"
DEPEND="${COMMON_DEPEND}
>=sys-kernel/linux-headers-3.1
"
BDEPEND="
app-text/docbook-xsl-stylesheets
>=dev-util/gdbus-codegen-2.32
>=dev-build/gtk-doc-am-1.3
virtual/pkgconfig
nls? ( >=sys-devel/gettext-0.19.8 )
"
# If adding a eautoreconf, then these might be needed at buildtime:
# dev-libs/gobject-introspection-common
# dev-build/autoconf-archive
DOCS=( AUTHORS HACKING NEWS README.md )
PATCHES=(
"${FILESDIR}/${P}-undefined.patch" # 782061
)
pkg_setup() {
# Listing only major arch's here to avoid tracking kernel's defconfig
if use amd64 || use arm || use ppc || use ppc64 || use x86; then
CONFIG_CHECK="~!IDE" #319829
CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" #412377
CONFIG_CHECK+=" ~NLS_UTF8" #425562
kernel_is lt 3 10 && CONFIG_CHECK+=" ~USB_SUSPEND" #331065, #477278
linux-info_pkg_setup
fi
}
src_prepare() {
xdg_environment_reset
default
if ! use systemd ; then
sed -i -e 's:libsystemd-login:&disable:' configure || die
fi
# Added for bug # 782061
eautoreconf
}
src_configure() {
local myeconfargs=(
--enable-btrfs
--disable-gtk-doc
--disable-static
--localstatedir="${EPREFIX}"/var
--with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
--with-modprobedir="${EPREFIX}"/lib/modprobe.d
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
--with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
--with-udevdir="${EPREFIX}$(get_udevdir)"
$(use_enable acl)
$(use_enable daemon)
$(use_enable debug)
$(use_enable introspection)
$(use_enable lvm lvm2)
$(use_enable lvm lvmcache)
$(use_enable nls)
$(use_enable vdo)
$(use_enable zram)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
keepdir /var/lib/udisks2 #383091
rm -rf "${ED}"/usr/share/bash-completion
dobashcomp data/completions/udisksctl
}
pkg_preinst() {
# Remove gtk-doc symlink, #597628
if [[ -L "${EROOT}"/usr/share/gtk-doc/html/udisks2 ]]; then
rm "${EROOT}"/usr/share/gtk-doc/html/udisks2 || die
fi
}
pkg_postinst() {
udev_reload
# TODO: obsolete with tmpfiles_process?
# mkdir -p "${EROOT}"/run #415987
tmpfiles_process udisks2.conf
# See pkg_postinst() of >=sys-apps/baselayout-2.1-r1. Keep in sync?
if ! grep -qs "^tmpfs.*/run " "${EROOT}"/proc/mounts ; then
echo
ewarn "You should reboot the system now to get /run mounted with tmpfs!"
fi
}
pkg_postrm() {
udev_reload
}