udisks2/udisks2.spec

334 lines
11 KiB
RPMSpec
Raw Normal View History

#
# spec file for package udisks2
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define soversion 0
%define libblockdev_version 3.0
Name: udisks2
Version: 2.10.1
Release: 0
Summary: Disk Manager
License: GPL-2.0-or-later AND LGPL-2.0-or-later
Group: System/Daemons
URL: https://github.com/storaged-project/udisks
Source0: %{url}/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
# an exception will be silently removed with the next version update.
Patch0: harden_udisks2.service.patch
BuildRequires: chrpath
BuildRequires: docbook-xsl-stylesheets
BuildRequires: gobject-introspection-devel >= 0.6.2
BuildRequires: libacl-devel
BuildRequires: libblockdev-crypto-devel >= %{libblockdev_version}
BuildRequires: libblockdev-fs-devel >= %{libblockdev_version}
BuildRequires: libblockdev-loop-devel >= %{libblockdev_version}
BuildRequires: libblockdev-mdraid-devel >= %{libblockdev_version}
BuildRequires: libblockdev-nvme-devel >= %{libblockdev_version}
BuildRequires: libblockdev-part-devel >= %{libblockdev_version}
BuildRequires: libblockdev-swap-devel >= %{libblockdev_version}
BuildRequires: lvm2-devel
BuildRequires: pkgconfig
BuildRequires: xsltproc
BuildRequires: pkgconfig(blkid) >= 2.17.0
BuildRequires: pkgconfig(blockdev) >= 2.19
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.50
BuildRequires: pkgconfig(glib-2.0) >= 2.50
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gudev-1.0) >= 165
BuildRequires: pkgconfig(libatasmart) >= 0.17
BuildRequires: pkgconfig(libsystemd) >= 209
BuildRequires: pkgconfig(mount) >= 2.30
BuildRequires: pkgconfig(polkit-agent-1) >= 0.102
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.102
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
Accepting request 832602 from home:milsav92:branches:Base:System - Update to version 2.9.1: + This is mostly a bugfix release, notable changes include: - active modules are now tracked in a daemon state file and are automatically reloaded on next startup in case of previous unclean daemon shutdown - further improvements in object property updates while handling method calls - zram module fixes: + compatibility improvements with existing zram generators and toolkits + the zram-setup@.service systemd unit has been renamed to udisks2-zram-setup@.service + related udev rules have been separated into 90-udisks2-zram.rules + the zram.conf.d path is now configurable and defaults to /usr/lib/zram.conf.d - Update to version 2.9.0: + This 2.9.0 release brings many changes to the daemon core, internal modularity and the libudisks2 library. No public API has been removed, there is a couple of deprecations however. + There's a major change in how and when D-Bus object properties are updated. As a general rule when a method call returns affected objects should now have their properties updated by that moment. This is an ongoing task and while majority of the daemon API has been covered, there are pending issues in some of the modules. + Configurable mount options is a new big feature for this release, allowing sysadmins to re-define default mount options for each filesystem type. Extensive documentation is available at http://storaged.org/doc/udisks2-api/latest/mount_options.html + Internal module API has been reworked, modules should now be enabled separately via the new EnableModule() call that also reports initialization failures. The old org.freedesktop.UDisks2.Manager.EnableModules() call has been deprecated. + Additional feature highlights: - building the daemon can now be disabled via configure switch, only libudisks2 will be built - removed the systemd mount cleanup service, mount state is now tracked separately for persistent and non-persistent mount points and cleanup of lingering persistent mount points is performed on daemon startup (e.g. on system boot) - new LVM-VDO integration, deprecated the standalone VDO module - added support for (un)locking BitLocker devices - libudisks2 now includes generated GDBus code for compiled-in modules, separate pkg-config files are provided as well OBS-URL: https://build.opensuse.org/request/show/832602 OBS-URL: https://build.opensuse.org/package/show/Base:System/udisks2?expand=0&rev=85
2020-09-25 12:57:26 +02:00
BuildRequires: pkgconfig(uuid)
Requires: libudisks2-%{soversion} = %{version}
# For LUKS devices
Requires: cryptsetup
# Needed to pull in the system bus daemon
Requires: dbus-1 >= 1.4.0
# For mkfs.vfat
Requires: dosfstools
# For mkfs.ext3, mkfs.ext3, e2label
Requires: e2fsprogs
# For ejecting removable disks
Requires: eject
# sgdisk is called by udisksd to modify the partition tables... thus a needed tool.
Requires: gptfdisk
# We need at least this version for bugfixes/features etc.
Requires: libatasmart-utils >= 0.17
Requires: libblockdev >= %{libblockdev_version}
Requires: libblockdev-crypto >= %{libblockdev_version}
Requires: libblockdev-fs >= %{libblockdev_version}
Requires: libblockdev-loop >= %{libblockdev_version}
Requires: libblockdev-mdraid >= %{libblockdev_version}
Requires: libblockdev-nvme >= %{libblockdev_version}
Requires: libblockdev-part >= %{libblockdev_version}
Requires: libblockdev-swap >= %{libblockdev_version}
# Needed to pull in the udev daemon
Requires: udev >= 208
# For mount, umount, mkswap
Requires: util-linux
# For mkfs.xfs, xfs_admin
Requires: xfsprogs
Recommends: libudisks2-%{soversion}_btrfs
# Drop deprecated modules from end users' systems upon system upgrade
Obsoletes: libudisks2-0_vdo <= 2.9.4
Obsoletes: libudisks2-0_bcache < 2.10
Obsoletes: libudisks2-0_zram < 2.10
%description
The Udisks project provides a daemon, tools and libraries to access and
manipulate disks, storage devices and technologies.
%package -n libudisks2-%{soversion}
Summary: Dynamic library to access the UDisksd daemon
License: LGPL-2.0-or-later
Group: System/Libraries
%description -n libudisks2-%{soversion}
This package contains the dynamic library, which provides
access to the UDisksd daemon.
%package -n typelib-1_0-UDisks-2_0
Summary: Introspection bindings for the UDisks Client Library version 2
License: LGPL-2.0-or-later
Group: System/Libraries
%description -n typelib-1_0-UDisks-2_0
UDisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.
This package provides the GObject Introspection bindings for
the UDisks client library.
%package -n libudisks2-%{soversion}-devel
Summary: Development files for UDisks
License: LGPL-2.0-or-later
Group: Development/Libraries/C and C++
Requires: libudisks2-%{soversion} >= %{version}
%description -n libudisks2-%{soversion}-devel
This package contains the development files for the library libUDisks2, a
dynamic library, which provides access to the UDisksd daemon.
%package docs
Summary: Developer documentation for %{name}
BuildArch: noarch
%description docs
This package contains developer documentation for %{name}.
%package -n libudisks2-%{soversion}_btrfs
Summary: UDisks module for btrfs
License: LGPL-2.0-or-later
Group: System/Libraries
BuildRequires: libblockdev-btrfs-devel >= %{libblockdev_version}
Requires: libblockdev-btrfs >= %{libblockdev_version}
Requires: libudisks2-%{soversion} >= %{version}
%description -n libudisks2-%{soversion}_btrfs
This package contains the UDisks module for btrfs support.
%package -n libudisks2-%{soversion}_lsm
Summary: UDisks module for LSM
License: LGPL-2.0-or-later
Group: System/Libraries
BuildRequires: pkgconfig(libconfig) >= 1.3.2
BuildRequires: pkgconfig(libstoragemgmt) >= 1.3.0
Requires: libstoragemgmt >= 1.3.0
Requires: libudisks2-%{soversion} >= %{version}
%description -n libudisks2-%{soversion}_lsm
This package contains the UDisks module for LSM support.
%package -n libudisks2-%{soversion}_lvm2
Summary: UDisks module for LVM2
License: LGPL-2.0-or-later
Group: System/Libraries
BuildRequires: libblockdev-lvm-devel >= %{libblockdev_version}
Requires: libblockdev-lvm >= %{libblockdev_version}
Requires: libudisks2-%{soversion} >= %{version}
Requires: lvm2
%description -n libudisks2-%{soversion}_lvm2
This package contains the UDisks module for LVM2 support.
%package bash-completion
Summary: Bash Completion for udisksctl
BuildRequires: bash-completion
Requires: %{name} = %{version}
Requires: bash-completion
Supplements: (%{name} and bash-completion)
BuildArch: noarch
%description bash-completion
Bash command line completion support for the udisksctl command.
%package zsh-completion
Summary: Zsh Completion for udisksctl
BuildRequires: zsh
Requires: %{name} = %{version}
Requires: zsh
Supplements: (%{name} and zsh)
BuildArch: noarch
%description zsh-completion
Zsh command line completion support for the udisksctl command.
%lang_package
%prep
%autosetup -p1 -n udisks-%{version}
%build
%configure \
--disable-static \
--disable-gtk-doc \
--docdir=%{_docdir}/%{name} \
--enable-btrfs \
--enable-lsm \
--enable-lvm2 \
%{nil}
%make_build
%install
%make_install
find %{buildroot} -name "*.la" -print -type f -delete
chrpath --delete %{buildroot}/%{_sbindir}/umount.udisks2
chrpath --delete %{buildroot}/%{_bindir}/udisksctl
chrpath --delete %{buildroot}/%{_libexecdir}/udisks2/udisksd
%find_lang udisks2
# Create udisks2 rclink
mkdir -p %{buildroot}/%{_sbindir}
ln -sf %{_sbindir}/service %{buildroot}/%{_sbindir}/rc%{name}
# Move example config file to docs
mkdir -p %{buildroot}%{_docdir}/%{name}
mv -v %{buildroot}%{_sysconfdir}/udisks2/mount_options.conf.example \
%{buildroot}%{_docdir}/%{name}/mount_options.conf.example
%post -n libudisks2-%{soversion} -p /sbin/ldconfig
%postun -n libudisks2-%{soversion} -p /sbin/ldconfig
%pre -n %{name}
%service_add_pre udisks2.service
%post -n %{name}
%{?udev_rules_update:%udev_rules_update}
%service_add_post udisks2.service
%tmpfiles_create %{_tmpfilesdir}/udisks2.conf
%preun -n %{name}
%service_del_preun udisks2.service
%postun -n %{name}
%service_del_postun udisks2.service
%files
%doc AUTHORS NEWS
%{_bindir}/udisksctl
%{_datadir}/dbus-1/system.d/org.freedesktop.UDisks2.conf
%dir %{_sysconfdir}/udisks2
%dir %{_sysconfdir}/udisks2/modules.conf.d
%config %{_sysconfdir}/udisks2/udisks2.conf
%doc %{_docdir}/%{name}/mount_options.conf.example
%{_tmpfilesdir}/udisks2.conf
%ghost %{_rundir}/media
%{_unitdir}/udisks2.service
%dir %{_udevrulesdir}
%{_udevrulesdir}/80-udisks2.rules
%{_sbindir}/rc%{name}
%{_sbindir}/umount.udisks2
%dir %{_libexecdir}/udisks2
%{_libexecdir}/udisks2/udisksd
%{_mandir}/man1/udisksctl.1%{?ext_man}
%{_mandir}/man5/udisks2.conf.5%{?ext_man}
%{_mandir}/man8/udisksd.8%{?ext_man}
%{_mandir}/man8/udisks.8%{?ext_man}
%{_mandir}/man8/umount.udisks2.8%{?ext_man}
%{_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 libudisks2-%{soversion}
%license COPYING
%{_libdir}/libudisks2.so.*
%files -n typelib-1_0-UDisks-2_0
%{_libdir}/girepository-1.0/UDisks-2.0.typelib
%files -n libudisks2-%{soversion}-devel
%doc HACKING README.md
%{_libdir}/libudisks2.so
%dir %{_includedir}/udisks2
%dir %{_includedir}/udisks2/udisks
%{_includedir}/udisks2/udisks/*.h
%{_libdir}/pkgconfig/udisks2.pc
Accepting request 832602 from home:milsav92:branches:Base:System - Update to version 2.9.1: + This is mostly a bugfix release, notable changes include: - active modules are now tracked in a daemon state file and are automatically reloaded on next startup in case of previous unclean daemon shutdown - further improvements in object property updates while handling method calls - zram module fixes: + compatibility improvements with existing zram generators and toolkits + the zram-setup@.service systemd unit has been renamed to udisks2-zram-setup@.service + related udev rules have been separated into 90-udisks2-zram.rules + the zram.conf.d path is now configurable and defaults to /usr/lib/zram.conf.d - Update to version 2.9.0: + This 2.9.0 release brings many changes to the daemon core, internal modularity and the libudisks2 library. No public API has been removed, there is a couple of deprecations however. + There's a major change in how and when D-Bus object properties are updated. As a general rule when a method call returns affected objects should now have their properties updated by that moment. This is an ongoing task and while majority of the daemon API has been covered, there are pending issues in some of the modules. + Configurable mount options is a new big feature for this release, allowing sysadmins to re-define default mount options for each filesystem type. Extensive documentation is available at http://storaged.org/doc/udisks2-api/latest/mount_options.html + Internal module API has been reworked, modules should now be enabled separately via the new EnableModule() call that also reports initialization failures. The old org.freedesktop.UDisks2.Manager.EnableModules() call has been deprecated. + Additional feature highlights: - building the daemon can now be disabled via configure switch, only libudisks2 will be built - removed the systemd mount cleanup service, mount state is now tracked separately for persistent and non-persistent mount points and cleanup of lingering persistent mount points is performed on daemon startup (e.g. on system boot) - new LVM-VDO integration, deprecated the standalone VDO module - added support for (un)locking BitLocker devices - libudisks2 now includes generated GDBus code for compiled-in modules, separate pkg-config files are provided as well OBS-URL: https://build.opensuse.org/request/show/832602 OBS-URL: https://build.opensuse.org/package/show/Base:System/udisks2?expand=0&rev=85
2020-09-25 12:57:26 +02:00
%{_libdir}/pkgconfig/udisks2-btrfs.pc
%{_libdir}/pkgconfig/udisks2-lsm.pc
%{_libdir}/pkgconfig/udisks2-lvm2.pc
%{_datadir}/gir-1.0/UDisks-2.0.gir
%files docs
%doc %{_datadir}/gtk-doc/html/udisks2/
%files -n libudisks2-%{soversion}_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 libudisks2-%{soversion}_lsm
%dir %{_sysconfdir}/udisks2/modules.conf.d
%attr(0600,root,root) %config %{_sysconfdir}/udisks2/modules.conf.d/udisks2_lsm.conf
%dir %{_libdir}/udisks2
%dir %{_libdir}/udisks2/modules
%{_libdir}/udisks2/modules/libudisks2_lsm.so
%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.lsm.policy
%{_mandir}/man5/udisks2_lsm.conf.5%{?ext_man}
%files -n libudisks2-%{soversion}_lvm2
%dir %{_libdir}/udisks2
%dir %{_libdir}/udisks2/modules
%{_libdir}/udisks2/modules/libudisks2_lvm2.so
%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.lvm2.policy
%files bash-completion
%{_datadir}/bash-completion/completions/udisksctl
%files zsh-completion
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_udisks2
%files lang -f udisks2.lang
%changelog