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