/
udisks.spec
208 lines (180 loc) · 5.88 KB
/
udisks.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
%define major 0
%define libname %mklibname %{name}_ %{major}
%define devname %mklibname %{name} -d
%define girname %mklibname udisks-gir 2.0
Summary: Disk Manager
Name: udisks
Version: 2.10.1
Release: 1
License: GPLv2+
Group: System/Libraries
Url: http://www.freedesktop.org/wiki/Software/udisks
Source0: https://github.com/storaged-project/udisks/releases/download/%{name}-%{version}/udisks-%{version}.tar.bz2
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.31.13
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.31.13
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gudev-1.0) >= 186
BuildRequires: pkgconfig(libatasmart) >= 0.19
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.92
BuildRequires: pkgconfig(polkit-agent-1) >= 0.92
BuildRequires: pkgconfig(libsystemd) >= 230
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(libacl)
BuildRequires: pkgconfig(blockdev)
BuildRequires: bd_mdraid-devel
BuildRequires: bd_part-devel
BuildRequires: bd_loop-devel
BuildRequires: bd_swap-devel
BuildRequires: bd_fs-devel
BuildRequires: bd_crypto-devel
BuildRequires: bd_nvme-devel
BuildRequires: intltool
BuildRequires: gnome-common
BuildRequires: gettext-devel
BuildRequires: gtk-doc >= 1.3
BuildRequires: chrpath
# pull libblockdev plugins
Requires: libblockdev-mdraid
Requires: libblockdev-part
Requires: libblockdev-loop
Requires: libblockdev-swap
Requires: libblockdev-fs
Requires: libblockdev-crypto
Requires: libblockdev-nvme
# for LUKS devices
Requires: cryptsetup-luks
# needed to pull in the system bus daemon
Requires: dbus >= 1.8.0
# for mkfs.vfat
Requires: dosfstools
# for mkfs.ext3, mkfs.ext3, e2label
Requires: e2fsprogs
# for partitioning
Requires: gdisk
Requires: parted
# for mlabel
Requires: mtools
Requires: ntfsprogs
# needed to pull in the udev daemon
Requires: udev >= 186
# for mount, umount, mkswap
Requires: util-linux
# for mkfs.xfs, xfs_admin
Requires: xfsprogs
# flash friendly filesystem
Requires: f2fs-tools
Requires: btrfs-progs
Requires: exfat-utils
# for /proc/self/mountinfo, only available in 2.6.26 or higher
Conflicts: kernel < 2.6.26
%rename udisks2
%rename storaged
%{?systemd_requires}
%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.
%files -f %{name}.lang
%{_datadir}/dbus-1/system.d/org.freedesktop.UDisks2.conf
%{_sysconfdir}/udisks2/udisks2.conf
%{_sysconfdir}/udisks2/mount_options.conf.example
%{_datadir}/bash-completion/completions/udisksctl
%{_udevrulesdir}/80-udisks2.rules
%{_sbindir}/umount.udisks2
%dir %{_libexecdir}/udisks2
%{_libexecdir}/udisks2/udisksd
%{_bindir}/udisksctl
%doc %{_mandir}/man1/*
%doc %{_mandir}/man5/*
%doc %{_mandir}/man8/*
%{_datadir}/polkit-1/actions/org.freedesktop.UDisks2.policy
%{_datadir}/dbus-1/system-services/org.freedesktop.UDisks2.service
%{_presetdir}/86-%{name}.preset
%{_unitdir}/udisks2.service
%{_datadir}/zsh/site-functions/_udisks2
# 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
#----------------------------------------------------------------------------
%package -n %{libname}
Summary: Dynamic library to access the udisks daemon
License: LGPLv2+
Group: System/Libraries
Obsoletes: %{_lib}udisks20 < 1.90.0-2
%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.
%files -n %{libname}
%{_libdir}/libudisks2.so.%{major}*
#----------------------------------------------------------------------------
%package -n %{girname}
Summary: GObject Introspection interface description for %{name}
License: LGPLv2+
Group: System/Libraries
Requires: %{libname} = %{EVRD}
%description -n %{girname}
GObject Introspection interface description for %{name}.
%files -n %{girname}
%{_libdir}/girepository-1.0/UDisks-2.0.typelib
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: Development files for libudev
License: LGPLv2+
Group: System/Libraries
Requires: %{libname} = %{EVRD}
Provides: %{name}-devel = %{EVRD}
%description -n %{devname}
This package contains the development files for the library
libudisks2, a dynamic library, which provides access to the udisks
daemon. This package is for the udisks 2.x series.
%files -n %{devname}
%doc AUTHORS NEWS COPYING HACKING
%{_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
#----------------------------------------------------------------------------
%prep
%autosetup -p1
%build
%global optlags %{opflags} -Qunused-arguments
NOCONFIGURE=yes gnome-autogen.sh
%configure \
--enable-fhs-media \
--enable-gtk-doc \
--disable-static \
--with-udevdir="$(dirname %{_udevrulesdir})" \
--with-systemdsystemunitdir="%{_unitdir}" \
--with-tmpfilesdir=%{_tmpfilesdir} \
--with-modloaddir=%{_modulesloaddir} \
--with-modprobedir=%{_modprobedir}
%make_build
%install
%make_install
mkdir -p %{buildroot}/%{_localstatedir}/lib/udisks2
chrpath --delete %{buildroot}/%{_sbindir}/umount.udisks2
chrpath --delete %{buildroot}/%{_bindir}/udisksctl
chrpath --delete %{buildroot}/%{_libexecdir}/udisks2/udisksd
# (tpg) disable it by default
# https://github.com/storaged-project/udisks/issues/535
install -d %{buildroot}%{_presetdir}
cat > %{buildroot}%{_presetdir}/86-%{name}.preset << EOF
disable udisks2.service
EOF
%find_lang %{name}2 %{name}.lang
%post -n %{name}
%systemd_post udisks2.service
if [ -S /run/udev/control ]; then
udevadm control --reload
udevadm trigger
fi
%preun -n %{name}
%systemd_preun udisks2.service
%postun -n %{name}
%systemd_postun_with_restart udisks2.service