3 %bcond_without initrd # don't build initrd version
4 %bcond_without dietlibc # link initrd version with static glibc instead of dietlibc
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: ftp://linux-xfs.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
14 # Source0-md5: 74081975f148bcabcab26c4c3496ede9
15 Patch0: %{name}-miscfix-v2.patch
16 Patch2: %{name}-sharedlibs.patch
17 Patch3: %{name}-pl.po-update.patch
18 Patch4: %{name}-dynamic_exe.patch
19 Patch5: %{name}-diet.patch
20 URL: http://www.xfs.org/
21 BuildRequires: autoconf
22 BuildRequires: automake
26 BuildRequires: dietlibc-static >= 2:0.31-6
27 BuildRequires: libuuid-dietlibc
29 BuildRequires: glibc-static
30 BuildRequires: libuuid-static
33 BuildRequires: gettext-devel
34 BuildRequires: libblkid-devel
35 BuildRequires: libtool
36 BuildRequires: libuuid-devel
37 BuildRequires: readline-devel
38 BuildRequires: rpm >= 4.4.9-56
39 BuildRequires: rpmbuild(macros) >= 1.402
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 %if "%{pld_release}" == "ac"
43 # libtool in ac doesn't do the reordering of args properly
44 %define filterout_ld -Wl,--as-needed
47 # libxlog uses symbols from binary that links to libxlog
48 # libxcmd uses ("program") symbol from binary that links to libxcmd
49 %define skip_post_check_so libxlog.so.0.0.0 libxcmd.so.0.0.0
51 %define _sbindir /sbin
52 %define _bindir /usr/sbin
53 %define _libdir /%{_lib}
54 %define _libexecdir /usr/%{_lib}
55 # for some reason known only to rpm there must be "\\|" not "\|" here
56 %define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
57 %define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
60 A set of commands to use the XFS filesystem, including mkfs.xfs.
62 XFS is a high performance journaling filesystem which originated on
63 the SGI IRIX platform. It is completely multi-threaded, can support
64 large files and large filesystems, extended attributes, variable block
65 sizes, is extent based, and makes extensive use of Btrees
66 (directories, extents, free space) to aid both performance and
69 This implementation is on-disk compatible with the IRIX version of
72 %description -l pl.UTF-8
73 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
75 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
76 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
77 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
78 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
79 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
82 Summary: Header files and libraries to develop XFS software
83 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
84 Group: Development/Libraries
85 Requires: %{name} = %{version}-%{release}
86 Requires: libuuid-devel
89 Header files and libraries to develop software which operates on XFS
92 %description devel -l pl.UTF-8
93 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
94 operującego na systemie plików XFS.
97 Summary: Static XFS software libraries
98 Summary(pl.UTF-8): Biblioteki statyczne do XFS
99 Group: Development/Libraries
100 Requires: %{name}-devel = %{version}-%{release}
103 Static XFS software libraries.
105 %description static -l pl.UTF-8
106 Biblioteki statyczne do XFS.
109 Summary: Tools for the XFS filesystem - initrd version
110 Summary(pl.UTF-8): Narzędzia do systemu plików XFS - wersja dla initrd
114 A set of commands to use the XFS filesystem, including mkfs.xfs
117 %description initrd -l pl.UTF-8
118 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
125 # currently obsolete until needed again
130 rm -f include/{builddefs,platform_defs}.h
137 # dietlibc doesn't have aio.h (and xfsprogs does not need it really)
138 # dietlibc has needed librt stuff in libc/libpthread
139 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
140 -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
142 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
143 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
148 %{?with_dietlibc:CC="diet %{__cc} -static"} \
149 --sbindir=%{_bindir} \
152 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
153 OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
155 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
156 LIBUUID="%{dietlibdir}/libuuid.a"
157 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
158 LDFLAGS="%{rpmldflags} -all-static" \
159 LIBUUID="%{dietlibdir}/libuuid.a"
162 mv -f db/xfs_db initrd/xfs_db
163 mv -f growfs/xfs_growfs initrd/xfs_growfs
164 mv -f logprint/xfs_logprint initrd/xfs_logprint
165 mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
166 mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
167 mv -f repair/xfs_repair initrd/xfs_repair
170 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
171 -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
173 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
174 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
182 --sbindir=%{_bindir}\
186 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
187 OPTIMIZER="%{rpmcflags}"
192 rm -rf $RPM_BUILD_ROOT
194 install -d $RPM_BUILD_ROOT%{_libexecdir}
196 DIST_ROOT=$RPM_BUILD_ROOT
197 DIST_INSTALL=$(pwd)/install.manifest
198 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
199 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
202 DIST_MANIFEST="$DIST_INSTALL"
203 %{__make} install-dev \
204 DIST_MANIFEST="$DIST_INSTALL_DEV"
206 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
207 $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
208 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
209 $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
210 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
211 $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
212 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
213 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
215 mv $RPM_BUILD_ROOT%{_libdir}/lib*.la $RPM_BUILD_ROOT%{_libexecdir}
216 mv $RPM_BUILD_ROOT%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libexecdir}
218 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
219 $RPM_BUILD_ROOT%{_libexecdir}/lib{handle,xcmd,xfs,xlog}.la
220 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
221 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
224 install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
225 install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd/
230 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
233 rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
234 rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
235 rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
236 rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
239 rm -rf $RPM_BUILD_ROOT
241 %post -p /sbin/ldconfig
242 %postun -p /sbin/ldconfig
244 %files -f %{name}.lang
245 %defattr(644,root,root,755)
246 %doc README doc/{CHANGES,CREDITS}
247 %attr(755,root,root) %{_sbindir}/fsck.xfs
248 %attr(755,root,root) %{_sbindir}/mkfs.xfs
249 %attr(755,root,root) %{_sbindir}/xfs_repair
250 %attr(755,root,root) %{_bindir}/xfs_*
251 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
252 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
253 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
254 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
255 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
256 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
257 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
258 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
259 %{_mandir}/man5/projects.5*
260 %{_mandir}/man5/projid.5*
261 %{_mandir}/man5/xfs.5*
262 %{_mandir}/man8/fsck.xfs.8*
263 %{_mandir}/man8/mkfs.xfs.8*
264 %{_mandir}/man8/xfs_*.8*
267 %defattr(644,root,root,755)
268 %attr(755,root,root) %{_libexecdir}/libhandle.so
269 %attr(755,root,root) %{_libexecdir}/libxcmd.so
270 %attr(755,root,root) %{_libexecdir}/libxfs.so
271 %attr(755,root,root) %{_libexecdir}/libxlog.so
272 %{_libexecdir}/libhandle.la
273 %{_libexecdir}/libxcmd.la
274 %{_libexecdir}/libxfs.la
275 %{_libexecdir}/libxlog.la
277 %{_mandir}/man3/*handle.3*
278 %{_mandir}/man3/xfsctl.3*
281 %defattr(644,root,root,755)
282 %{_libexecdir}/libhandle.a
283 %{_libexecdir}/libxcmd.a
284 %{_libexecdir}/libxfs.a
285 %{_libexecdir}/libxlog.a
289 %defattr(644,root,root,755)
290 %attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
291 %attr(755,root,root) %{_libexecdir}/initrd/xfs_db
292 %attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
293 %attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
294 %attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
295 %attr(755,root,root) %{_libexecdir}/initrd/xfs_repair