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