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: e294efdf72a1871fa91eb02a500c555a
15 Patch0: %{name}-miscfix-v2.patch
16 Patch1: %{name}-pl.po-update.patch
17 # Patch1-md5: 5996ff94e993eb0f956376bffce8d77d
18 URL: https://xfs.wiki.kernel.org/
19 # for <attr/attributes.h>
20 BuildRequires: attr-devel
21 BuildRequires: autoconf >= 2.50
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: rpm >= 4.4.9-56
36 BuildRequires: rpmbuild(macros) >= 1.402
37 BuildRequires: userspace-rcu-devel
38 BuildRequires: userspace-rcu-static
39 BuildRequires: sed >= 4.0
40 BuildRequires: tar >= 1:1.22
42 Obsoletes: xfsprogs-initrd
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 %if "%{pld_release}" == "ac"
46 # libtool in ac doesn't do the reordering of args properly
47 %define filterout_ld -Wl,--as-needed
51 A set of commands to use the XFS filesystem, including mkfs.xfs.
53 XFS is a high performance journaling filesystem which originated on
54 the SGI IRIX platform. It is completely multi-threaded, can support
55 large files and large filesystems, extended attributes, variable block
56 sizes, is extent based, and makes extensive use of Btrees
57 (directories, extents, free space) to aid both performance and
60 This implementation is on-disk compatible with the IRIX version of
63 %description -l pl.UTF-8
64 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
66 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
67 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
68 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
69 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
70 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
73 Summary: xfs_scrub - XFS online check and repair feature (EXPERIMENTAL!)
74 Summary(pl.UTF-8): xfs_scrub - sprawdzanie i naprawianie zamontowanego systemu plików XFS (EKSPERYMENTALNE!)
75 Group: Applications/System
76 Requires: %{name} = %{version}-%{release}
77 Requires: systemd-units >= 38
80 xfs_scrub is an XFS online check and repair feature.
82 WARNING: EXPERIMENTAL, use at your own risk!
84 %description scrub -l pl.UTF-8
85 xfs_scrub służy do sprawdzania i naprawiania zamontowanego systmeu
88 UWAGA: EXPERIMENTALNE, użycie na własne ryzyko!
91 Summary: Header files and libraries to develop XFS software
92 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
93 Group: Development/Libraries
94 Requires: %{name} = %{version}-%{release}
95 Requires: libuuid-devel
98 Header files and libraries to develop software which operates on XFS
101 %description devel -l pl.UTF-8
102 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
103 operującego na systemie plików XFS.
106 Summary: Static XFS software libraries
107 Summary(pl.UTF-8): Biblioteki statyczne do XFS
108 Group: Development/Libraries
109 Requires: %{name}-devel = %{version}-%{release}
112 Static XFS software libraries.
114 %description static -l pl.UTF-8
115 Biblioteki statyczne do XFS.
122 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' scrub/xfs_scrub_all.in tools/xfsbuflock.py
128 DEBUG="%{?with_debug_asserts:-DDEBUG}%{!?with_debug_asserts:-DNDEBUG}" \
129 OPTIMIZER="%{rpmcflags}" \
141 rm -rf $RPM_BUILD_ROOT
142 install -d $RPM_BUILD_ROOT/etc/cron.d
144 DIST_ROOT=$RPM_BUILD_ROOT
145 DIST_INSTALL=$(pwd)/install.manifest
146 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
147 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
150 DIST_MANIFEST="$DIST_INSTALL"
151 %{__make} install-dev \
152 DIST_MANIFEST="$DIST_INSTALL_DEV"
154 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/xfs_lsprojid
156 # adjust symlink to point to actual library, not libhandle.so symlink, which we remove afterwards
157 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libhandle.so.*.*.*) \
158 $RPM_BUILD_ROOT%{_libdir}/libhandle.so
159 # adjust library path used at link time
160 %{__sed} -i -e "s|libdir='/%{_lib}'|libdir='%{_libdir}'|" \
161 $RPM_BUILD_ROOT%{_libdir}/libhandle.la
163 %{__rm} $RPM_BUILD_ROOT/%{_lib}/libhandle.{so,la,a}
166 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all}
168 # (config file paths are specified in libfrog/projects.c)
169 echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects
170 echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
172 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
177 rm -rf $RPM_BUILD_ROOT
179 %post -p /sbin/ldconfig
180 %postun -p /sbin/ldconfig
185 %files -f %{name}.lang
186 %defattr(644,root,root,755)
187 %doc README doc/{CHANGES,CREDITS}
188 %config(noreplace) %verify(not md5 mtime size) /etc/projects
189 %config(noreplace) %verify(not md5 mtime size) /etc/projid
190 %attr(755,root,root) /sbin/fsck.xfs
191 %attr(755,root,root) /sbin/mkfs.xfs
192 %attr(755,root,root) /sbin/xfs_repair
193 %attr(755,root,root) %{_sbindir}/xfs_*
194 %exclude %{_sbindir}/xfs_scrub*
195 %attr(755,root,root) /%{_lib}/libhandle.so.*.*
196 %attr(755,root,root) %ghost /%{_lib}/libhandle.so.1
197 %dir %{_libdir}/%{name}
198 %attr(755,root,root) %{_libdir}/%{name}/xfs_scrub_fail
199 %{_mandir}/man5/projects.5*
200 %{_mandir}/man5/projid.5*
201 %{_mandir}/man5/xfs.5*
202 %{_mandir}/man8/fsck.xfs.8*
203 %{_mandir}/man8/mkfs.xfs.8*
204 %{_mandir}/man8/xfs_*.8*
205 %exclude %{_mandir}/man8/xfs_scrub*.8*
208 %defattr(644,root,root,755)
209 %attr(755,root,root) %{_sbindir}/xfs_scrub
210 %attr(755,root,root) %{_sbindir}/xfs_scrub_all
211 %{systemdunitdir}/xfs_scrub@.service
212 %{systemdunitdir}/xfs_scrub_all.service
213 %{systemdunitdir}/xfs_scrub_all.timer
214 %{systemdunitdir}/xfs_scrub_fail@.service
215 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/xfs_scrub_all
216 %{_mandir}/man8/xfs_scrub.8*
217 %{_mandir}/man8/xfs_scrub_all.8*
220 %defattr(644,root,root,755)
221 %attr(755,root,root) %{_libdir}/libhandle.so
222 %{_libdir}/libhandle.la
224 %{_mandir}/man2/ioctl_xfs_ag_geometry.2*
225 %{_mandir}/man2/ioctl_xfs_bulkstat.2*
226 %{_mandir}/man2/ioctl_xfs_fsbulkstat.2*
227 %{_mandir}/man2/ioctl_xfs_fscounts.2*
228 %{_mandir}/man2/ioctl_xfs_fsgeometry.2*
229 %{_mandir}/man2/ioctl_xfs_fsgetxattr.2*
230 %{_mandir}/man2/ioctl_xfs_fsgetxattra.2*
231 %{_mandir}/man2/ioctl_xfs_fsinumbers.2*
232 %{_mandir}/man2/ioctl_xfs_fssetxattr.2*
233 %{_mandir}/man2/ioctl_xfs_getbmap.2*
234 %{_mandir}/man2/ioctl_xfs_getbmapa.2*
235 %{_mandir}/man2/ioctl_xfs_getbmapx.2*
236 %{_mandir}/man2/ioctl_xfs_getresblks.2*
237 %{_mandir}/man2/ioctl_xfs_goingdown.2*
238 %{_mandir}/man2/ioctl_xfs_inumbers.2*
239 %{_mandir}/man2/ioctl_xfs_scrub_metadata.2*
240 %{_mandir}/man2/ioctl_xfs_setresblks.2*
241 %{_mandir}/man3/*handle.3*
242 %{_mandir}/man3/xfsctl.3*
245 %defattr(644,root,root,755)
246 %{_libdir}/libhandle.a