]> git.pld-linux.org Git - packages/xfsprogs.git/blob - xfsprogs.spec
- up to 3.1.2
[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.1.2
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:  86d10178ee6897cb099c97303e6d9da0
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://www.xfs.org/
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:  libblkid-devel
38 BuildRequires:  libtool
39 BuildRequires:  libuuid-devel
40 BuildRequires:  readline-devel
41 BuildRequires:  rpm >= 4.4.9-56
42 BuildRequires:  rpmbuild(macros) >= 1.402
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %if "%{pld_release}" == "ac"
46 # libtool in ac doesn't do the reordering of args properly
47 %define         filterout_ld -Wl,--as-needed
48 %endif
49
50 %define         _sbindir        /sbin
51 %define         _bindir         /usr/sbin
52 %define         _libdir         /%{_lib}
53 %define         _libexecdir     /usr/%{_lib}
54 # for some reason known only to rpm there must be "\\|" not "\|" here
55 %define         dietarch        %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
56 %define         dietlibdir      %{_prefix}/lib/dietlibc/lib-%{dietarch}
57
58 %description
59 A set of commands to use the XFS filesystem, including mkfs.xfs.
60
61 XFS is a high performance journaling filesystem which originated on
62 the SGI IRIX platform. It is completely multi-threaded, can support
63 large files and large filesystems, extended attributes, variable block
64 sizes, is extent based, and makes extensive use of Btrees
65 (directories, extents, free space) to aid both performance and
66 scalability.
67
68 This implementation is on-disk compatible with the IRIX version of
69 XFS.
70
71 %description -l pl.UTF-8
72 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
73
74 XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
75 był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
76 obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
77 atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
78 B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
79
80 %package devel
81 Summary:        Header files and libraries to develop XFS software
82 Summary(pl.UTF-8):      Pliki nagłówkowe i biblioteki
83 Group:          Development/Libraries
84 Requires:       %{name} = %{version}-%{release}
85 Requires:       libuuid-devel
86
87 %description devel
88 Header files and libraries to develop software which operates on XFS
89 filesystems.
90
91 %description devel -l pl.UTF-8
92 Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
93 operującego na systemie plików XFS.
94
95 %package static
96 Summary:        Static XFS software libraries
97 Summary(pl.UTF-8):      Biblioteki statyczne do XFS
98 Group:          Development/Libraries
99 Requires:       %{name}-devel = %{version}-%{release}
100
101 %description static
102 Static XFS software libraries.
103
104 %description static -l pl.UTF-8
105 Biblioteki statyczne do XFS.
106
107 %package initrd
108 Summary:        Tools for the XFS filesystem - initrd version
109 Summary(pl.UTF-8):      Narzędzia do systemu plików XFS - wersja dla initrd
110 Group:          Base
111
112 %description initrd
113 A set of commands to use the XFS filesystem, including mkfs.xfs
114  - initrd version.
115
116 %description initrd -l pl.UTF-8
117 Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
118  - wersja dla initrd.
119
120 %prep
121 %setup -q
122 %patch0 -p1
123 %patch1 -p1
124 %patch2 -p1
125 # currently obsolete until needed again
126 # %patch3 -p1
127 %patch4 -p1
128 %patch5 -p1
129 %patch6 -p1
130 %patch7 -p1
131
132 rm -f include/{builddefs,platform_defs}.h
133
134 %build
135 %{__aclocal} -I m4
136
137 %if %{with initrd}
138 %if %{with dietlibc}
139 # dietlibc doesn't have aio.h (and xfsprogs does not need it really)
140 # dietlibc has needed librt stuff in libc/libpthread
141 sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
142         -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
143         configure.in
144 sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
145 sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
146 %endif
147
148 %{__autoconf}
149 %configure \
150         %{?with_dietlibc:CC="diet %{__cc} -static"} \
151         --sbindir=%{_bindir} \
152         --disable-gettext \
153         --disable-readline \
154         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
155         OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
156
157 %{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
158         LIBUUID="%{dietlibdir}/libuuid.a"
159 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
160         LDFLAGS="%{rpmldflags} -all-static" \
161         LIBUUID="%{dietlibdir}/libuuid.a"
162
163 mkdir -p initrd
164 mv -f db/xfs_db initrd/xfs_db
165 mv -f growfs/xfs_growfs initrd/xfs_growfs
166 mv -f logprint/xfs_logprint initrd/xfs_logprint
167 mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
168 mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
169 mv -f repair/xfs_repair initrd/xfs_repair
170
171 %if %{with dietlibc}
172 sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
173         -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
174         configure.in
175 sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
176 sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
177 %endif
178
179 %{__make} clean
180 %endif
181
182 %{__autoconf}
183 %configure \
184         --sbindir=%{_bindir}\
185         --enable-gettext \
186         --enable-readline \
187         DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
188         OPTIMIZER="%{rpmcflags}"
189
190 %{__make} -j1
191
192 %install
193 rm -rf $RPM_BUILD_ROOT
194
195 install -d $RPM_BUILD_ROOT%{_libexecdir}
196
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
201
202 %{__make} install \
203         DIST_MANIFEST="$DIST_INSTALL"
204 %{__make} install-dev \
205         DIST_MANIFEST="$DIST_INSTALL_DEV"
206
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
215
216 mv $RPM_BUILD_ROOT%{_libdir}/lib*.la $RPM_BUILD_ROOT%{_libexecdir}
217 mv $RPM_BUILD_ROOT%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libexecdir}
218
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
223
224 %if %{with initrd}
225 install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
226 install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd/
227 %endif
228
229 %find_lang %{name}
230
231 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
232
233 # already in /usr
234 rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
235 rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
236 rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
237 rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
238
239 %clean
240 rm -rf $RPM_BUILD_ROOT
241
242 %post   -p /sbin/ldconfig
243 %postun -p /sbin/ldconfig
244
245 %files -f %{name}.lang
246 %defattr(644,root,root,755)
247 %doc README doc/{CHANGES,CREDITS}
248 %attr(755,root,root) %{_sbindir}/fsck.xfs
249 %attr(755,root,root) %{_sbindir}/mkfs.xfs
250 %attr(755,root,root) %{_sbindir}/xfs_repair
251 %attr(755,root,root) %{_bindir}/xfs_*
252 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
253 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
254 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
255 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
257 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
258 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
259 %attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
260 %{_mandir}/man5/projects.5*
261 %{_mandir}/man5/projid.5*
262 %{_mandir}/man5/xfs.5*
263 %{_mandir}/man8/fsck.xfs.8*
264 %{_mandir}/man8/mkfs.xfs.8*
265 %{_mandir}/man8/xfs_*.8*
266
267 %files devel
268 %defattr(644,root,root,755)
269 %attr(755,root,root) %{_libexecdir}/libhandle.so
270 %attr(755,root,root) %{_libexecdir}/libxcmd.so
271 %attr(755,root,root) %{_libexecdir}/libxfs.so
272 %attr(755,root,root) %{_libexecdir}/libxlog.so
273 %{_libexecdir}/libhandle.la
274 %{_libexecdir}/libxcmd.la
275 %{_libexecdir}/libxfs.la
276 %{_libexecdir}/libxlog.la
277 %{_includedir}/xfs
278 %{_mandir}/man3/*handle.3*
279 %{_mandir}/man3/xfsctl.3*
280
281 %files static
282 %defattr(644,root,root,755)
283 %{_libexecdir}/libhandle.a
284 %{_libexecdir}/libxcmd.a
285 %{_libexecdir}/libxfs.a
286 %{_libexecdir}/libxlog.a
287
288 %if %{with initrd}
289 %files initrd
290 %defattr(644,root,root,755)
291 %attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
292 %attr(755,root,root) %{_libexecdir}/initrd/xfs_db
293 %attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
294 %attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
295 %attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
296 %attr(755,root,root) %{_libexecdir}/initrd/xfs_repair
297 %endif
This page took 0.099318 seconds and 4 git commands to generate.