]> git.pld-linux.org Git - packages/xfsprogs.git/blob - xfsprogs.spec
- rel 5
[packages/xfsprogs.git] / xfsprogs.spec
1 #
2 # Conditional build:
3 %bcond_without  initrd          # don't build initrd version
4 %bcond_without  dietlibc        # link initrd version with static glibc instead of dietlibc
5 #
6 Summary:        Tools for the XFS filesystem
7 Summary(pl.UTF-8):      Narzędzia do systemu plików XFS
8 Name:           xfsprogs
9 Version:        3.0.0
10 Release:        5
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
26 BuildRequires:  bash
27 %if %{with initrd}
28         %if %{with dietlibc}
29 BuildRequires:  dietlibc-static >= 2:0.31-6
30 BuildRequires:  libuuid-dietlibc
31         %else
32 BuildRequires:  glibc-static
33 BuildRequires:  libuuid-static
34         %endif
35 %endif
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)
41
42 %define         _sbindir        /sbin
43 %define         _bindir         /usr/sbin
44 %define         _libdir         /%{_lib}
45 %define         _libexecdir     /usr/%{_lib}
46
47 %description
48 A set of commands to use the XFS filesystem, including mkfs.xfs.
49
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
55 scalability.
56
57 This implementation is on-disk compatible with the IRIX version of
58 XFS.
59
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.
62
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ść.
68
69 %package devel
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
75
76 %description devel
77 Header files and libraries to develop software which operates on XFS
78 filesystems.
79
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.
83
84 %package static
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}
89
90 %description static
91 Static XFS software libraries.
92
93 %description static -l pl.UTF-8
94 Biblioteki statyczne do XFS.
95
96 %package initrd
97 Summary:        Tools for the XFS filesystem - initrd version
98 Summary(pl.UTF-8):      Narzędzia do systemu plików XFS - wersja dla initrd
99 Group:          Base
100
101 %description initrd
102 A set of commands to use the XFS filesystem, including mkfs.xfs
103  - initrd version.
104
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
107  - wersja dla initrd.
108
109 %prep
110 %setup -q
111 %patch0 -p1
112 %patch1 -p1
113 %patch2 -p1
114 # currently obsolete until needed again
115 # %patch3 -p1
116 %patch4 -p1
117 %patch5 -p1
118 %patch6 -p1
119 %patch7 -p1
120
121 rm -f include/{builddefs,platform_defs}.h
122
123 %build
124 %{__aclocal} -I m4
125
126 %if %{with initrd}
127 %if %{with dietlibc}
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|' \
132         configure.in
133 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
134 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
135 %endif
136
137 %{__autoconf}
138 %configure \
139         %{?with_dietlibc:CC="diet %{__cc} -static"} \
140         --disable-gettext \
141         --disable-readline \
142         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
143         OPTIMIZER="-Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
144
145 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk
146 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
147         LDFLAGS="%{rpmldflags} -all-static"
148
149 mkdir -p initrd
150 mv -f db/xfs_db initrd/xfs_db
151 mv -f growfs/xfs_growfs initrd/xfs_growfs
152 mv -f logprint/xfs_logprint initrd/xfs_logprint
153 mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
154 mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
155 mv -f repair/xfs_repair initrd/xfs_repair
156
157 %if %{with dietlibc}
158 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
159         -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
160         configure.in
161 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
162 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
163 %endif
164
165 %{__make} clean
166 %endif
167
168 %{__autoconf}
169 %configure \
170         --enable-gettext \
171         --enable-readline \
172         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
173         OPTIMIZER="%{rpmcflags}"
174
175 %{__make} -j1
176
177 %install
178 rm -rf $RPM_BUILD_ROOT
179
180 DIST_ROOT=$RPM_BUILD_ROOT
181 DIST_INSTALL=$(pwd)/install.manifest
182 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
183 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
184
185 %{__make} install \
186         DIST_MANIFEST="$DIST_INSTALL"
187 %{__make} install-dev \
188         DIST_MANIFEST="$DIST_INSTALL_DEV"
189
190 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
191          $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
192 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libdisk.so.*.*.*) \
193         $RPM_BUILD_ROOT%{_libexecdir}/libdisk.so
194 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
195         $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
196 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
197         $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
198 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
199         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
200
201 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
202         $RPM_BUILD_ROOT%{_libexecdir}/lib{disk,handle,xcmd,xfs,xlog}.la
203 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
204         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
205
206 %if %{with initrd}
207 install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
208 install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd/
209 %endif
210
211 %find_lang %{name}
212
213 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
214
215 # already in /usr
216 rm -f $RPM_BUILD_ROOT%{_libdir}/libdisk.{a,la,so}
217 rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
218 rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
219 rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
220 rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
221
222 %clean
223 rm -rf $RPM_BUILD_ROOT
224
225 %post   -p /sbin/ldconfig
226 %postun -p /sbin/ldconfig
227
228 %files -f %{name}.lang
229 %defattr(644,root,root,755)
230 %doc README doc/{CHANGES,CREDITS}
231 %attr(755,root,root) %{_sbindir}/fsck.xfs
232 %attr(755,root,root) %{_sbindir}/mkfs.xfs
233 %attr(755,root,root) %{_sbindir}/xfs_repair
234 %attr(755,root,root) %{_bindir}/xfs_*
235 %attr(755,root,root) %{_libdir}/libdisk.so.*.*
236 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
237 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
238 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
239 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
240 %attr(755,root,root) %ghost %{_libdir}/libdisk.so.0
241 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
242 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
243 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
244 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
245 %{_mandir}/man5/xfs.5*
246 %{_mandir}/man8/fsck.xfs.8*
247 %{_mandir}/man8/mkfs.xfs.8*
248 %{_mandir}/man8/xfs_*.8*
249
250 %files devel
251 %defattr(644,root,root,755)
252 %attr(755,root,root) %{_libexecdir}/libdisk.so
253 %attr(755,root,root) %{_libexecdir}/libhandle.so
254 %attr(755,root,root) %{_libexecdir}/libxcmd.so
255 %attr(755,root,root) %{_libexecdir}/libxfs.so
256 %attr(755,root,root) %{_libexecdir}/libxlog.so
257 %{_libexecdir}/libdisk.la
258 %{_libexecdir}/libhandle.la
259 %{_libexecdir}/libxcmd.la
260 %{_libexecdir}/libxfs.la
261 %{_libexecdir}/libxlog.la
262 %{_includedir}/xfs
263 %{_mandir}/man3/*handle.3*
264 %{_mandir}/man3/xfsctl.3*
265
266 %files static
267 %defattr(644,root,root,755)
268 %{_libexecdir}/libdisk.a
269 %{_libexecdir}/libhandle.a
270 %{_libexecdir}/libxcmd.a
271 %{_libexecdir}/libxfs.a
272 %{_libexecdir}/libxlog.a
273
274 %if %{with initrd}
275 %files initrd
276 %defattr(644,root,root,755)
277 %attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
278 %attr(755,root,root) %{_libexecdir}/initrd/xfs_db
279 %attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
280 %attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
281 %attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
282 %attr(755,root,root) %{_libexecdir}/initrd/xfs_repair
283 %endif
This page took 0.054011 seconds and 4 git commands to generate.