%define major 0 %define libname %mklibname %{name}_ %{major} %define girname %mklibname udisks-gir 2.0 %define develname %mklibname %name -d %global libblockdev_version 3.0 %define with_btrfs 1 %define with_lsm 1 %define with_open_iscsi 0 Summary: Disk Manager Name: udisks2 Version: 2.10.1 Release: %mkrel 1 License: GPL-2.0-or-later Group: System/Libraries URL: https://github.com/storaged-project/udisks Source0: %{url}/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2 # From Debian: # https://anonscm.debian.org/cgit/pkg-utopia/udisks2.git/tree/debian/local/udisks2-inhibit Source1: udisks2-inhibit Patch0: udisks-2.11.0-BLKRRPART_harder.patch Patch1: udisks-2.11.0-targetcli_config.json_netif_timeout.patch Patch2: udisks-2.11.0-udiskslinuxmanager_use_after_free.patch # mga#26396 Patch10: udisks-2.10.1-exfat-drop-namecase-option.patch BuildRequires: pkgconfig(gio-unix-2.0) >= 2.31.13 BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.68 BuildRequires: pkgconfig(gudev-1.0) >= 208 BuildRequires: pkgconfig(libatasmart) >= 0.17 BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(polkit-gobject-1) >= 0.102 BuildRequires: pkgconfig(polkit-agent-1) >= 0.102 BuildRequires: pkgconfig(mount) BuildRequires: pkgconfig(uuid) # libblockdev builddeps BuildRequires: pkgconfig(blockdev) >= %{libblockdev_version} BuildRequires: libblockdev-devel >= %{libblockdev_version} BuildRequires: libblockdev-part-devel >= %{libblockdev_version} BuildRequires: libblockdev-loop-devel >= %{libblockdev_version} BuildRequires: libblockdev-swap-devel >= %{libblockdev_version} 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: intltool BuildRequires: gobject-introspection-devel BuildRequires: gtk-doc >= 1.3 # needed to pull in the system bus daemon Requires: dbus >= 1.4.0 # needed to pull in the udev daemon Requires: udev >= 173 # 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: ntfs-3g # for partitioning Requires: parted Requires: gdisk # for LUKS devices Requires: cryptsetup-luks # for libblockdev + "plugins" Requires: %{mklibname blockdev 3} >= %{libblockdev_version} Requires: %{mklibname bd_part 3} >= %{libblockdev_version} Requires: %{mklibname bd_loop 3} >= %{libblockdev_version} Requires: %{mklibname bd_swap 3} >= %{libblockdev_version} Requires: %{mklibname bd_mdraid 3} >= %{libblockdev_version} Requires: %{mklibname bd_fs 3} >= %{libblockdev_version} Requires: %{mklibname bd_crypto 3} >= %{libblockdev_version} Requires: %{mklibname bd_nvme 3} >= %{libblockdev_version} # For exfat Recommends: exfatprogs # For UDF Recommends: udftools # Not really needed but doesn't make much sense to use UDisks without polkit # (weak deps don't work on older versions of RHEL) Recommends: polkit %{?systemd_requires} Provides: storaged = %{version}-%{release} Obsoletes: storaged %description udisks provides a daemon, D-Bus API and command line tools for managing disks and storage devices. This package is for the udisks 2.x series. %package -n %{libname} Summary: Dynamic library to access the udisks daemon Group: System/Libraries License: LGPL-2.0-or-later %description -n %{libname} This package contains the dynamic library libudisks2, which provides access to the udisks daemon. This package is for the udisks 2.x series. %package -n %{girname} Summary: GObject Introspection interface description for %name Group: System/Libraries License: LGPL-2.0-or-later Requires: %{libname} = %{version} %description -n %{girname} GObject Introspection interface description for %{name}. %if 0%{with_open_iscsi} %package -n %{name}-iscsi Summary: Module for iSCSI Group: System/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} License: LGPL-2.0-or-later Requires: open-iscsi BuildRequires: iscsi-initiator-utils-devel %description -n %{name}-iscsi This package contains module for iSCSI configuration. %endif %package -n %{name}-lvm2 Summary: Module for LVM2 Group: System/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} License: LGPL-2.0-or-later Requires: lvm2 Requires: %{mklibname bd_lvm 3} >= %{libblockdev_version} BuildRequires: libblockdev-lvm-devel >= %{libblockdev_version} %description -n %{name}-lvm2 This package contains module for LVM2 configuration. %package -n %{develname} Summary: Development files for libudev Group: Development/C License: LGPL-2.0-or-later Requires: %{libname} = %{version}-%{release} Requires: %{girname} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{develname} This package contains the development files for the library lib%{name}, a dynamic library, which provides access to the udisksd daemon. %if 0%{?with_btrfs} %package -n %{name}-btrfs Summary: Module for BTRFS Group: System/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} License: LGPL-2.0-or-later Requires: %{mklibname bd_btrfs 3} >= %{libblockdev_version} BuildRequires: libblockdev-btrfs-devel >= %{libblockdev_version} %description -n %{name}-btrfs This package contains module for BTRFS configuration. %endif %if 0%{?with_lsm} %package -n %{name}-lsm Summary: Module for LSM Group: System/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} License: LGPL-2.0-or-later Requires: libstoragemgmt BuildRequires: libstoragemgmt-devel BuildRequires: libconfig-devel %description -n %{name}-lsm This package contains module for LSM configuration. %endif %prep %autosetup -n udisks-%{version} -p1 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/' %build # modules need to be explicitly enabled %configure \ --enable-gtk-doc \ --disable-static \ --with-systemdsystemunitdir=%{_unitdir} \ %if 0%{?with_btrfs} --enable-btrfs \ %endif %if 0%{?with_lsm} --enable-lsm \ %endif %if 0%{with_open_iscsi} --enable-iscsi \ %endif --enable-lvm2 %make_build %install mkdir -p %buildroot%{_localstatedir}/lib/%{name} %make_install mkdir -p %{buildroot}%{_sysconfdir}/udisks2/modules.conf.d #install udisks2-inhibit install -pm 0755 %{_sourcedir}/udisks2-inhibit \ %{buildroot}%{_libexecdir}/udisks2/udisks2-inhibit # symlink to old location until things are fixed... mkdir -p %{buildroot}%{_prefix}/lib/udisks2 ln -sr %{buildroot}%{_libexecdir}/udisks2/udisks2-inhibit \ %{buildroot}%{_prefix}/lib/udisks2/udisks2-inhibit #we don't want these find %{buildroot} -name '*.la' -delete %find_lang udisks2 %post -n %{name} %_post_service udisks2 # skip retriggering if udevd isn't even accessible, e.g. containers or # rpm-ostree-based systems if [ -S /run/udev/control ]; then udevadm control --reload udevadm trigger fi %preun -n %{name} %_preun_service udisks2 %postun -n %{name} %systemd_postun_with_restart udisks2.service %files -f udisks2.lang %doc README.md AUTHORS NEWS HACKING %license COPYING %dir %{_sysconfdir}/udisks2 %dir %{_sysconfdir}/udisks2/modules.conf.d %{_sysconfdir}/udisks2/udisks2.conf %{_sysconfdir}/udisks2/mount_options.conf.example %{_datadir}/dbus-1/system.d/org.freedesktop.UDisks2.conf %{_datadir}/bash-completion/completions/udisksctl %{_datadir}/zsh/site-functions/_udisks2 %{_tmpfilesdir}/%{name}.conf %{_unitdir}/udisks2.service %{_udevrulesdir}/80-udisks2.rules %dir %{_prefix}/lib/udisks2/ %{_prefix}/lib/udisks2/udisks2-inhibit %{_sbindir}/umount.udisks2 %dir %{_libexecdir}/udisks2 %{_libexecdir}/udisks2/udisksd %{_libexecdir}/udisks2/udisks2-inhibit %{_bindir}/udisksctl %{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man8/* %{_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 %libname %license COPYING %{_libdir}/libudisks2.so.%{major}{,.*} %files -n %girname %{_libdir}/girepository-1.0/UDisks-2.0.typelib %files -n %{name}-lvm2 %{_libdir}/udisks2/modules/libudisks2_lvm2.so %{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.lvm2.policy %if 0%{with_open_iscsi} %files -n %{name}-iscsi %{_libdir}/udisks2/modules/libudisks2_iscsi.so %{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.iscsi.policy %endif %files -n %develname %{_libdir}/libudisks2.so %dir %{_includedir}/udisks2 %dir %{_includedir}/udisks2/udisks %{_includedir}/udisks2/udisks/*.h %{_datadir}/gir-1.0/UDisks-2.0.gir %dir %{_datadir}/gtk-doc/html/udisks2 %{_datadir}/gtk-doc/html/udisks2/* %{_libdir}/pkgconfig/udisks2.pc %{_libdir}/pkgconfig/udisks2-lvm2.pc %if 0%{with_open_iscsi} %{_libdir}/pkgconfig/udisks2-iscsi.pc %endif %if 0%{?with_btrfs} %{_libdir}/pkgconfig/udisks2-btrfs.pc %endif %if 0%{?with_lsm} %{_libdir}/pkgconfig/udisks2-lsm.pc %endif %if 0%{?with_btrfs} %files -n %{name}-btrfs %{_libdir}/udisks2/modules/libudisks2_btrfs.so %{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.btrfs.policy %endif %if 0%{?with_lsm} %files -n %{name}-lsm %{_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 %endif %changelog * Wed Feb 21 2024 daviddavid <daviddavid> 2.10.1-1.mga10 + Revision: 2042761 - new version: 2.10.1 (based partially on fedora) - bcache, lvmcache, vdo and zram support were removed - use our systemd macros - udiskslinuxblockobject: Try issuing BLKRRPART ioctl harder - udiskslinuxmanager: Fix use after free - tests: Fix targetcli_config.json - rebuild for new libblockdev 3.0.4 * Tue Apr 05 2022 umeabot <umeabot> 2.9.4-3.mga9 + Revision: 1845415 - Mageia 9 Mass Rebuild * Sat Mar 05 2022 tv <tv> 2.9.4-2.mga9 + Revision: 1789101 - Fix gtk-doc annotations - ntfs-3g provides ntfsprogs * Tue Oct 12 2021 tv <tv> 2.9.4-1.mga9 + Revision: 1750658 - Version 2.9.4 - Fixes CVE-2021-3802 (#2003650) * Thu Aug 05 2021 tv <tv> 2.9.3-1.mga9 + Revision: 1739541 - Version 2.9.3 * Thu May 13 2021 tv <tv> 2.9.2-3.mga9 + Revision: 1722662 - Fix a couple of issues found by Coverity - Ignore systemd "Extended Boot Loader" GPT partition * Sun Mar 28 2021 tv <tv> 2.9.2-2.mga9 + Revision: 1711290 - Fix FAT mkfs with dosfstools >= 4.2 - udiskslinuxdriveata: Use GTask to apply configuration in a thread - Limit allowed module names - 80-udisks2.rules: Ignore Apple boot partition from livecd-tools - 2.9.2 * Mon Jan 25 2021 neoclust <neoclust> 2.9.1-4.mga8 + Revision: 1673289 - Disable iscsi support - Build against new libiscsi * Wed Nov 18 2020 tv <tv> 2.9.1-1.mga8 + Revision: 1647335 - 2.9.1 * Tue Sep 08 2020 tv <tv> 2.8.4-7.mga8 + Revision: 1623571 - enable bcache & libstoragemgmt * Sat Apr 04 2020 tmb <tmb> 2.8.4-6.mga8 + Revision: 1564370 - exfat: dont use non-existing namecase option (mga#26396) * Fri Mar 27 2020 tv <tv> 2.8.4-5.mga8 + Revision: 1561056 - obsolete storaged * Sat Feb 29 2020 tv <tv> 2.8.4-4.mga8 + Revision: 1552179 - rebuild for new libisci * Tue Feb 18 2020 umeabot <umeabot> 2.8.4-3.mga8 + Revision: 1538637 - Mageia 8 Mass Rebuild + wally <wally> - replace deprecated %%configure2_5x * Mon Nov 25 2019 tv <tv> 2.8.4-2.mga8 + Revision: 1462724 - re-trigger udev on update - add postun for zram-setup & clean-mount-point - 2.8.4 * Wed Apr 10 2019 ngompa <ngompa> 2.8.2-1.mga7 + Revision: 1387915 - New version 2.8.2 - Revamp spec file to build and package new storaged/udisks2 properly + zezinho <zezinho> - new version 2.8.1 * Sun Sep 23 2018 umeabot <umeabot> 2.1.8-3.mga7 + Revision: 1301494 - Mageia 7 Mass Rebuild * Mon Feb 06 2017 wally <wally> 2.1.8-2.mga6 + Revision: 1085032 - add udisks2-inhibit script from Debian (mga#20247) * Sun Jan 01 2017 luigiwalser <luigiwalser> 2.1.8-1.mga6 + Revision: 1078995 - 2.1.8 * Tue Jun 07 2016 tv <tv> 2.1.7-2.mga6 + Revision: 1020637 - adjust BRs for latest systemd * Mon May 09 2016 luigiwalser <luigiwalser> 2.1.7-1.mga6 + Revision: 1011596 - 2.1.7 * Fri Feb 12 2016 umeabot <umeabot> 2.1.6-2.mga6 + Revision: 959087 - Mageia 6 Mass Rebuild * Sun Sep 06 2015 fwang <fwang> 2.1.6-1.mga6 + Revision: 873370 - drop unused patch - fix correct dir - 2.1.6 * Mon Jun 29 2015 wally <wally> 2.1.5-2.mga6 + Revision: 847865 - add requires for gir pkg to devel pkg * Sun Jun 21 2015 ovitters <ovitters> 2.1.5-1.mga6 + Revision: 837816 - new version 2.1.5 - dropped merged patch 2 * Tue Jan 27 2015 luigiwalser <luigiwalser> 2.1.4-2.mga5 + Revision: 812475 - add upstream patch to fix fdo#77134 * Fri Dec 19 2014 luigiwalser <luigiwalser> 2.1.4-1.mga5 + Revision: 804313 - 2.1.4 - rediff linking patch * Wed Oct 15 2014 umeabot <umeabot> 2.1.3-5.mga5 + Revision: 746829 - Second Mageia 5 Mass Rebuild * Fri Sep 26 2014 wally <wally> 2.1.3-4.mga5 + Revision: 724968 - rebuild with new rpm-mageia-setup to generate requires for .typelib files * Tue Sep 16 2014 umeabot <umeabot> 2.1.3-3.mga5 + Revision: 690017 - Mageia 5 Mass Rebuild * Thu Sep 04 2014 colin <colin> 2.1.3-2.mga5 + Revision: 671855 - Rebuild for new systemd * Mon Mar 10 2014 luigiwalser <luigiwalser> 2.1.3-1.mga5 + Revision: 601767 - 2.1.3 (fixes CVE-2014-0004) * Fri Jan 17 2014 luigiwalser <luigiwalser> 2.1.2-1.mga5 + Revision: 566767 - 2.1.2 * Sat Oct 19 2013 umeabot <umeabot> 2.1.1-2.mga4 + Revision: 532575 - Mageia 4 Mass Rebuild * Wed Aug 21 2013 fwang <fwang> 2.1.1-1.mga4 + Revision: 468701 - new version 2.1.1 * Sat May 25 2013 ovitters <ovitters> 2.1.0-1.mga4 + Revision: 427397 - new version 2.1.0 * Mon Jan 14 2013 umeabot <umeabot> 2.0.1-2.mga3 + Revision: 384964 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Thu Jan 03 2013 luigiwalser <luigiwalser> 2.0.1-1.mga3 + Revision: 338315 - 2.0.1 * Sun Oct 14 2012 tv <tv> 2.0.0-1.mga3 + Revision: 305288 - further adjust file list - adjus file list - new release * Sat Jul 28 2012 fwang <fwang> 1.99.0-1.mga3 + Revision: 275127 - update file list - update file list - new version 1.99.0 * Mon Jun 11 2012 fwang <fwang> 1.98.0-2.mga3 + Revision: 259712 - use systemd login * Mon Jun 11 2012 fwang <fwang> 1.98.0-1.mga3 + Revision: 259707 - use correct dirname - fix install - new verison 1.98.0 * Tue May 29 2012 fwang <fwang> 1.97.0-1.mga3 + Revision: 248924 - new version 1.97.0 * Sat Apr 28 2012 tmb <tmb> 1.93.0-2.mga2 + Revision: 233889 - Require rpm-helper >= 0.24.8-1 for systemd support * Mon Mar 19 2012 colin <colin> 1.93.0-1.mga2 + Revision: 224510 - New version: 1.93.0 (SSD + misc small fixes) * Sun Feb 26 2012 colin <colin> 1.92.0-2.mga2 + Revision: 215403 - Include systemd unit (mga#4704) * Sat Feb 25 2012 fwang <fwang> 1.92.0-1.mga2 + Revision: 214313 - update file list - update file list - br gettext - use gnome-autogen - br gnoem-common - fix linkage - add upstream patch to fix program calling path, hope it could fix bug#4382 * Sun Jan 22 2012 fwang <fwang> 1.90.0-2.mga2 + Revision: 199518 - fix typo - correct libname * Sun Jan 22 2012 fwang <fwang> 1.90.0-1.mga2 + Revision: 199506 - fix typo - imported package udisks2