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