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: ec734f935ec87ebb8be890d29380a3e6
15 Patch0: %{name}-miscfix-v2.patch
16 Patch1: %{name}-install-sh.patch
17 Patch2: %{name}-sharedlibs.patch
18 Patch3: %{name}-pl.po-update.patch
19 Patch4: %{name}-dynamic_exe.patch
20 Patch5: %{name}-LDFLAGS.patch
21 Patch6: %{name}-diet.patch
22 Patch7: %{name}-static-librt.patch
23 URL: http://oss.sgi.com/projects/xfs/
24 BuildRequires: autoconf
25 BuildRequires: automake
29 BuildRequires: dietlibc-static >= 2:0.31-6
30 BuildRequires: libuuid-dietlibc
32 BuildRequires: glibc-static
33 BuildRequires: libuuid-static
36 BuildRequires: gettext-devel
37 BuildRequires: libtool
38 BuildRequires: libuuid-devel
39 BuildRequires: rpmbuild(macros) >= 1.402
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 %define _sbindir /sbin
43 %define _bindir /usr/sbin
44 %define _libdir /%{_lib}
45 %define _libexecdir /usr/%{_lib}
48 A set of commands to use the XFS filesystem, including mkfs.xfs.
50 XFS is a high performance journaling filesystem which originated on
51 the SGI IRIX platform. It is completely multi-threaded, can support
52 large files and large filesystems, extended attributes, variable block
53 sizes, is extent based, and makes extensive use of Btrees
54 (directories, extents, free space) to aid both performance and
57 This implementation is on-disk compatible with the IRIX version of
60 %description -l pl.UTF-8
61 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
63 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
64 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
65 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
66 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
67 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
70 Summary: Header files and libraries to develop XFS software
71 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
72 Group: Development/Libraries
73 Requires: %{name} = %{version}-%{release}
74 Requires: libuuid-devel
77 Header files and libraries to develop software which operates on XFS
80 %description devel -l pl.UTF-8
81 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
82 operującego na systemie plików XFS.
85 Summary: Static XFS software libraries
86 Summary(pl.UTF-8): Biblioteki statyczne do XFS
87 Group: Development/Libraries
88 Requires: %{name}-devel = %{version}-%{release}
91 Static XFS software libraries.
93 %description static -l pl.UTF-8
94 Biblioteki statyczne do XFS.
97 Summary: Tools for the XFS filesystem - initrd version
98 Summary(pl.UTF-8): Narzędzia do systemu plików XFS - wersja dla initrd
102 A set of commands to use the XFS filesystem, including mkfs.xfs
105 %description initrd -l pl.UTF-8
106 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
114 # currently obsolete until needed again
121 rm -f include/{builddefs,platform_defs}.h
128 # dietlibc doesn't have aio.h (and xfsprogs does not need it really)
129 # dietlibc has needed librt stuff in libc/libpthread
130 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
131 -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
133 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
134 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
139 %{?with_dietlibc:CC="diet %{__cc} -static"} \
142 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
143 OPTIMIZER="-Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
145 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk
146 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
147 LDFLAGS="%{rpmldflags} -all-static"
149 mv -f db/xfs_db initrd-xfs_db
150 mv -f growfs/xfs_growfs initrd-xfs_growfs
151 mv -f logprint/xfs_logprint initrd-xfs_logprint
152 mv -f mkfs/mkfs.xfs initrd-mkfs.xfs
153 mv -f mdrestore/xfs_mdrestore initrd-xfs_mdrestore
154 mv -f repair/xfs_repair initrd-xfs_repair
157 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
158 -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
160 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
161 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
171 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
172 OPTIMIZER="%{rpmcflags}"
177 rm -rf $RPM_BUILD_ROOT
179 DIST_ROOT=$RPM_BUILD_ROOT
180 DIST_INSTALL=$(pwd)/install.manifest
181 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
182 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
185 DIST_MANIFEST="$DIST_INSTALL"
186 %{__make} install-dev \
187 DIST_MANIFEST="$DIST_INSTALL_DEV"
189 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
190 $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
191 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libdisk.so.*.*.*) \
192 $RPM_BUILD_ROOT%{_libexecdir}/libdisk.so
193 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
194 $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
195 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
196 $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
197 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
198 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
200 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
201 $RPM_BUILD_ROOT%{_libexecdir}/lib{disk,handle,xcmd,xfs,xlog}.la
202 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
203 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
206 install initrd-xfs_db $RPM_BUILD_ROOT%{_sbindir}
207 install initrd-xfs_growfs $RPM_BUILD_ROOT%{_sbindir}
208 install initrd-xfs_logprint $RPM_BUILD_ROOT%{_sbindir}
209 install initrd-mkfs.xfs $RPM_BUILD_ROOT%{_sbindir}
210 install initrd-xfs_mdrestore $RPM_BUILD_ROOT%{_sbindir}
211 install initrd-xfs_repair $RPM_BUILD_ROOT%{_sbindir}
216 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
219 rm -f $RPM_BUILD_ROOT%{_libdir}/libdisk.{a,la,so}
220 rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
221 rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
222 rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
223 rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
226 rm -rf $RPM_BUILD_ROOT
228 %post -p /sbin/ldconfig
229 %postun -p /sbin/ldconfig
231 %files -f %{name}.lang
232 %defattr(644,root,root,755)
233 %doc README doc/{CHANGES,CREDITS}
234 %attr(755,root,root) %{_sbindir}/fsck.xfs
235 %attr(755,root,root) %{_sbindir}/mkfs.xfs
236 %attr(755,root,root) %{_sbindir}/xfs_repair
237 %attr(755,root,root) %{_bindir}/xfs_*
238 %attr(755,root,root) %{_libdir}/libdisk.so.*.*
239 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
240 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
241 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
242 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
243 %attr(755,root,root) %ghost %{_libdir}/libdisk.so.0
244 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
245 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
246 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
247 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
248 %{_mandir}/man5/xfs.5*
249 %{_mandir}/man8/fsck.xfs.8*
250 %{_mandir}/man8/mkfs.xfs.8*
251 %{_mandir}/man8/xfs_*.8*
254 %defattr(644,root,root,755)
255 %attr(755,root,root) %{_libexecdir}/libdisk.so
256 %attr(755,root,root) %{_libexecdir}/libhandle.so
257 %attr(755,root,root) %{_libexecdir}/libxcmd.so
258 %attr(755,root,root) %{_libexecdir}/libxfs.so
259 %attr(755,root,root) %{_libexecdir}/libxlog.so
260 %{_libexecdir}/libdisk.la
261 %{_libexecdir}/libhandle.la
262 %{_libexecdir}/libxcmd.la
263 %{_libexecdir}/libxfs.la
264 %{_libexecdir}/libxlog.la
266 %{_mandir}/man3/*handle.3*
267 %{_mandir}/man3/xfsctl.3*
270 %defattr(644,root,root,755)
271 %{_libexecdir}/libdisk.a
272 %{_libexecdir}/libhandle.a
273 %{_libexecdir}/libxcmd.a
274 %{_libexecdir}/libxfs.a
275 %{_libexecdir}/libxlog.a
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_sbindir}/initrd-*