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: b1db37749e2b4149a0dd178abff956be
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 Patch6: %{name}-notranslate.patch
21 URL: http://www.xfs.org/
22 BuildRequires: autoconf
23 BuildRequires: automake
27 BuildRequires: dietlibc-static >= 2:0.31-6
28 BuildRequires: libuuid-dietlibc
30 BuildRequires: glibc-static
31 BuildRequires: libuuid-static
34 BuildRequires: gettext-devel
35 BuildRequires: libblkid-devel
36 BuildRequires: libtool
37 BuildRequires: libuuid-devel
38 BuildRequires: readline-devel
39 BuildRequires: rpm >= 4.4.9-56
40 BuildRequires: rpmbuild(macros) >= 1.402
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
48 # libxlog uses symbols from binary that links to libxlog
49 # libxcmd uses ("program") symbol from binary that links to libxcmd
50 %define skip_post_check_so libxlog.so.0.0.0 libxcmd.so.0.0.0
52 %define _sbindir /sbin
53 %define _bindir /usr/sbin
54 %define _libdir /%{_lib}
55 %define _libexecdir /usr/%{_lib}
56 # for some reason known only to rpm there must be "\\|" not "\|" here
57 %define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
58 %define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
61 A set of commands to use the XFS filesystem, including mkfs.xfs.
63 XFS is a high performance journaling filesystem which originated on
64 the SGI IRIX platform. It is completely multi-threaded, can support
65 large files and large filesystems, extended attributes, variable block
66 sizes, is extent based, and makes extensive use of Btrees
67 (directories, extents, free space) to aid both performance and
70 This implementation is on-disk compatible with the IRIX version of
73 %description -l pl.UTF-8
74 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
76 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
77 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
78 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
79 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
80 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
83 Summary: Header files and libraries to develop XFS software
84 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
85 Group: Development/Libraries
86 Requires: %{name} = %{version}-%{release}
87 Requires: libuuid-devel
90 Header files and libraries to develop software which operates on XFS
93 %description devel -l pl.UTF-8
94 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
95 operującego na systemie plików XFS.
98 Summary: Static XFS software libraries
99 Summary(pl.UTF-8): Biblioteki statyczne do XFS
100 Group: Development/Libraries
101 Requires: %{name}-devel = %{version}-%{release}
104 Static XFS software libraries.
106 %description static -l pl.UTF-8
107 Biblioteki statyczne do XFS.
110 Summary: Tools for the XFS filesystem - initrd version
111 Summary(pl.UTF-8): Narzędzia do systemu plików XFS - wersja dla initrd
115 A set of commands to use the XFS filesystem, including mkfs.xfs
118 %description initrd -l pl.UTF-8
119 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
136 # dietlibc doesn't have aio.h (and xfsprogs does not need it really)
137 # dietlibc has needed librt stuff in libc/libpthread
138 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
139 -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
141 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
142 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
147 %{?with_dietlibc:CC="diet %{__cc} -static"} \
148 --sbindir=%{_bindir} \
151 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
152 OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
154 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
155 LIBUUID="%{dietlibdir}/libuuid.a" \
157 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
158 LDFLAGS="%{rpmldflags} -all-static" \
159 LIBUUID="%{dietlibdir}/libuuid.a" \
163 mv -f db/xfs_db initrd/xfs_db
164 mv -f growfs/xfs_growfs initrd/xfs_growfs
165 mv -f logprint/xfs_logprint initrd/xfs_logprint
166 mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
167 mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
168 mv -f repair/xfs_repair initrd/xfs_repair
171 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
172 -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
174 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
175 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
183 --sbindir=%{_bindir}\
187 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
188 OPTIMIZER="%{rpmcflags}"
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT{%{_libexecdir},/etc}
197 DIST_ROOT=$RPM_BUILD_ROOT
198 DIST_INSTALL=$(pwd)/install.manifest
199 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
200 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
203 DIST_MANIFEST="$DIST_INSTALL"
204 %{__make} install-dev \
205 DIST_MANIFEST="$DIST_INSTALL_DEV"
207 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
208 $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
209 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
210 $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
211 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
212 $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
213 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
214 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
216 mv $RPM_BUILD_ROOT%{_libdir}/lib*.la $RPM_BUILD_ROOT%{_libexecdir}
217 mv $RPM_BUILD_ROOT%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libexecdir}
219 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
220 $RPM_BUILD_ROOT%{_libexecdir}/lib{handle,xcmd,xfs,xlog}.la
221 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
222 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
225 install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
226 install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd
229 echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects
230 echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
234 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
237 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{handle,xcmd,xfs,xlog}.so
240 rm -rf $RPM_BUILD_ROOT
242 %post -p /sbin/ldconfig
243 %postun -p /sbin/ldconfig
245 %files -f %{name}.lang
246 %defattr(644,root,root,755)
247 %doc README doc/{CHANGES,CREDITS}
248 %config(noreplace) %verify(not md5 mtime size) /etc/projects
249 %config(noreplace) %verify(not md5 mtime size) /etc/projid
250 %attr(755,root,root) %{_sbindir}/fsck.xfs
251 %attr(755,root,root) %{_sbindir}/mkfs.xfs
252 %attr(755,root,root) %{_sbindir}/xfs_repair
253 %attr(755,root,root) %{_bindir}/xfs_*
254 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
255 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
256 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
257 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
259 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
260 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
261 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
262 %{_mandir}/man5/projects.5*
263 %{_mandir}/man5/projid.5*
264 %{_mandir}/man5/xfs.5*
265 %{_mandir}/man8/fsck.xfs.8*
266 %{_mandir}/man8/mkfs.xfs.8*
267 %{_mandir}/man8/xfs_*.8*
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libexecdir}/libhandle.so
272 %attr(755,root,root) %{_libexecdir}/libxcmd.so
273 %attr(755,root,root) %{_libexecdir}/libxfs.so
274 %attr(755,root,root) %{_libexecdir}/libxlog.so
275 %{_libexecdir}/libhandle.la
276 %{_libexecdir}/libxcmd.la
277 %{_libexecdir}/libxfs.la
278 %{_libexecdir}/libxlog.la
280 %{_mandir}/man3/*handle.3*
281 %{_mandir}/man3/xfsctl.3*
284 %defattr(644,root,root,755)
285 %{_libexecdir}/libhandle.a
286 %{_libexecdir}/libxcmd.a
287 %{_libexecdir}/libxfs.a
288 %{_libexecdir}/libxlog.a
292 %defattr(644,root,root,755)
293 %attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
294 %attr(755,root,root) %{_libexecdir}/initrd/xfs_db
295 %attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
296 %attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
297 %attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
298 %attr(755,root,root) %{_libexecdir}/initrd/xfs_repair