From ee180b4c2a8b4800e30e938435b3e22f3d87b636 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Fri, 21 Apr 2017 12:23:31 +0200 Subject: [PATCH 1/5] Update to 2.6.4 --- .gitignore | 1 + dead.package | 1 - sources | 1 + udisks2.spec | 421 +++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 423 insertions(+), 1 deletion(-) create mode 100644 .gitignore delete mode 100644 dead.package create mode 100644 sources create mode 100644 udisks2.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..27e6501 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/udisks-2.6.4.tar.bz2 diff --git a/dead.package b/dead.package deleted file mode 100644 index 5df76d2..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Obsoleted by storaged diff --git a/sources b/sources new file mode 100644 index 0000000..391e3b7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (udisks-2.6.4.tar.bz2) = 6e9deed885daae2bed27dac414b402c75e0e97151ac1d616235e1ff4609833fdc34031a3cafbcb939de8cd3f9d3ecf8e4ea20b5f6447fcc45202af5797f31eb2 diff --git a/udisks2.spec b/udisks2.spec new file mode 100644 index 0000000..b96ca49 --- /dev/null +++ b/udisks2.spec @@ -0,0 +1,421 @@ +%global glib2_version 2.36 +%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 with_libblockdev_part 1 +%global libblockdev_version 2.1 + +%define is_fedora 0%{?rhel} == 0 +%define is_git %(git show > /dev/null 2>&1 && echo 1 || echo 0) +%define git_hash %(git log -1 --pretty=format:"%h" || true) +%define build_date %(date '+%Y%m%d') + +Name: udisks2 +Summary: Disk Manager +Version: 2.6.4 +Release: 1%{?dist} +License: GPLv2+ +Group: System Environment/Libraries +URL: https://github.com/storaged-project/udisks +Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2 + +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-devel >= %{systemd_version} +BuildRequires: gnome-common +BuildRequires: libacl-devel +BuildRequires: chrpath +BuildRequires: gtk-doc +BuildRequires: intltool +BuildRequires: redhat-rpm-config +BuildRequires: libblockdev-part-devel >= %{libblockdev_version} +BuildRequires: libblockdev-btrfs-devel >= %{libblockdev_version} +BuildRequires: libblockdev-kbd-devel >= %{libblockdev_version} +BuildRequires: libblockdev-swap-devel >= %{libblockdev_version} + +# Needed to pull in the system bus daemon +Requires: dbus >= %{dbus_version} +# Needed to pull in the udev daemon +Requires: systemd >= %{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 +Requires: e2fsprogs +# For mkfs.xfs, xfs_admin +Requires: xfsprogs +# For mkfs.vfat +Requires: dosfstools +Requires: gdisk +# For LUKS devices +Requires: cryptsetup-luks +# For ejecting removable disks +Requires: eject +# For MD-RAID +Requires: mdadm + +Requires: lib%{name}%{?_isa} = %{version}-%{release} + +# For mkntfs (not available on rhel or on ppc/ppc64) +%if ! 0%{?rhel} +%ifnarch ppc ppc64 +Requires: ntfsprogs +%endif +%endif + +# For /proc/self/mountinfo, only available in 2.6.26 or higher +Conflicts: kernel < 2.6.26 + +Provides: storaged = %{version}-%{release} +Obsoletes: storaged + +%description +The Udisks project provides a daemon, tools and libraries to access and +manipulate disks, storage devices and technologies. + +%package -n lib%{name} +Summary: Dynamic library to access the udisksd daemon +Group: System Environment/Libraries +License: LGPLv2+ +Provides: libstoraged = %{version}-%{release} +Obsoletes: libstoraged + +%description -n lib%{name} +This package contains the dynamic library, which provides +access to the udisksd daemon. + +%package -n %{name}-iscsi +Summary: Module for iSCSI +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Requires: iscsi-initiator-utils +BuildRequires: iscsi-initiator-utils-devel +Provides: storaged-iscsi = %{version}-%{release} +Obsoletes: storaged-iscsi + +%description -n %{name}-iscsi +This package contains module for iSCSI configuration. + +%package -n %{name}-lvm2 +Summary: Module for LVM2 +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Requires: lvm2 +BuildRequires: lvm2-devel +Provides: storaged-lvm2 = %{version}-%{release} +Obsoletes: storaged-lvm2 + +%description -n %{name}-lvm2 +This package contains module for LVM2 configuration. + +%package -n lib%{name}-devel +Summary: Development files for lib%{name} +Group: Development/Libraries +Requires: lib%{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Provides: libstoraged-devel = %{version}-%{release} +Obsoletes: libstoraged-devel + +%description -n lib%{name}-devel +This package contains the development files for the library lib%{name}, a +dynamic library, which provides access to the udisksd daemon. + +%if %{is_fedora} +%package -n %{name}-bcache +Summary: Module for Bcache +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Requires: libblockdev-kbd +BuildRequires: libblockdev-kbd-devel +Provides: storaged-bcache = %{version}-%{release} +Obsoletes: storaged-bcache + +%description -n %{name}-bcache +This package contains module for Bcache configuration. + +%package -n %{name}-btrfs +Summary: Module for BTRFS +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Requires: libblockdev-btrfs +BuildRequires: libblockdev-btrfs-devel +Provides: storaged-btrfs = %{version}-%{release} +Obsoletes: storaged-btrfs + +%description -n %{name}-btrfs +This package contains module for BTRFS configuration. + +%package -n %{name}-lsm +Summary: Module for LSM +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Requires: libstoragemgmt +BuildRequires: libstoragemgmt-devel +BuildRequires: libconfig-devel +Provides: storaged-lsm = %{version}-%{release} +Obsoletes: storaged-lsm + +%description -n %{name}-lsm +This package contains module for LSM configuration. + +%package -n %{name}-zram +Summary: Module for ZRAM +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +License: LGPLv2+ +Requires: libblockdev-kbd +Requires: libblockdev-swap +BuildRequires: libblockdev-kbd-devel +BuildRequires: libblockdev-swap-devel +Provides: storaged-zram = %{version}-%{release} +Obsoletes: storaged-zram + +%description -n %{name}-zram +This package contains module for ZRAM configuration. +%endif + +%prep +%setup -q -n udisks-%{version} + +%build +autoreconf -ivf +%configure \ + --sysconfdir=/etc \ +%if %{with_gtk_doc} + --enable-gtk-doc \ +%else + --disable-gtk-doc \ +%endif +%if %{is_fedora} + --enable-modules +%else + --enable-iscsi \ + --enable-lvm2 +%endif +make %{?_smp_mflags} + +%install +make install DESTDIR=%{buildroot} +%if %{with_gtk_doc} == 0 +rm -fr %{buildroot}/%{_datadir}/gtk-doc/html/udisks2 +%endif + +find %{buildroot} -name \*.la -o -name \*.a | xargs rm + +chrpath --delete %{buildroot}/%{_sbindir}/umount.udisks2 +chrpath --delete %{buildroot}/%{_bindir}/udisksctl +chrpath --delete %{buildroot}/%{_libexecdir}/udisks2/udisksd + +%find_lang udisks2 + +%post -n %{name} +udevadm control --reload +udevadm trigger +# Restart udisks2, if it's running... +systemctl try-restart udisks2 + +%post -n lib%{name} -p /sbin/ldconfig + +%postun -n lib%{name} -p /sbin/ldconfig + +%files -f udisks2.lang +%doc README.md AUTHORS NEWS HACKING +%license COPYING + +%dir %{_sysconfdir}/udisks2 +%if %{is_fedora} +%dir %{_sysconfdir}/udisks2/modules.conf.d +%endif +%{_sysconfdir}/udisks2/udisks2.conf + +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.UDisks2.conf +%{_datadir}/bash-completion/completions/udisksctl +%{_prefix}/lib/systemd/system/udisks2.service +%{_prefix}/lib/udev/rules.d/80-udisks2.rules +%{_sbindir}/umount.udisks2 + +%dir %{_prefix}/lib/udisks2 +%{_libexecdir}/udisks2/udisksd + +%{_bindir}/udisksctl + +%{_mandir}/man1/udisksctl.1* +%{_mandir}/man5/udisks2.conf.5* +%{_mandir}/man8/udisksd.8* +%{_mandir}/man8/udisks.8* +%{_mandir}/man8/umount.udisks2.8* + +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.policy +%{_datadir}/dbus-1/system-services/org.freedesktop.UDisks2.service + +# Permissions for local state data are 0700 to avoid leaking information +# about e.g. mounts to unprivileged users +%attr(0700,root,root) %dir %{_localstatedir}/lib/udisks2 + +%files -n lib%{name} +%{_libdir}/libudisks2.so.* +%{_libdir}/girepository-1.0/UDisks-2.0.typelib + +%files -n %{name}-lvm2 +%dir %{_prefix}/lib/udisks2 +%dir %{_libdir}/udisks2 +%dir %{_libdir}/udisks2/lvm-nolocking +%dir %{_libdir}/udisks2/modules +%{_prefix}/lib/udisks2/udisks-lvm +%{_libdir}/udisks2/lvm-nolocking/lvm.conf +%{_libdir}/udisks2/modules/libudisks2_lvm2.so +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.lvm2.policy +%{_mandir}/man8/udisks-lvm.8* + +%files -n %{name}-iscsi +%dir %{_libdir}/udisks2 +%dir %{_libdir}/udisks2/modules +%{_libdir}/udisks2/modules/libudisks2_iscsi.so +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.iscsi.policy + +%files -n lib%{name}-devel +%{_libdir}/libudisks2.so +%dir %{_includedir}/udisks2 +%dir %{_includedir}/udisks2/udisks +%{_includedir}/udisks2/udisks/*.h +%{_datadir}/gir-1.0/UDisks-2.0.gir +%if %{with_gtk_doc} +%dir %{_datadir}/gtk-doc/html/udisks2 +%{_datadir}/gtk-doc/html/udisks2/* +%endif +%{_libdir}/pkgconfig/udisks2.pc + +%if %{is_fedora} +%files -n %{name}-bcache +%dir %{_libdir}/udisks2 +%dir %{_libdir}/udisks2/modules +%{_libdir}/udisks2/modules/libudisks2_bcache.so +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.bcache.policy + +%files -n %{name}-btrfs +%dir %{_libdir}/udisks2 +%dir %{_libdir}/udisks2/modules +%{_libdir}/udisks2/modules/libudisks2_btrfs.so +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.btrfs.policy + +%files -n %{name}-lsm +%dir %{_libdir}/udisks2 +%dir %{_libdir}/udisks2/modules +%dir %{_sysconfdir}/udisks2/modules.conf.d +%{_libdir}/udisks2/modules/libudisks2_lsm.so +%{_mandir}/man5/udisks2_lsm.conf.* +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.lsm.policy +%attr(0600,root,root) %{_sysconfdir}/udisks2/modules.conf.d/udisks2_lsm.conf + +%files -n %{name}-zram +%dir %{_libdir}/udisks2 +%dir %{_libdir}/udisks2/modules +%dir %{_sysconfdir}/udisks2/modules.conf.d +%{_libdir}/udisks2/modules/libudisks2_zram.so +%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.zram.policy +%{_prefix}/lib/systemd/system/zram-setup@.service +%endif + +%changelog +* Tue Mar 14 2017 Vojtech Trefny - 2.6.4-1 +- Version 2.6.4 + +* Mon Nov 14 2016 Tomas Smetana - 2.6.3-1 +- Version 2.6.3 + +* Thu Jun 16 2016 Tomas Smetana - 2.6.2-1 +- Version 2.6.2; aimed to replace udisks2 + +* Wed Apr 27 2016 Peter Hatina - 2.6.0-3 +- Add support for libblockdev-part plugin which replaces + parted calls + +* Wed Mar 16 2016 Peter Hatina - 2.6.0-2 +- Fix permissions set for storaged_lsm.conf so it is readable only by root + +* Mon Mar 14 2016 Peter Hatina - 2.6.0-1 +- Upgrade to 2.6.0 + +* Wed Feb 10 2016 Peter Hatina - 2.5.0-3 +- Package template zram-setup@.service file + +* Wed Feb 10 2016 Peter Hatina - 2.5.0-2 +- Add udisksd configuration file and its man page + +* Thu Jan 28 2016 Peter Hatina - 2.5.0-1 +- UDisks2 drop-in replacement + +* Thu Jan 21 2016 Peter Hatina - 2.4.0-3 +- Redesign subpackage dependencies +- Make GTK documentation generation configurable + +* Wed Jan 20 2016 Peter Hatina - 2.4.0-2 +- Reload udev rules and trigger events when installed + +* Wed Jan 13 2016 Peter Hatina - 2.4.0-1 +- Upgrade to 2.4.0 + +* Wed Sep 30 2015 Peter Hatina - 2.3.0-2 +- Add Fedora/RHEL package configuration options + +* Mon Sep 14 2015 Peter Hatina - 2.3.0-1 +- Change BuildRequires from pkgconfig macro to -devel packages +- Upgrade to 2.3.0 + +* Mon Aug 24 2015 Peter Hatina - 2.2.0-1 +- Upgrade to 2.2.0 + +* Fri Jul 3 2015 Peter Hatina - 2.1.1-1 +- Upgrade to 2.1.1 + +* Wed Jun 24 2015 Peter Hatina - 2.1.0-4 +- Add Requires for storaged modules + +* Wed Jun 24 2015 Peter Hatina - 2.1.0-3 +- Changes for EPEL-7 + - Lower systemd required version to 208 + - Rewrite BuildRequires for systemd-devel + +* Fri Jun 19 2015 Fedora Release Engineering - 2.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jun 11 2015 Peter Hatina - 2.1.0-1 +- Update to upstream 2.1.0 + +* Thu Apr 02 2015 Peter Hatina - 2.0.0-1 +- Rebase to the new Storaged implementation +- Upstream: https://storaged.org + +* Tue Sep 16 2014 Stef Walter - 0.3.1-1 +- Update to upstream 0.3.1 + +* Mon Aug 18 2014 Fedora Release Engineering - 0.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 0.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 08 2014 Patrick Uiterwijk - 0.3.0-1 +- Update to upstream 0.3.0 + +* Fri Jan 31 2014 Patrick Uiterwijk - 0.2.0-1 +- Update to upstream 0.2.0 + +* Thu Jan 16 2014 Patrick Uiterwijk - 0.1.0-2 +- Removed double systemd BuildRequire +- Rewritten summary and description + +* Sun Jan 12 2014 Patrick Uiterwijk - 0.1.0-1 +- Rename from udisks2-lvm From 8041e64080ab7e12ff40705048c6eac2b9b3a59c Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Mon, 15 May 2017 13:57:00 +0200 Subject: [PATCH 2/5] Update to 2.6.5 --- .gitignore | 1 + sources | 2 +- udisks2.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 27e6501..1530268 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /udisks-2.6.4.tar.bz2 +/udisks-2.6.5.tar.bz2 diff --git a/sources b/sources index 391e3b7..b1252b8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (udisks-2.6.4.tar.bz2) = 6e9deed885daae2bed27dac414b402c75e0e97151ac1d616235e1ff4609833fdc34031a3cafbcb939de8cd3f9d3ecf8e4ea20b5f6447fcc45202af5797f31eb2 +SHA512 (udisks-2.6.5.tar.bz2) = 19e375aebe63d85c036d231c78dc3d7fb9511da71415e60109da12d7b7c6a687be065e3b98545691d99573cc017c9f964d2dec5301919cce6937fd8c1709b9d5 diff --git a/udisks2.spec b/udisks2.spec index b96ca49..c15e7b9 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -15,7 +15,7 @@ Name: udisks2 Summary: Disk Manager -Version: 2.6.4 +Version: 2.6.5 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries @@ -329,6 +329,9 @@ systemctl try-restart udisks2 %endif %changelog +* Mon May 15 2017 Vojtech Trefny - 2.6.5-1 +- Version 2.6.5 + * Tue Mar 14 2017 Vojtech Trefny - 2.6.4-1 - Version 2.6.4 From 918d28fd93bf0a9ef1e6aef3863b28aa1b922c21 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Mon, 19 Jun 2017 09:49:29 +0200 Subject: [PATCH 3/5] Fix how UDisksClient filters property changes --- ...s-2.6.5-fix-changed-signal-filtering.patch | 35 +++++++++++++++++++ udisks2.spec | 7 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 udisks-2.6.5-fix-changed-signal-filtering.patch diff --git a/udisks-2.6.5-fix-changed-signal-filtering.patch b/udisks-2.6.5-fix-changed-signal-filtering.patch new file mode 100644 index 0000000..271a39c --- /dev/null +++ b/udisks-2.6.5-fix-changed-signal-filtering.patch @@ -0,0 +1,35 @@ +From 192a17d1a89d098a8df7e8b6d1e23c1005597fd5 Mon Sep 17 00:00:00 2001 +From: Vratislav Podzimek +Date: Fri, 16 Jun 2017 11:59:57 +0200 +Subject: [PATCH] Fix how UDisksClient filters property changes + +The value returned from g_strcmp0() is not a boolean. And a +GVariantIter has to be initialized before use. +--- + udisks/udisksclient.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/udisks/udisksclient.c b/udisks/udisksclient.c +index ae9364d6..e2cd9a38 100644 +--- a/udisks/udisksclient.c ++++ b/udisks/udisksclient.c +@@ -1566,14 +1566,15 @@ on_interface_proxy_properties_changed (GDBusObjectManagerClient *manager, + UDisksClient *client = UDISKS_CLIENT (user_data); + UDisksClientClass *client_class = UDISKS_CLIENT_GET_CLASS (client); + +- GVariantIter *iter = NULL; +- const gchar *property_name = NULL; ++ GVariantIter iter; ++ gchar *property_name = NULL; + + /* never emit the change signal for Job objects */ +- if (g_strcmp0 (g_dbus_proxy_get_interface_name (interface_proxy), "org.freedesktop.UDisks2.Drive.Job")) ++ if (g_strcmp0 (g_dbus_proxy_get_interface_name (interface_proxy), "org.freedesktop.UDisks2.Drive.Job") == 0) + return; + +- while (g_variant_iter_next (iter, "{&sv}", &property_name, NULL)) ++ g_variant_iter_init (&iter, changed_properties); ++ while (g_variant_iter_next (&iter, "{&sv}", &property_name, NULL)) + { + if (! g_hash_table_contains (client_class->changed_blacklist, property_name)) + { diff --git a/udisks2.spec b/udisks2.spec index c15e7b9..f3ee127 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -16,11 +16,12 @@ Name: udisks2 Summary: Disk Manager Version: 2.6.5 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Libraries 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.6.5-fix-changed-signal-filtering.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -188,6 +189,7 @@ This package contains module for ZRAM configuration. %prep %setup -q -n udisks-%{version} +%patch0 -p1 %build autoreconf -ivf @@ -329,6 +331,9 @@ systemctl try-restart udisks2 %endif %changelog +* Mon Jun 19 2017 Vojtech Trefny - 2.6.5-2 +- Fix how UDisksClient filters property changes + * Mon May 15 2017 Vojtech Trefny - 2.6.5-1 - Version 2.6.5 From 163d991fc1ef79ccdcbe3562d23f8c09a0fe0157 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Tue, 20 Jun 2017 10:35:46 +0200 Subject: [PATCH 4/5] Do not try to remove changed_blacklist hash table in finalize --- ...y-remove-changed_blacklist-hashtable.patch | 37 +++++++++++++++++++ udisks2.spec | 7 +++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 udisks-2.6.5-do-not-try-remove-changed_blacklist-hashtable.patch diff --git a/udisks-2.6.5-do-not-try-remove-changed_blacklist-hashtable.patch b/udisks-2.6.5-do-not-try-remove-changed_blacklist-hashtable.patch new file mode 100644 index 0000000..2ead3b4 --- /dev/null +++ b/udisks-2.6.5-do-not-try-remove-changed_blacklist-hashtable.patch @@ -0,0 +1,37 @@ +From c6fab8ce4149496eb03205f7ce5fe15ca72c8bb7 Mon Sep 17 00:00:00 2001 +From: Vojtech Trefny +Date: Mon, 19 Jun 2017 13:37:16 +0200 +Subject: [PATCH] UDisksClient: Do not try remove changed_blacklist hash table + in finalize + +"changed_blacklist" table is a class member and we really don't +want to destroy it when destroying one instance of the UDisksClient. +--- + udisks/udisksclient.c | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/udisks/udisksclient.c b/udisks/udisksclient.c +index e2cd9a38..e961c655 100644 +--- a/udisks/udisksclient.c ++++ b/udisks/udisksclient.c +@@ -127,7 +127,6 @@ static void + udisks_client_finalize (GObject *object) + { + UDisksClient *client = UDISKS_CLIENT (object); +- UDisksClientClass *client_class = UDISKS_CLIENT_GET_CLASS (client); + + if (client->changed_timeout_source != NULL) + g_source_destroy (client->changed_timeout_source); +@@ -135,12 +134,6 @@ udisks_client_finalize (GObject *object) + if (client->initialization_error != NULL) + g_clear_error (&(client->initialization_error)); + +- if (client_class->changed_blacklist != NULL) +- { +- g_hash_table_destroy (client_class->changed_blacklist); +- client_class->changed_blacklist = NULL; +- } +- + /* might be NULL if failing early in the constructor */ + if (client->object_manager != NULL) + { diff --git a/udisks2.spec b/udisks2.spec index f3ee127..d66fb5b 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -16,12 +16,13 @@ Name: udisks2 Summary: Disk Manager Version: 2.6.5 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ Group: System Environment/Libraries 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.6.5-fix-changed-signal-filtering.patch +Patch1: udisks-2.6.5-do-not-try-remove-changed_blacklist-hashtable.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -190,6 +191,7 @@ This package contains module for ZRAM configuration. %prep %setup -q -n udisks-%{version} %patch0 -p1 +%patch1 -p1 %build autoreconf -ivf @@ -331,6 +333,9 @@ systemctl try-restart udisks2 %endif %changelog +* Tue Jun 20 2017 Vojtech Trefny - 2.6.5-3 +- Do not try to remove changed_blacklist hash table in finalize + * Mon Jun 19 2017 Vojtech Trefny - 2.6.5-2 - Fix how UDisksClient filters property changes From ed422951e35a9d933ac993be094e7f2f639ea1c8 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Mon, 4 Dec 2017 14:57:27 +0100 Subject: [PATCH 5/5] Always try to read configuration from crypttab in handle_unlock --- udisks-2.6.5-fix-crypttab-name-open.patch | 60 +++++++++++++++++++++++ udisks2.spec | 7 ++- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 udisks-2.6.5-fix-crypttab-name-open.patch diff --git a/udisks-2.6.5-fix-crypttab-name-open.patch b/udisks-2.6.5-fix-crypttab-name-open.patch new file mode 100644 index 0000000..c6ff16e --- /dev/null +++ b/udisks-2.6.5-fix-crypttab-name-open.patch @@ -0,0 +1,60 @@ +From fe99b1f8e790e0f4c466ad027a9d1a017b842d01 Mon Sep 17 00:00:00 2001 +From: Vojtech Trefny +Date: Mon, 4 Dec 2017 14:53:14 +0100 +Subject: [PATCH] Always try to read configuration from crypttab in + handle_unlock + +Even if we have passphrase from user, we still need to check +crypttab for name and options. +--- + src/udiskslinuxencrypted.c | 27 ++++++++++++++------------- + 1 file changed, 14 insertions(+), 13 deletions(-) + +diff --git a/src/udiskslinuxencrypted.c b/src/udiskslinuxencrypted.c +index 5789eff..16a404d 100644 +--- a/src/udiskslinuxencrypted.c ++++ b/src/udiskslinuxencrypted.c +@@ -325,6 +325,20 @@ handle_unlock (UDisksEncrypted *encrypted, + goto out; + } + ++ /* check if in crypttab file */ ++ error = NULL; ++ if (!check_crypttab (block, ++ TRUE, ++ &is_in_crypttab, ++ &crypttab_name, ++ &crypttab_passphrase, ++ &crypttab_options, ++ &error)) ++ { ++ g_dbus_method_invocation_take_error (invocation, error); ++ goto out; ++ } ++ + /* we need the uid of the caller for the unlocked-luks file */ + error = NULL; + if (!udisks_daemon_util_get_caller_uid_sync (daemon, invocation, NULL /* GCancellable */, &caller_uid, NULL, NULL, &error)) +@@ -345,19 +359,6 @@ handle_unlock (UDisksEncrypted *encrypted, + } + else + { +- /* check if in crypttab file */ +- error = NULL; +- if (!check_crypttab (block, +- TRUE, +- &is_in_crypttab, +- &crypttab_name, +- &crypttab_passphrase, +- &crypttab_options, +- &error)) +- { +- g_dbus_method_invocation_take_error (invocation, error); +- goto out; +- } + if (is_in_crypttab && crypttab_passphrase != NULL && strlen (crypttab_passphrase) > 0) + { + effective_passphrase = g_string_new (crypttab_passphrase); +-- +1.8.3.1 + diff --git a/udisks2.spec b/udisks2.spec index d66fb5b..3862290 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -16,13 +16,14 @@ Name: udisks2 Summary: Disk Manager Version: 2.6.5 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: System Environment/Libraries 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.6.5-fix-changed-signal-filtering.patch Patch1: udisks-2.6.5-do-not-try-remove-changed_blacklist-hashtable.patch +Patch2: udisks-2.6.5-fix-crypttab-name-open.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -192,6 +193,7 @@ This package contains module for ZRAM configuration. %setup -q -n udisks-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build autoreconf -ivf @@ -333,6 +335,9 @@ systemctl try-restart udisks2 %endif %changelog +* Mon Dec 04 2017 Vojtech Trefny - 2.6.5-4 +- Always try to read configuration from crypttab in handle_unlock + * Tue Jun 20 2017 Vojtech Trefny - 2.6.5-3 - Do not try to remove changed_blacklist hash table in finalize