3 %bcond_without debug_asserts
6 Summary: Tools for the XFS filesystem
7 Summary(pl.UTF-8): Narzędzia do systemu plików XFS
11 License: LGPL v2.1 (libhandle), GPL v2 (the rest)
12 Group: Applications/System
13 Source0: https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.xz
14 # Source0-md5: c008a752fae65aaf761096eb4698df86
16 Patch0: %{name}-miscfix-v2.patch
17 URL: https://xfs.wiki.kernel.org/
18 # for <attr/attributes.h>
19 BuildRequires: attr-devel
20 BuildRequires: autoconf >= 2.69
21 BuildRequires: automake
23 BuildRequires: device-mapper-devel
24 BuildRequires: gettext-tools
25 BuildRequires: glibc-static
26 BuildRequires: inih-devel
27 BuildRequires: libblkid-devel
28 # without .la file so that -static-libtool-libs won't take libedit.a
29 BuildRequires: libedit-devel >= 3.1-1.20191231.1
30 BuildRequires: libicu-devel
31 BuildRequires: libtool
32 BuildRequires: libuuid-devel
33 BuildRequires: libuuid-static
34 BuildRequires: pkgconfig
35 BuildRequires: rpm >= 4.4.9-56
36 BuildRequires: rpmbuild(macros) >= 1.402
37 %{?with_scrub:BuildRequires: systemd-devel}
38 BuildRequires: userspace-rcu-devel
39 BuildRequires: userspace-rcu-static
40 BuildRequires: sed >= 4.0
41 BuildRequires: tar >= 1:1.22
43 Obsoletes: xfsprogs-initrd < 3.1.11-2
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 %if "%{pld_release}" == "ac"
47 # libtool in ac doesn't do the reordering of args properly
48 %define filterout_ld -Wl,--as-needed
52 A set of commands to use the XFS filesystem, including mkfs.xfs.
54 XFS is a high performance journaling filesystem which originated on
55 the SGI IRIX platform. It is completely multi-threaded, can support
56 large files and large filesystems, extended attributes, variable block
57 sizes, is extent based, and makes extensive use of Btrees
58 (directories, extents, free space) to aid both performance and
61 This implementation is on-disk compatible with the IRIX version of
64 %description -l pl.UTF-8
65 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
67 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
68 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
69 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
70 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
71 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
74 Summary: xfs_scrub - XFS online check and repair feature (EXPERIMENTAL!)
75 Summary(pl.UTF-8): xfs_scrub - sprawdzanie i naprawianie zamontowanego systemu plików XFS (EKSPERYMENTALNE!)
76 Group: Applications/System
77 Requires: %{name} = %{version}-%{release}
78 Requires: systemd-units >= 38
81 xfs_scrub is an XFS online check and repair feature.
83 WARNING: EXPERIMENTAL, use at your own risk!
85 %description scrub -l pl.UTF-8
86 xfs_scrub służy do sprawdzania i naprawiania zamontowanego systmeu
89 UWAGA: EXPERIMENTALNE, użycie na własne ryzyko!
92 Summary: Header files and libraries to develop XFS software
93 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
94 Group: Development/Libraries
95 Requires: %{name} = %{version}-%{release}
96 Requires: libuuid-devel
97 Requires: linux-libc-headers
100 Header files and libraries to develop software which operates on XFS
103 %description devel -l pl.UTF-8
104 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
105 operującego na systemie plików XFS.
108 Summary: Static XFS software libraries
109 Summary(pl.UTF-8): Biblioteki statyczne do XFS
110 Group: Development/Libraries
111 Requires: %{name}-devel = %{version}-%{release}
114 Static XFS software libraries.
116 %description static -l pl.UTF-8
117 Biblioteki statyczne do XFS.
123 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' scrub/xfs_scrub_all.in tools/xfsbuflock.py
129 DEBUG="%{?with_debug_asserts:-DDEBUG}%{!?with_debug_asserts:-DNDEBUG}" \
130 OPTIMIZER="%{rpmcflags}" \
136 %{?with_scrub:--enable-scrub=yes} \
137 --with-udev-rule-dir=/lib/udev/rules.d
143 rm -rf $RPM_BUILD_ROOT
144 install -d $RPM_BUILD_ROOT/etc/cron.d
146 DIST_ROOT=$RPM_BUILD_ROOT
147 DIST_INSTALL=$(pwd)/install.manifest
148 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
149 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
152 DIST_MANIFEST="$DIST_INSTALL"
153 %{__make} install-dev \
154 DIST_MANIFEST="$DIST_INSTALL_DEV"
156 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/xfs_lsprojid
158 # adjust symlink to point to actual library, not libhandle.so symlink, which we remove afterwards
159 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libhandle.so.*.*.*) \
160 $RPM_BUILD_ROOT%{_libdir}/libhandle.so
161 # adjust library path used at link time
162 %{__sed} -i -e "s|libdir='/%{_lib}'|libdir='%{_libdir}'|" \
163 $RPM_BUILD_ROOT%{_libdir}/libhandle.la
165 %{__rm} $RPM_BUILD_ROOT/%{_lib}/libhandle.{so,la,a}
169 %{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all}
171 %{__rm} $RPM_BUILD_ROOT/%{_datadir}/%{name}/xfs_scrub_all.cron
174 # (config file paths are specified in libfrog/projects.c)
175 echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects
176 echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
178 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
183 rm -rf $RPM_BUILD_ROOT
185 %post -p /sbin/ldconfig
186 %postun -p /sbin/ldconfig
191 %files -f %{name}.lang
192 %defattr(644,root,root,755)
193 %doc README doc/{CHANGES,CREDITS}
194 %config(noreplace) %verify(not md5 mtime size) /etc/projects
195 %config(noreplace) %verify(not md5 mtime size) /etc/projid
196 %attr(755,root,root) /sbin/fsck.xfs
197 %attr(755,root,root) /sbin/mkfs.xfs
198 %attr(755,root,root) /sbin/xfs_repair
199 %attr(755,root,root) %{_sbindir}/xfs_*
201 %exclude %{_sbindir}/xfs_scrub*
203 %attr(755,root,root) /%{_lib}/libhandle.so.*.*
204 %attr(755,root,root) %ghost /%{_lib}/libhandle.so.1
206 %dir %{_libexecdir}/%{name}
208 %attr(755,root,root) %{_libexecdir}/%{name}/xfs_scrub_fail
210 %{_mandir}/man5/projects.5*
211 %{_mandir}/man5/projid.5*
212 %{_mandir}/man5/xfs.5*
213 %{_mandir}/man8/fsck.xfs.8*
214 %{_mandir}/man8/mkfs.xfs.8*
215 %{_mandir}/man8/xfs_*.8*
217 %exclude %{_mandir}/man8/xfs_scrub*.8*
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_sbindir}/xfs_scrub
224 %attr(755,root,root) %{_sbindir}/xfs_scrub_all
225 /lib/udev/rules.d/64-xfs.rules
226 %{systemdunitdir}/xfs_scrub@.service
227 %{systemdunitdir}/xfs_scrub_all.service
228 %{systemdunitdir}/xfs_scrub_all.timer
229 %{systemdunitdir}/xfs_scrub_fail@.service
230 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/xfs_scrub_all
231 %{_mandir}/man8/xfs_scrub.8*
232 %{_mandir}/man8/xfs_scrub_all.8*
236 %defattr(644,root,root,755)
237 %attr(755,root,root) %{_libdir}/libhandle.so
238 %{_libdir}/libhandle.la
240 %{_mandir}/man2/ioctl_xfs_ag_geometry.2*
241 %{_mandir}/man2/ioctl_xfs_bulkstat.2*
242 %{_mandir}/man2/ioctl_xfs_fsbulkstat.2*
243 %{_mandir}/man2/ioctl_xfs_fscounts.2*
244 %{_mandir}/man2/ioctl_xfs_fsgeometry.2*
245 %{_mandir}/man2/ioctl_xfs_fsgetxattr.2*
246 %{_mandir}/man2/ioctl_xfs_fsgetxattra.2*
247 %{_mandir}/man2/ioctl_xfs_fsinumbers.2*
248 %{_mandir}/man2/ioctl_xfs_fssetxattr.2*
249 %{_mandir}/man2/ioctl_xfs_getbmap.2*
250 %{_mandir}/man2/ioctl_xfs_getbmapa.2*
251 %{_mandir}/man2/ioctl_xfs_getbmapx.2*
252 %{_mandir}/man2/ioctl_xfs_getresblks.2*
253 %{_mandir}/man2/ioctl_xfs_goingdown.2*
254 %{_mandir}/man2/ioctl_xfs_inumbers.2*
255 %{_mandir}/man2/ioctl_xfs_scrub_metadata.2*
256 %{_mandir}/man2/ioctl_xfs_setresblks.2*
257 %{_mandir}/man3/*handle.3*
258 %{_mandir}/man3/xfsctl.3*
261 %defattr(644,root,root,755)
262 %{_libdir}/libhandle.a