]> git.pld-linux.org Git - packages/xfsprogs.git/blob - xfsprogs.spec
- BR: readline-devel
[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.1
10 Release:        1
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:  d7f879a21692d4f7abc16a20479b0829
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:  readline-devel
40 BuildRequires:  rpmbuild(macros) >= 1.402
41 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43 %define         _sbindir        /sbin
44 %define         _bindir         /usr/sbin
45 %define         _libdir         /%{_lib}
46 %define         _libexecdir     /usr/%{_lib}
47
48 %description
49 A set of commands to use the XFS filesystem, including mkfs.xfs.
50
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
56 scalability.
57
58 This implementation is on-disk compatible with the IRIX version of
59 XFS.
60
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.
63
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ść.
69
70 %package devel
71 Summary:        Header files and libraries to develop XFS software
72 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki
73 Group:          Development/Libraries
74 Requires:       %{name} = %{version}-%{release}
75 Requires:       libuuid-devel
76
77 %description devel
78 Header files and libraries to develop software which operates on XFS
79 filesystems.
80
81 %description devel -l pl.UTF-8
82 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
83 operującego na systemie plików XFS.
84
85 %package static
86 Summary:        Static XFS software libraries
87 Summary(pl.UTF-8):      Biblioteki statyczne do XFS
88 Group:          Development/Libraries
89 Requires:       %{name}-devel = %{version}-%{release}
90
91 %description static
92 Static XFS software libraries.
93
94 %description static -l pl.UTF-8
95 Biblioteki statyczne do XFS.
96
97 %package initrd
98 Summary:        Tools for the XFS filesystem - initrd version
99 Summary(pl.UTF-8):      Narzędzia do systemu plików XFS - wersja dla initrd
100 Group:          Base
101
102 %description initrd
103 A set of commands to use the XFS filesystem, including mkfs.xfs
104  - initrd version.
105
106 %description initrd -l pl.UTF-8
107 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
108  - wersja dla initrd.
109
110 %prep
111 %setup -q
112 %patch0 -p1
113 %patch1 -p1
114 %patch2 -p1
115 # currently obsolete until needed again
116 # %patch3 -p1
117 %patch4 -p1
118 %patch5 -p1
119 %patch6 -p1
120 %patch7 -p1
121
122 rm -f include/{builddefs,platform_defs}.h
123
124 %build
125 %{__aclocal} -I m4
126
127 %if %{with initrd}
128 %if %{with dietlibc}
129 # dietlibc doesn't have aio.h (and xfsprogs does not need it really)
130 # dietlibc has needed librt stuff in libc/libpthread
131 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
132         -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
133         configure.in
134 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
135 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
136 %endif
137
138 %{__autoconf}
139 %configure \
140         %{?with_dietlibc:CC="diet %{__cc} -static"} \
141         --disable-gettext \
142         --disable-readline \
143         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
144         OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
145
146 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk
147 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
148         LDFLAGS="%{rpmldflags} -all-static"
149
150 mkdir -p initrd
151 mv -f db/xfs_db initrd/xfs_db
152 mv -f growfs/xfs_growfs initrd/xfs_growfs
153 mv -f logprint/xfs_logprint initrd/xfs_logprint
154 mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
155 mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
156 mv -f repair/xfs_repair initrd/xfs_repair
157
158 %if %{with dietlibc}
159 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
160         -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
161         configure.in
162 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
163 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
164 %endif
165
166 %{__make} clean
167 %endif
168
169 %{__autoconf}
170 %configure \
171         --enable-gettext \
172         --enable-readline \
173         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
174         OPTIMIZER="%{rpmcflags}"
175
176 %{__make} -j1
177
178 %install
179 rm -rf $RPM_BUILD_ROOT
180
181 DIST_ROOT=$RPM_BUILD_ROOT
182 DIST_INSTALL=$(pwd)/install.manifest
183 DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
184 export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
185
186 %{__make} install \
187         DIST_MANIFEST="$DIST_INSTALL"
188 %{__make} install-dev \
189         DIST_MANIFEST="$DIST_INSTALL_DEV"
190
191 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
192          $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
193 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libdisk.so.*.*.*) \
194         $RPM_BUILD_ROOT%{_libexecdir}/libdisk.so
195 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
196         $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
197 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
198         $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
199 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
200         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
201
202 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
203         $RPM_BUILD_ROOT%{_libexecdir}/lib{disk,handle,xcmd,xfs,xlog}.la
204 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
205         $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
206
207 %if %{with initrd}
208 install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
209 install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd/
210 %endif
211
212 %find_lang %{name}
213
214 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
215
216 # already in /usr
217 rm -f $RPM_BUILD_ROOT%{_libdir}/libdisk.{a,la,so}
218 rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
219 rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
220 rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
221 rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
222
223 %clean
224 rm -rf $RPM_BUILD_ROOT
225
226 %post   -p /sbin/ldconfig
227 %postun -p /sbin/ldconfig
228
229 %files -f %{name}.lang
230 %defattr(644,root,root,755)
231 %doc README doc/{CHANGES,CREDITS}
232 %attr(755,root,root) %{_sbindir}/fsck.xfs
233 %attr(755,root,root) %{_sbindir}/mkfs.xfs
234 %attr(755,root,root) %{_sbindir}/xfs_repair
235 %attr(755,root,root) %{_bindir}/xfs_*
236 %attr(755,root,root) %{_libdir}/libdisk.so.*.*
237 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
238 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
239 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
240 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
241 %attr(755,root,root) %ghost %{_libdir}/libdisk.so.0
242 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
243 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
244 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
245 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
246 %{_mandir}/man5/projects.5*
247 %{_mandir}/man5/projid.5*
248 %{_mandir}/man5/xfs.5*
249 %{_mandir}/man8/fsck.xfs.8*
250 %{_mandir}/man8/mkfs.xfs.8*
251 %{_mandir}/man8/xfs_*.8*
252
253 %files devel
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
265 %{_includedir}/xfs
266 %{_mandir}/man3/*handle.3*
267 %{_mandir}/man3/xfsctl.3*
268
269 %files static
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
276
277 %if %{with initrd}
278 %files initrd
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
281 %attr(755,root,root) %{_libexecdir}/initrd/xfs_db
282 %attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
283 %attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
284 %attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
285 %attr(755,root,root) %{_libexecdir}/initrd/xfs_repair
286 %endif
This page took 0.050871 seconds and 4 git commands to generate.