]> git.pld-linux.org Git - packages/xfsprogs.git/blame - xfsprogs.spec
- force R on google-perftools with some libs in /lib(64)
[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
5#
80ded214 6Summary: Tools for the XFS filesystem
809af116 7Summary(pl.UTF-8): Narzędzia do systemu plików XFS
80ded214 8Name: xfsprogs
9988f6a4
AM
9Version: 3.1.7
10Release: 1
636af8bd 11License: LGPL v2.1 (libhandle), GPL v2 (the rest)
80ded214 12Group: Applications/System
4ede93fd 13Source0: ftp://linux-xfs.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
9988f6a4 14# Source0-md5: 049cf9873794ea49d0bb3f12d45748a4
a32e9a39 15Source1: xfs_lsprojid
bc92c0b0 16Patch0: %{name}-miscfix-v2.patch
6ad71900 17Patch2: %{name}-sharedlibs.patch
21a3d2af
JB
18Patch3: %{name}-pl.po-update.patch
19Patch4: %{name}-dynamic_exe.patch
528ce8b7 20Patch5: %{name}-diet.patch
9988f6a4
AM
21Patch6: xfsprogs-repair-mem.patch
22Patch7: xfsprogs-repair-nofutexhang.patch
23Patch8: xfsprogs-repair-tcmalloc.patch
51a52578 24URL: http://www.xfs.org/
80ded214 25BuildRequires: autoconf
1c0f6863 26BuildRequires: automake
cb58e4a3 27BuildRequires: bash
a86cbc2d
JR
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
8c56223e 37BuildRequires: gettext-devel
9988f6a4 38BuildRequires: google-perftools-devel
51a52578 39BuildRequires: libblkid-devel
92a53cbb 40BuildRequires: libtool
a5769371 41BuildRequires: libuuid-devel
99229502 42BuildRequires: readline-devel
dec839eb 43BuildRequires: rpm >= 4.4.9-56
9656c3b9 44BuildRequires: rpmbuild(macros) >= 1.402
4d8d2e78 45Requires: google-perftools >= 1.8.3-2
c826f244 46BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80ded214 47
dec839eb
ER
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
0a7d57d5
AM
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
b087bbdd
JR
57%define _sbindir /sbin
58%define _bindir /usr/sbin
a19d7677
JK
59%define _libdir /%{_lib}
60%define _libexecdir /usr/%{_lib}
4bf87b58
AF
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}
b087bbdd 64
80ded214
AM
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
ddc220a9
JR
78%description -l pl.UTF-8
79Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
80ded214 80
ddc220a9
JR
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ść.
80ded214
AM
86
87%package devel
88Summary: Header files and libraries to develop XFS software
809af116 89Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
80ded214 90Group: Development/Libraries
8b4647b2 91Requires: %{name} = %{version}-%{release}
2528905a 92Requires: libuuid-devel
80ded214
AM
93
94%description devel
95Header files and libraries to develop software which operates on XFS
96filesystems.
97
ddc220a9
JR
98%description devel -l pl.UTF-8
99Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
100operującego na systemie plików XFS.
80ded214 101
1c0f6863 102%package static
103Summary: Static XFS software libraries
809af116 104Summary(pl.UTF-8): Biblioteki statyczne do XFS
1c0f6863 105Group: Development/Libraries
8b4647b2 106Requires: %{name}-devel = %{version}-%{release}
1c0f6863 107
108%description static
109Static XFS software libraries.
110
ddc220a9 111%description static -l pl.UTF-8
1c0f6863 112Biblioteki statyczne do XFS.
113
a86cbc2d
JR
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
80ded214 127%prep
600886d5 128%setup -q
80ded214 129%patch0 -p1
6ad71900 130%patch2 -p1
9988f6a4 131#%patch3 -p1
df004a70 132%patch4 -p1
2528905a 133%patch5 -p1
9988f6a4
AM
134%patch6 -p1
135%patch7 -p1
136%patch8 -p1
4ede93fd 137
80ded214 138%build
ff9c0a4e 139%{__aclocal} -I m4
00d1530a
JR
140
141%if %{with initrd}
a86cbc2d
JR
142%if %{with dietlibc}
143# dietlibc doesn't have aio.h (and xfsprogs does not need it really)
144# dietlibc has needed librt stuff in libc/libpthread
00d1530a
JR
145sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
146 -e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
147 configure.in
148sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
149sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
a86cbc2d 150%endif
00d1530a
JR
151
152%{__autoconf}
153%configure \
a86cbc2d 154 %{?with_dietlibc:CC="diet %{__cc} -static"} \
a084b099 155 --sbindir=%{_bindir} \
00d1530a
JR
156 --disable-gettext \
157 --disable-readline \
00d1530a 158 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
1e21e3aa 159 OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
00d1530a 160
4bf87b58 161%{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
03dcab3f
JB
162 LIBUUID="%{dietlibdir}/libuuid.a" \
163 V=1
a86cbc2d 164%{__make} -j1 db growfs logprint mkfs mdrestore repair \
4bf87b58 165 LDFLAGS="%{rpmldflags} -all-static" \
03dcab3f
JB
166 LIBUUID="%{dietlibdir}/libuuid.a" \
167 V=1
00d1530a 168
9c0b9403
JR
169mkdir -p initrd
170mv -f db/xfs_db initrd/xfs_db
171mv -f growfs/xfs_growfs initrd/xfs_growfs
172mv -f logprint/xfs_logprint initrd/xfs_logprint
173mv -f mkfs/mkfs.xfs initrd/mkfs.xfs
174mv -f mdrestore/xfs_mdrestore initrd/xfs_mdrestore
175mv -f repair/xfs_repair initrd/xfs_repair
a86cbc2d
JR
176
177%if %{with dietlibc}
00d1530a
JR
178sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
179 -e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
180 configure.in
a86cbc2d 181sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
00d1530a 182sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
a86cbc2d 183%endif
00d1530a 184
a86cbc2d 185%{__make} clean
00d1530a
JR
186%endif
187
551b0d1f 188%{__autoconf}
1c0f6863 189%configure \
a084b099 190 --sbindir=%{_bindir}\
4ede93fd
AM
191 --enable-gettext \
192 --enable-readline \
528ce8b7 193 --enable-blkid \
0c1d4bf9 194 DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
4ede93fd 195 OPTIMIZER="%{rpmcflags}"
00d1530a 196
03dcab3f
JB
197%{__make} -j1 \
198 V=1
80ded214
AM
199
200%install
201rm -rf $RPM_BUILD_ROOT
0efa133e 202install -d $RPM_BUILD_ROOT{%{_libexecdir},/etc}
df004a70 203
9656c3b9
ER
204DIST_ROOT=$RPM_BUILD_ROOT
205DIST_INSTALL=$(pwd)/install.manifest
206DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
59aa30e8 207export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
ff9c0a4e
JB
208
209%{__make} install \
210 DIST_MANIFEST="$DIST_INSTALL"
211%{__make} install-dev \
212 DIST_MANIFEST="$DIST_INSTALL_DEV"
80ded214 213
a32e9a39
AM
214install %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/xfs_lsprojid
215
9656c3b9 216ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
ff9c0a4e 217 $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
0c1d4bf9
JB
218ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
219 $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
9656c3b9 220ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
ff9c0a4e 221 $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
9656c3b9 222ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
ff9c0a4e 223 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
cb190f67 224
51a52578
AM
225mv $RPM_BUILD_ROOT%{_libdir}/lib*.la $RPM_BUILD_ROOT%{_libexecdir}
226mv $RPM_BUILD_ROOT%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libexecdir}
227
4ede93fd 228%{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
51a52578 229 $RPM_BUILD_ROOT%{_libexecdir}/lib{handle,xcmd,xfs,xlog}.la
b13dd065
AM
230%{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
231 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
b756248b 232
a86cbc2d 233%if %{with initrd}
9c0b9403 234install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
03dcab3f 235install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd
a86cbc2d
JR
236%endif
237
6e781c10
PG
238echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects
239echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
240
01483858
JB
241%find_lang %{name}
242
03dcab3f 243%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
5e040522 244
9656c3b9 245# already in /usr
03dcab3f 246%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{handle,xcmd,xfs,xlog}.so
9656c3b9 247
80ded214
AM
248%clean
249rm -rf $RPM_BUILD_ROOT
250
c5b3782d 251%post -p /sbin/ldconfig
c7083593
JR
252%postun -p /sbin/ldconfig
253
01483858 254%files -f %{name}.lang
80ded214 255%defattr(644,root,root,755)
636af8bd 256%doc README doc/{CHANGES,CREDITS}
6e781c10
PG
257%config(noreplace) %verify(not md5 mtime size) /etc/projects
258%config(noreplace) %verify(not md5 mtime size) /etc/projid
0c1d4bf9
JB
259%attr(755,root,root) %{_sbindir}/fsck.xfs
260%attr(755,root,root) %{_sbindir}/mkfs.xfs
261%attr(755,root,root) %{_sbindir}/xfs_repair
262%attr(755,root,root) %{_bindir}/xfs_*
9656c3b9 263%attr(755,root,root) %{_libdir}/libhandle.so.*.*
423c4374 264%attr(755,root,root) %{_libdir}/libxcmd.so.*.*
9656c3b9
ER
265%attr(755,root,root) %{_libdir}/libxfs.so.*.*
266%attr(755,root,root) %{_libdir}/libxlog.so.*.*
9656c3b9 267%attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
423c4374 268%attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
9656c3b9
ER
269%attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
270%attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
275db5b4
AM
271%{_mandir}/man5/projects.5*
272%{_mandir}/man5/projid.5*
0c1d4bf9
JB
273%{_mandir}/man5/xfs.5*
274%{_mandir}/man8/fsck.xfs.8*
275%{_mandir}/man8/mkfs.xfs.8*
276%{_mandir}/man8/xfs_*.8*
80ded214
AM
277
278%files devel
279%defattr(644,root,root,755)
0c1d4bf9
JB
280%attr(755,root,root) %{_libexecdir}/libhandle.so
281%attr(755,root,root) %{_libexecdir}/libxcmd.so
282%attr(755,root,root) %{_libexecdir}/libxfs.so
283%attr(755,root,root) %{_libexecdir}/libxlog.so
0c1d4bf9
JB
284%{_libexecdir}/libhandle.la
285%{_libexecdir}/libxcmd.la
286%{_libexecdir}/libxfs.la
287%{_libexecdir}/libxlog.la
353bc53d 288%{_includedir}/xfs
0c1d4bf9
JB
289%{_mandir}/man3/*handle.3*
290%{_mandir}/man3/xfsctl.3*
1c0f6863 291
292%files static
293%defattr(644,root,root,755)
0c1d4bf9
JB
294%{_libexecdir}/libhandle.a
295%{_libexecdir}/libxcmd.a
296%{_libexecdir}/libxfs.a
297%{_libexecdir}/libxlog.a
a86cbc2d
JR
298
299%if %{with initrd}
300%files initrd
301%defattr(644,root,root,755)
9c0b9403
JR
302%attr(755,root,root) %{_libexecdir}/initrd/mkfs.xfs
303%attr(755,root,root) %{_libexecdir}/initrd/xfs_db
304%attr(755,root,root) %{_libexecdir}/initrd/xfs_growfs
305%attr(755,root,root) %{_libexecdir}/initrd/xfs_logprint
306%attr(755,root,root) %{_libexecdir}/initrd/xfs_mdrestore
307%attr(755,root,root) %{_libexecdir}/initrd/xfs_repair
a86cbc2d 308%endif
This page took 0.078726 seconds and 4 git commands to generate.