diff --git a/.gitignore b/.gitignore index 9b451cd..b25dc22 100644 --- a/.gitignore +++ b/.gitignore @@ -19,8 +19,4 @@ /udisks-2.9.4.tar.bz2 /udisks-2.10.0.tar.bz2 /udisks-2.10.1.tar.bz2 -/udisks-2.10.90.tar.bz2 -/udisks-2.10.91.tar.bz2 -/udisks-2.11.0.tar.bz2 -/udisks-2.11.1.tar.bz2 -/udisks-2.11.2.tar.bz2 +/udisks-2.10.2.tar.bz2 diff --git a/sources b/sources index e41b09d..46f6d57 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (udisks-2.11.2.tar.bz2) = 3996ac935cb330eb7f286f25a716da52ca374b14cc7b4f2e60a7e4b0b0745559607fa8c6d1e96e777b44eb8e07eb16e1ad6bc00b3051adea14e865df3efa2662 +SHA512 (udisks-2.10.2.tar.bz2) = 8b2fb6d5a9b5c040f315073d0890cde2cad67f06684e607a31636012a515ec798c2129c3dbc8fcd6655d72b7b4a9485172e5e85795a0aeb4ff20a5ea76e690a8 diff --git a/udisks-2.11.0-BLKRRPART_harder.patch b/udisks-2.11.0-BLKRRPART_harder.patch new file mode 100644 index 0000000..39af1e0 --- /dev/null +++ b/udisks-2.11.0-BLKRRPART_harder.patch @@ -0,0 +1,55 @@ +From eb1d4a2bcbb8744074d17553bd0d55ffbd76bdeb Mon Sep 17 00:00:00 2001 +From: Tomas Bzatek +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); + } diff --git a/udisks2.spec b/udisks2.spec index 0d1136b..96d4060 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -2,9 +2,10 @@ %global gobject_introspection_version 1.30.0 %global polkit_version 0.102 %global systemd_version 208 +%global libatasmart_version 0.17 %global dbus_version 1.4.0 %global with_gtk_doc 1 -%global libblockdev_version 3.4 +%global libblockdev_version 3.0 %define with_btrfs 1 %ifnarch %{ix86} @@ -24,16 +25,19 @@ Name: udisks2 Summary: Disk Manager -Version: 2.11.2 +Version: 2.10.2 Release: 1%{?dist} License: GPL-2.0-or-later URL: https://github.com/storaged-project/udisks Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2 +Patch0: udisks-2.11.0-BLKRRPART_harder.patch + BuildRequires: make BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} BuildRequires: libgudev1-devel >= %{systemd_version} +BuildRequires: libatasmart-devel >= %{libatasmart_version} BuildRequires: polkit-devel >= %{polkit_version} BuildRequires: systemd >= %{systemd_version} BuildRequires: systemd-devel >= %{systemd_version} @@ -51,7 +55,6 @@ BuildRequires: libblockdev-mdraid-devel >= %{libblockdev_version} BuildRequires: libblockdev-fs-devel >= %{libblockdev_version} BuildRequires: libblockdev-crypto-devel >= %{libblockdev_version} BuildRequires: libblockdev-nvme-devel >= %{libblockdev_version} -BuildRequires: libblockdev-smart-devel >= %{libblockdev_version} BuildRequires: libmount-devel BuildRequires: libuuid-devel @@ -63,7 +66,6 @@ Requires: libblockdev-mdraid >= %{libblockdev_version} Requires: libblockdev-fs >= %{libblockdev_version} Requires: libblockdev-crypto >= %{libblockdev_version} Requires: libblockdev-nvme >= %{libblockdev_version} -Requires: libblockdev-smart >= %{libblockdev_version} Requires: lib%{name}%{?_isa} = %{version}-%{release} @@ -71,6 +73,8 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release} Requires: dbus >= %{dbus_version} # Needed to pull in the udev daemon Requires: udev >= %{systemd_version} +# We need at least this version for bugfixes/features etc. +Requires: libatasmart >= %{libatasmart_version} # For mount, umount, mkswap Requires: util-linux # For mkfs.ext3, mkfs.ext3, e2label @@ -105,10 +109,6 @@ Recommends: ntfs-3g Recommends: btrfs-progs %endif - -# For /proc/self/mountinfo, only available in 2.6.26 or higher -Conflicts: kernel < 2.6.26 - Provides: storaged = %{version}-%{release} Obsoletes: storaged < %{version}-%{release} @@ -197,7 +197,6 @@ rm -f src/tests/dbus-tests/config_h.py rm -f src/udisks-daemon-resources.{c,h} # default to ntfs-3g (#2182206) sed -i data/builtin_mount_options.conf -e 's/ntfs_drivers=ntfs3,ntfs/ntfs_drivers=ntfs,ntfs3/' -sed -i data/builtin_mount_options.conf -e 's/exfat_defaults=uid=\$UID,gid=\$GID,iocharset=utf8,errors=remount-ro/exfat_defaults=uid=\$UID,gid=\$GID,iocharset=utf8,errors=remount-ro,sys_tz/' %build # autoreconf -ivf @@ -208,7 +207,6 @@ sed -i data/builtin_mount_options.conf -e 's/exfat_defaults=uid=\$UID,gid=\$GID, %else --disable-gtk-doc \ %endif - --enable-smart \ %if 0%{?with_btrfs} --enable-btrfs \ %endif @@ -341,42 +339,12 @@ fi %endif %changelog -* Thu Aug 06 2026 Tomas Bzatek - 2.11.2-1 -- Version 2.11.2 +* Fri Aug 29 2025 Tomas Bzatek - 2.10.2-1 +- Version 2.10.2 -* Fri Jul 17 2026 Fedora Release Engineering - 2.11.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Wed Apr 01 2026 Tomas Bzatek - 2.11.1-2 -- Use 'sys_tz' exfat mount option by default (#2403452) - -* Wed Feb 25 2026 Tomas Bzatek - 2.11.1-1 -- Version 2.11.1 (#2442584,#2442588) - -* Sat Jan 17 2026 Fedora Release Engineering - 2.11.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Dec 17 2025 Tom Callaway - 2.11.0-2 -- rebuild for new libconfig - -* Thu Nov 06 2025 Tomas Bzatek - 2.11.0-1 -- Version 2.11.0 - -* Fri Aug 29 2025 Tomas Bzatek - 2.10.91-1 -- Version 2.10.91 - -* Fri Jul 25 2025 Fedora Release Engineering - 2.10.90-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jun 19 2025 Tomas Bzatek - 2.10.90-3 +* Thu Jun 19 2025 Tomas Bzatek - 2.10.1-7 - Harden temporary private mounts (#2373301) -* Sun Jan 19 2025 Fedora Release Engineering - 2.10.90-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Oct 02 2024 Tomas Bzatek - 2.10.90-1 -- Version 2.10.90 - * Sat Jul 20 2024 Fedora Release Engineering - 2.10.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild