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