# Conditional build:
%bcond_without initrd # don't build initrd version
%bcond_without dietlibc # link initrd version with static glibc instead of dietlibc
+%bcond_without tcmalloc # don't use tcmalloc
#
Summary: Tools for the XFS filesystem
Summary(pl.UTF-8): Narzędzia do systemu plików XFS
Name: xfsprogs
-Version: 3.1.4
-Release: 1
+Version: 3.1.10
+Release: 2
License: LGPL v2.1 (libhandle), GPL v2 (the rest)
Group: Applications/System
Source0: ftp://linux-xfs.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
-# Source0-md5: 74081975f148bcabcab26c4c3496ede9
+# Source0-md5: d6159f7a664d95b4c150d580399d4400
+Source1: xfs_lsprojid
Patch0: %{name}-miscfix-v2.patch
Patch2: %{name}-sharedlibs.patch
Patch3: %{name}-pl.po-update.patch
Patch4: %{name}-dynamic_exe.patch
Patch5: %{name}-diet.patch
+Patch6: %{name}-repair-tcmalloc.patch
+Patch7: %{name}-noquotasync.patch
URL: http://www.xfs.org/
BuildRequires: autoconf
BuildRequires: automake
%endif
BuildRequires: gettext-devel
BuildRequires: libblkid-devel
+%{?with_tcmalloc:BuildRequires: libtcmalloc-devel}
BuildRequires: libtool
BuildRequires: libuuid-devel
BuildRequires: readline-devel
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpmbuild(macros) >= 1.402
+%{?with_tcmalloc:Requires: libtcmalloc >= 1.8.3-3}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%if "%{pld_release}" == "ac"
%setup -q
%patch0 -p1
%patch2 -p1
-# currently obsolete until needed again
-# %patch3 -p1
+#%patch3 -p1
%patch4 -p1
%patch5 -p1
-
-rm -f include/{builddefs,platform_defs}.h
+%{?with_tcmalloc:%patch6 -p1}
+%patch7 -p1
%build
%{__aclocal} -I m4
# dietlibc has needed librt stuff in libc/libpthread
sed -i -e 's|^AC_PACKAGE_NEED_AIO_H|dnl AC_PACKAGE_NEED_AIO_H|' \
-e 's|^AC_PACKAGE_NEED_LIO_LISTIO|dnl AC_PACKAGE_NEED_LIO_LISTIO|' \
- configure.in
+ configure.ac
sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in
sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
%endif
OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
%{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
- LIBUUID="%{dietlibdir}/libuuid.a"
+ LIBUUID="%{dietlibdir}/libuuid.a" \
+ V=1
%{__make} -j1 db growfs logprint mkfs mdrestore repair \
LDFLAGS="%{rpmldflags} -all-static" \
- LIBUUID="%{dietlibdir}/libuuid.a"
+ LIBUUID="%{dietlibdir}/libuuid.a" \
+ V=1
mkdir -p initrd
mv -f db/xfs_db initrd/xfs_db
%if %{with dietlibc}
sed -i -e 's|^dnl AC_PACKAGE_NEED_AIO_H|AC_PACKAGE_NEED_AIO_H|' \
-e 's|^dnl AC_PACKAGE_NEED_LIO_LISTIO|AC_PACKAGE_NEED_LIO_LISTIO|' \
- configure.in
+ configure.ac
sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in
sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
%endif
DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
OPTIMIZER="%{rpmcflags}"
-%{__make} -j1
+%{__make} -j1 \
+ V=1
%install
rm -rf $RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT%{_libexecdir}
+install -d $RPM_BUILD_ROOT{%{_libexecdir},/etc}
DIST_ROOT=$RPM_BUILD_ROOT
DIST_INSTALL=$(pwd)/install.manifest
%{__make} install-dev \
DIST_MANIFEST="$DIST_INSTALL_DEV"
+install %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/xfs_lsprojid
+
ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libhandle.so.*.*.*) \
$RPM_BUILD_ROOT%{_libexecdir}/libhandle.so
ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
%if %{with initrd}
install -d $RPM_BUILD_ROOT%{_libexecdir}/initrd
-install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd/
+install initrd/* $RPM_BUILD_ROOT%{_libexecdir}/initrd
%endif
+echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects
+echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid
+
%find_lang %{name}
-rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
# already in /usr
-rm -f $RPM_BUILD_ROOT%{_libdir}/libhandle.{a,la,so}
-rm -f $RPM_BUILD_ROOT%{_libdir}/libxcmd.{a,la,so}
-rm -f $RPM_BUILD_ROOT%{_libdir}/libxfs.{a,la,so}
-rm -f $RPM_BUILD_ROOT%{_libdir}/libxlog.{a,la,so}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{handle,xcmd,xfs,xlog}.so
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc README doc/{CHANGES,CREDITS}
+%config(noreplace) %verify(not md5 mtime size) /etc/projects
+%config(noreplace) %verify(not md5 mtime size) /etc/projid
%attr(755,root,root) %{_sbindir}/fsck.xfs
%attr(755,root,root) %{_sbindir}/mkfs.xfs
%attr(755,root,root) %{_sbindir}/xfs_repair