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