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: b401d76ccd66e4fdf3d123193e5e1b91
15 Patch0: %{name}-miscfix-v2.patch
16 Patch1: %{name}-pl.po-update.patch
17 # Patch1-md5: 5f6c7d4431759133a3a9a19ef3baf34c
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: sed >= 4.0
38 BuildRequires: tar >= 1:1.22
40 Obsoletes: xfsprogs-initrd
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 %if "%{pld_release}" == "ac"
44 # libtool in ac doesn't do the reordering of args properly
45 %define filterout_ld -Wl,--as-needed
49 A set of commands to use the XFS filesystem, including mkfs.xfs.
51 XFS is a high performance journaling filesystem which originated on
52 the SGI IRIX platform. It is completely multi-threaded, can support
53 large files and large filesystems, extended attributes, variable block
54 sizes, is extent based, and makes extensive use of Btrees
55 (directories, extents, free space) to aid both performance and
58 This implementation is on-disk compatible with the IRIX version of
61 %description -l pl.UTF-8
62 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
64 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
65 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
66 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
67 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
68 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
71 Summary: xfs_scrub - XFS online check and repair feature (EXPERIMENTAL!)
72 Summary(pl.UTF-8): xfs_scrub - sprawdzanie i naprawianie zamontowanego systemu plików XFS (EKSPERYMENTALNE!)
73 Group: Applications/System
74 Requires: %{name} = %{version}-%{release}
75 Requires: systemd-units >= 38
78 xfs_scrub is an XFS online check and repair feature.
80 WARNING: EXPERIMENTAL, use at your own risk!
82 %description scrub -l pl.UTF-8
83 xfs_scrub służy do sprawdzania i naprawiania zamontowanego systmeu
86 UWAGA: EXPERIMENTALNE, użycie na własne ryzyko!
89 Summary: Header files and libraries to develop XFS software
90 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
91 Group: Development/Libraries
92 Requires: %{name} = %{version}-%{release}
93 Requires: libuuid-devel
96 Header files and libraries to develop software which operates on XFS
99 %description devel -l pl.UTF-8
100 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
101 operującego na systemie plików XFS.
104 Summary: Static XFS software libraries
105 Summary(pl.UTF-8): Biblioteki statyczne do XFS
106 Group: Development/Libraries
107 Requires: %{name}-devel = %{version}-%{release}
110 Static XFS software libraries.
112 %description static -l pl.UTF-8
113 Biblioteki statyczne do XFS.
120 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' scrub/xfs_scrub_all.in tools/xfsbuflock.py
126 DEBUG="%{?with_debug_asserts:-DDEBUG}%{!?with_debug_asserts:-DNDEBUG}" \
127 OPTIMIZER="%{rpmcflags}" \
139 rm -rf $RPM_BUILD_ROOT
140 install -d $RPM_BUILD_ROOT/etc/cron.d
142 DIST_ROOT=$RPM_BUILD_ROOT
143 DIST_INSTALL=$(pwd)/install.manifest
144 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
145 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
148 DIST_MANIFEST="$DIST_INSTALL"
149 %{__make} install-dev \
150 DIST_MANIFEST="$DIST_INSTALL_DEV"
152 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/xfs_lsprojid
154 # adjust symlink to point to actual library, not libhandle.so symlink, which we remove afterwards
155 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libhandle.so.*.*.*) \
156 $RPM_BUILD_ROOT%{_libdir}/libhandle.so
157 # adjust library path used at link time
158 %{__sed} -i -e "s|libdir='/%{_lib}'|libdir='%{_libdir}'|" \
159 $RPM_BUILD_ROOT%{_libdir}/libhandle.la
161 %{__rm} $RPM_BUILD_ROOT/%{_lib}/libhandle.{so,la,a}
164 %{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all}
166 # (config file paths are specified in libfrog/projects.c)
167 echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects
168 echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
170 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
175 rm -rf $RPM_BUILD_ROOT
177 %post -p /sbin/ldconfig
178 %postun -p /sbin/ldconfig
183 %files -f %{name}.lang
184 %defattr(644,root,root,755)
185 %doc README doc/{CHANGES,CREDITS}
186 %config(noreplace) %verify(not md5 mtime size) /etc/projects
187 %config(noreplace) %verify(not md5 mtime size) /etc/projid
188 %attr(755,root,root) /sbin/fsck.xfs
189 %attr(755,root,root) /sbin/mkfs.xfs
190 %attr(755,root,root) /sbin/xfs_repair
191 %attr(755,root,root) %{_sbindir}/xfs_*
192 %exclude %{_sbindir}/xfs_scrub*
193 %attr(755,root,root) /%{_lib}/libhandle.so.*.*
194 %attr(755,root,root) %ghost /%{_lib}/libhandle.so.1
195 %dir %{_libdir}/%{name}
196 %attr(755,root,root) %{_libdir}/%{name}/xfs_scrub_fail
197 %{_mandir}/man5/projects.5*
198 %{_mandir}/man5/projid.5*
199 %{_mandir}/man5/xfs.5*
200 %{_mandir}/man8/fsck.xfs.8*
201 %{_mandir}/man8/mkfs.xfs.8*
202 %{_mandir}/man8/xfs_*.8*
203 %exclude %{_mandir}/man8/xfs_scrub*.8*
206 %defattr(644,root,root,755)
207 %attr(755,root,root) %{_sbindir}/xfs_scrub
208 %attr(755,root,root) %{_sbindir}/xfs_scrub_all
209 %{systemdunitdir}/xfs_scrub@.service
210 %{systemdunitdir}/xfs_scrub_all.service
211 %{systemdunitdir}/xfs_scrub_all.timer
212 %{systemdunitdir}/xfs_scrub_fail@.service
213 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/xfs_scrub_all
214 %{_mandir}/man8/xfs_scrub.8*
215 %{_mandir}/man8/xfs_scrub_all.8*
218 %defattr(644,root,root,755)
219 %attr(755,root,root) %{_libdir}/libhandle.so
220 %{_libdir}/libhandle.la
222 %{_mandir}/man2/ioctl_xfs_ag_geometry.2*
223 %{_mandir}/man2/ioctl_xfs_bulkstat.2*
224 %{_mandir}/man2/ioctl_xfs_fsbulkstat.2*
225 %{_mandir}/man2/ioctl_xfs_fscounts.2*
226 %{_mandir}/man2/ioctl_xfs_fsgeometry.2*
227 %{_mandir}/man2/ioctl_xfs_fsgetxattr.2*
228 %{_mandir}/man2/ioctl_xfs_fsgetxattra.2*
229 %{_mandir}/man2/ioctl_xfs_fsinumbers.2*
230 %{_mandir}/man2/ioctl_xfs_fssetxattr.2*
231 %{_mandir}/man2/ioctl_xfs_getbmap.2*
232 %{_mandir}/man2/ioctl_xfs_getbmapa.2*
233 %{_mandir}/man2/ioctl_xfs_getbmapx.2*
234 %{_mandir}/man2/ioctl_xfs_getresblks.2*
235 %{_mandir}/man2/ioctl_xfs_goingdown.2*
236 %{_mandir}/man2/ioctl_xfs_inumbers.2*
237 %{_mandir}/man2/ioctl_xfs_scrub_metadata.2*
238 %{_mandir}/man2/ioctl_xfs_setresblks.2*
239 %{_mandir}/man3/*handle.3*
240 %{_mandir}/man3/xfsctl.3*
243 %defattr(644,root,root,755)
244 %{_libdir}/libhandle.a