diff --git a/.gitignore b/.gitignore index 7e47219..9b451cd 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,20 @@ /udisks-2.7.4.tar.bz2 /udisks-2.7.5.tar.bz2 /udisks-2.7.6.tar.bz2 +/udisks-2.7.7.tar.bz2 +/udisks-2.8.0.tar.bz2 +/udisks-2.8.1.tar.bz2 +/udisks-2.8.2.tar.bz2 +/udisks-2.8.4.tar.bz2 +/udisks-2.9.0.tar.bz2 +/udisks-2.9.1.tar.bz2 +/udisks-2.9.2.tar.bz2 +/udisks-2.9.3.tar.bz2 +/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 diff --git a/sources b/sources index a1039d7..e41b09d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (udisks-2.7.6.tar.bz2) = 29df238c6648700e8a18659ecb099baf4cdd811540856a5298439a88cffeee40ae8deb2fc312375913333dbe92fbc55131389f958a8b80efd5b2fdb5b3f11ec7 +SHA512 (udisks-2.11.2.tar.bz2) = 3996ac935cb330eb7f286f25a716da52ca374b14cc7b4f2e60a7e4b0b0745559607fa8c6d1e96e777b44eb8e07eb16e1ad6bc00b3051adea14e865df3efa2662 diff --git a/udisks2.spec b/udisks2.spec index 97fbf47..0d1136b 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -1,37 +1,47 @@ -%global glib2_version 2.36 +%global glib2_version 2.68 %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 2.14 +%global libblockdev_version 3.4 + +%define with_btrfs 1 +%ifnarch %{ix86} +%define with_lsm 1 +%endif %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') +# btrfs is not available on RHEL +%if 0%{?rhel} +%define with_btrfs 0 +%endif + + Name: udisks2 Summary: Disk Manager -Version: 2.7.6 +Version: 2.11.2 Release: 1%{?dist} -License: GPLv2+ -Group: System Environment/Libraries +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 +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} -BuildRequires: gnome-common +BuildRequires: systemd-rpm-macros BuildRequires: libacl-devel BuildRequires: chrpath BuildRequires: gtk-doc -BuildRequires: intltool +BuildRequires: gettext-devel BuildRequires: redhat-rpm-config BuildRequires: libblockdev-devel >= %{libblockdev_version} BuildRequires: libblockdev-part-devel >= %{libblockdev_version} @@ -40,7 +50,10 @@ 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: libblockdev-smart-devel >= %{libblockdev_version} BuildRequires: libmount-devel +BuildRequires: libuuid-devel Requires: libblockdev >= %{libblockdev_version} Requires: libblockdev-part >= %{libblockdev_version} @@ -49,45 +62,55 @@ Requires: libblockdev-swap >= %{libblockdev_version} 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} -# Needed for the systemd-related macros used in this file -%{?systemd_requires} -BuildRequires: systemd +Requires: lib%{name}%{?_isa} = %{version}-%{release} # Needed to pull in the system bus daemon 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 -Requires: e2fsprogs +Recommends: e2fsprogs # For mkfs.xfs, xfs_admin -Requires: xfsprogs +Recommends: xfsprogs # For mkfs.vfat -Requires: dosfstools -Requires: gdisk +Recommends: dosfstools +# For exfat +Recommends: exfatprogs +# For UDF +Recommends: udftools # For ejecting removable disks -Requires: eject +Recommends: eject # For utab monitor Requires: libmount +# The actual polkit agent +Requires: polkit >= %{polkit_version} -Requires: lib%{name}%{?_isa} = %{version}-%{release} - -# For mkntfs (not available on rhel or on ppc/ppc64) -%if ! 0%{?rhel} +# For mkntfs (not available on rhel or on ppc/ppc64) and f2fs +%if %{is_fedora} +Recommends: f2fs-tools +Recommends: nilfs-utils %ifnarch ppc ppc64 -Requires: ntfsprogs +Recommends: ntfsprogs %endif %endif +Recommends: ntfs-3g + +# btrfs +%if 0%{?with_btrfs} +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 +Obsoletes: storaged < %{version}-%{release} %description The Udisks project provides a daemon, tools and libraries to access and @@ -95,10 +118,9 @@ manipulate disks, storage devices and technologies. %package -n lib%{name} Summary: Dynamic library to access the udisksd daemon -Group: System Environment/Libraries -License: LGPLv2+ +License: LGPL-2.0-or-later Provides: libstoraged = %{version}-%{release} -Obsoletes: libstoraged +Obsoletes: libstoraged < %{version}-%{release} %description -n lib%{name} This package contains the dynamic library, which provides @@ -106,119 +128,95 @@ access to the udisksd daemon. %package -n %{name}-iscsi Summary: Module for iSCSI -Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} -License: LGPLv2+ +License: LGPL-2.0-or-later Requires: iscsi-initiator-utils BuildRequires: iscsi-initiator-utils-devel Provides: storaged-iscsi = %{version}-%{release} -Obsoletes: storaged-iscsi +Obsoletes: storaged-iscsi < %{version}-%{release} %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+ +License: LGPL-2.0-or-later Requires: lvm2 Requires: libblockdev-lvm >= %{libblockdev_version} -BuildRequires: lvm2-devel BuildRequires: libblockdev-lvm-devel >= %{libblockdev_version} Provides: storaged-lvm2 = %{version}-%{release} -Obsoletes: storaged-lvm2 +Obsoletes: storaged-lvm2 < %{version}-%{release} %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+ +License: LGPL-2.0-or-later Provides: libstoraged-devel = %{version}-%{release} -Obsoletes: libstoraged-devel +Obsoletes: libstoraged-devel < %{version}-%{release} %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 >= %{libblockdev_version} -BuildRequires: libblockdev-kbd-devel >= %{libblockdev_version} -Provides: storaged-bcache = %{version}-%{release} -Obsoletes: storaged-bcache - -%description -n %{name}-bcache -This package contains module for Bcache configuration. +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 Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} -License: LGPLv2+ +License: LGPL-2.0-or-later Requires: libblockdev-btrfs >= %{libblockdev_version} BuildRequires: libblockdev-btrfs-devel >= %{libblockdev_version} Provides: storaged-btrfs = %{version}-%{release} -Obsoletes: storaged-btrfs +Obsoletes: storaged-btrfs < %{version}-%{release} %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 Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} -License: LGPLv2+ +License: LGPL-2.0-or-later Requires: libstoragemgmt BuildRequires: libstoragemgmt-devel BuildRequires: libconfig-devel Provides: storaged-lsm = %{version}-%{release} -Obsoletes: storaged-lsm +Obsoletes: storaged-lsm < %{version}-%{release} %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 >= %{libblockdev_version} -Requires: libblockdev-swap >= %{libblockdev_version} -BuildRequires: libblockdev-kbd-devel >= %{libblockdev_version} -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} +%autosetup -p1 -n udisks-%{version} +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 +# autoreconf -ivf +# modules need to be explicitly enabled %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 + --enable-smart \ +%if 0%{?with_btrfs} + --enable-btrfs \ %endif +%if 0%{?with_lsm} + --enable-lsm \ +%endif + --enable-lvm2 \ + --enable-iscsi make %{?_smp_mflags} %install @@ -227,6 +225,9 @@ make install DESTDIR=%{buildroot} rm -fr %{buildroot}/%{_datadir}/gtk-doc/html/udisks2 %endif +# not created if lsm is disabled +mkdir -p %{buildroot}%{_sysconfdir}/udisks2/modules.conf.d + find %{buildroot} -name \*.la -o -name \*.a | xargs rm chrpath --delete %{buildroot}/%{_sbindir}/umount.udisks2 @@ -237,31 +238,21 @@ chrpath --delete %{buildroot}/%{_libexecdir}/udisks2/udisksd %post -n %{name} %systemd_post udisks2.service -%systemd_post clean-mount-point@.service -udevadm control --reload -udevadm trigger +# 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} %systemd_preun udisks2.service -%systemd_preun clean-mount-point@.service %postun -n %{name} %systemd_postun_with_restart udisks2.service -%systemd_postun clean-mount-point@.service %ldconfig_scriptlets -n lib%{name} -%if %{is_fedora} -%post -n %{name}-zram -%systemd_post zram-setup@.service - -%preun -n %{name}-zram -%systemd_preun zram-setup@.service - -%postun -n %{name}-zram -%systemd_postun zram-setup@.service -%endif - %files -f udisks2.lang %doc README.md AUTHORS NEWS HACKING %license COPYING @@ -271,11 +262,13 @@ udevadm trigger %dir %{_sysconfdir}/udisks2/modules.conf.d %endif %{_sysconfdir}/udisks2/udisks2.conf +%{_sysconfdir}/udisks2/mount_options.conf.example -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.UDisks2.conf +%{_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 -%{_unitdir}/clean-mount-point@.service %{_udevrulesdir}/80-udisks2.rules %{_sbindir}/umount.udisks2 @@ -323,31 +316,199 @@ udevadm trigger %{_datadir}/gtk-doc/html/udisks2/* %endif %{_libdir}/pkgconfig/udisks2.pc +%{_libdir}/pkgconfig/udisks2-lvm2.pc +%{_libdir}/pkgconfig/udisks2-iscsi.pc +%if 0%{?with_btrfs} +%{_libdir}/pkgconfig/udisks2-btrfs.pc +%endif +%if 0%{?with_lsm} +%{_libdir}/pkgconfig/udisks2-lsm.pc +%endif -%if %{is_fedora} -%files -n %{name}-bcache -%{_libdir}/udisks2/modules/libudisks2_bcache.so -%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.bcache.policy - +%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 %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 %{_sysconfdir}/udisks2/modules.conf.d -%{_libdir}/udisks2/modules/libudisks2_zram.so -%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.zram.policy -%{_unitdir}/zram-setup@.service %endif %changelog +* Thu Aug 06 2026 Tomas Bzatek - 2.11.2-1 +- Version 2.11.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 +- 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 + +* Fri Mar 01 2024 Tomas Bzatek - 2.10.1-5 +- udiskslinuxblock: Survive a missing /etc/fstab (#2264922) + +* Mon Feb 12 2024 Tomas Bzatek - 2.10.1-4 +- Use SPDX license tags for subpackages + +* Mon Feb 12 2024 Tomas Bzatek - 2.10.1-3 +- Use a SPDX license tag +- udiskslinuxblockobject: Try issuing BLKRRPART ioctl harder +- udiskslinuxmanager: Fix use after free +- tests: Fix targetcli_config.json + +* Sat Jan 27 2024 Fedora Release Engineering - 2.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Sep 07 2023 Tomas Bzatek - 2.10.1-1 +- Version 2.10.1 +- Default to ntfs-3g for stability reasons (#2182206) +- Use Recommends: for filesystem tools (#2169848) + +* Sat Jul 22 2023 Fedora Release Engineering - 2.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 29 2023 Tomas Bzatek - 2.10.0-1 +- Version 2.10.0 + +* Sat Jan 21 2023 Fedora Release Engineering - 2.9.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.9.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Mar 03 2022 Tomas Bzatek - 2.9.4-4 +- Fix gtk-doc annotations + +* Thu Mar 03 2022 Tomas Bzatek - 2.9.4-3 +- Require ntfs-3g (#2058506) + +* Sat Jan 22 2022 Fedora Release Engineering - 2.9.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 04 2021 Tomas Bzatek - 2.9.4-1 +- Version 2.9.4 +- Fixes CVE-2021-3802 (#2003650) + +* Thu Aug 05 2021 Tomas Bzatek - 2.9.3-1 +- Version 2.9.3 + +* Fri Jul 23 2021 Fedora Release Engineering - 2.9.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 18 2021 Tomas Bzatek - 2.9.2-5 +- Switch the default encryption to LUKS2 + +* Mon Apr 19 2021 Tomas Bzatek - 2.9.2-4 +- Fix a couple of issues found by Coverity +- Ignore systemd "Extended Boot Loader" GPT partition + +* Fri Mar 26 2021 Tomas Bzatek - 2.9.2-3 +- 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 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.9.2-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Thu Feb 04 2021 Tomas Bzatek - 2.9.2-1 +- Version 2.9.2 + +* Wed Jan 27 2021 Fedora Release Engineering - 2.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Sep 07 2020 Neal Gompa - 2.9.1-2 +- Fix conditional around polkit Recommends for building on EL7 + +* Wed Aug 12 2020 Tomas Bzatek - 2.9.1-1 +- Version 2.9.1 +- Renamed zram-setup@.service to udisks2-zram-setup@.service + +* Wed Jul 29 2020 Fedora Release Engineering - 2.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Tomas Bzatek - 2.9.0-1 +- Version 2.9.0 + +* Fri Jan 31 2020 Fedora Release Engineering - 2.8.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 01 2019 Jonathan Lebon - 2.8.4-3 +- Don't trigger udev if socket is not accessible + +* Sat Jul 27 2019 Fedora Release Engineering - 2.8.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 22 2019 Tomas Bzatek - 2.8.4-1 +- Version 2.8.4 + +* Thu Jun 13 2019 Tomas Bzatek - 2.8.3-1 +- Version 2.8.3 + +* Fri Mar 15 2019 Debarshi Ray - 2.8.2-2 +- Update for tmpfiles.d snippet + +* Mon Mar 04 2019 Tomas Bzatek - 2.8.2-1 +- Version 2.8.2 + +* Sun Feb 03 2019 Fedora Release Engineering - 2.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Sep 26 2018 Vojtech Trefny - 2.8.1-1 +- Version 2.8.1 + +* Fri Sep 14 2018 Adam Williamson - 2.8.0-2 +- Backport PR #576 to fix udev multipath device check (see RHBZ#1628192) + +* Mon Aug 13 2018 Tomas Bzatek - 2.8.0-1 +- Version 2.8.0 + +* Tue Jul 24 2018 Adam Williamson - 2.7.7-3 +- Rebuild for new libconfig + +* Sat Jul 14 2018 Fedora Release Engineering - 2.7.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 04 2018 Vojtech Trefny - 2.7.7-1 +- Version 2.7.7 + * Thu Feb 08 2018 Vojtech Trefny - 2.7.6-1 - Version 2.7.6