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