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