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