]> git.pld-linux.org Git - packages/xfsprogs.git/blobdiff - xfsprogs.spec
- fix without tcmalloc deps
[packages/xfsprogs.git] / xfsprogs.spec
index 71e84184fcee87322ebb09ddf9cf6b5f1bb635d5..9ad3c80780b3eeeef82fef2b16fbe377539bb8fb 100644 (file)
@@ -2,25 +2,28 @@
 # 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.0.1
-Release:       1
+Version:       3.1.7
+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: d7f879a21692d4f7abc16a20479b0829
+# Source0-md5: 049cf9873794ea49d0bb3f12d45748a4
+Source1:       xfs_lsprojid
 Patch0:                %{name}-miscfix-v2.patch
-Patch1:                %{name}-install-sh.patch
 Patch2:                %{name}-sharedlibs.patch
 Patch3:                %{name}-pl.po-update.patch
 Patch4:                %{name}-dynamic_exe.patch
-Patch5:                %{name}-LDFLAGS.patch
-Patch6:                %{name}-diet.patch
-Patch7:                %{name}-static-librt.patch
-URL:           http://oss.sgi.com/projects/xfs/
+Patch5:                %{name}-diet.patch
+Patch6:                %{name}-repair-mem.patch
+Patch7:                %{name}-repair-nofutexhang.patch
+Patch8:                %{name}-repair-tcmalloc.patch
+Patch9:                %{name}-noquotasync.patch
+URL:           http://www.xfs.org/
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: bash
@@ -34,15 +37,32 @@ BuildRequires:      libuuid-static
        %endif
 %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"
+# libtool in ac doesn't do the reordering of args properly
+%define                filterout_ld -Wl,--as-needed
+%endif
+
+# libxlog uses symbols from binary that links to libxlog
+# libxcmd uses ("program") symbol from binary that links to libxcmd
+%define                skip_post_check_so      libxlog.so.0.0.0        libxcmd.so.0.0.0
+
 %define                _sbindir        /sbin
 %define                _bindir         /usr/sbin
 %define                _libdir         /%{_lib}
 %define                _libexecdir     /usr/%{_lib}
+# for some reason known only to rpm there must be "\\|" not "\|" here
+%define         dietarch        %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
+%define         dietlibdir      %{_prefix}/lib/dietlibc/lib-%{dietarch}
 
 %description
 A set of commands to use the XFS filesystem, including mkfs.xfs.
@@ -109,16 +129,14 @@ Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
 %patch2 -p1
-# currently obsolete until needed again
-# %patch3 -p1
+%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-
-rm -f include/{builddefs,platform_defs}.h
+%{?with_tcmalloc:%patch8 -p1}
+%patch9 -p1
 
 %build
 %{__aclocal} -I m4
@@ -137,14 +155,19 @@ sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile
 %{__autoconf}
 %configure \
        %{?with_dietlibc:CC="diet %{__cc} -static"} \
+       --sbindir=%{_bindir} \
        --disable-gettext \
        --disable-readline \
        DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
        OPTIMIZER="%{rpmcflags} -Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED"
 
-%{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk
+%{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk \
+       LIBUUID="%{dietlibdir}/libuuid.a" \
+       V=1
 %{__make} -j1 db growfs logprint mkfs mdrestore repair \
-       LDFLAGS="%{rpmldflags} -all-static"
+       LDFLAGS="%{rpmldflags} -all-static" \
+       LIBUUID="%{dietlibdir}/libuuid.a" \
+       V=1
 
 mkdir -p initrd
 mv -f db/xfs_db initrd/xfs_db
@@ -167,15 +190,19 @@ sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile
 
 %{__autoconf}
 %configure \
+       --sbindir=%{_bindir}\
        --enable-gettext \
        --enable-readline \
+       --enable-blkid \
        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},/etc}
 
 DIST_ROOT=$RPM_BUILD_ROOT
 DIST_INSTALL=$(pwd)/install.manifest
@@ -187,10 +214,10 @@ export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
 %{__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}/libdisk.so.*.*.*) \
-       $RPM_BUILD_ROOT%{_libexecdir}/libdisk.so
 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxcmd.so.*.*.*) \
        $RPM_BUILD_ROOT%{_libexecdir}/libxcmd.so
 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
@@ -198,26 +225,28 @@ ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxfs.so.*.*.*) \
 ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
        $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
 
+mv $RPM_BUILD_ROOT%{_libdir}/lib*.la $RPM_BUILD_ROOT%{_libexecdir}
+mv $RPM_BUILD_ROOT%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libexecdir}
+
 %{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
-       $RPM_BUILD_ROOT%{_libexecdir}/lib{disk,handle,xcmd,xfs,xlog}.la
+       $RPM_BUILD_ROOT%{_libexecdir}/lib{handle,xcmd,xfs,xlog}.la
 %{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
        $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
 
 %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}/libdisk.{a,la,so}
-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
@@ -228,16 +257,16 @@ 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
 %attr(755,root,root) %{_bindir}/xfs_*
-%attr(755,root,root) %{_libdir}/libdisk.so.*.*
 %attr(755,root,root) %{_libdir}/libhandle.so.*.*
 %attr(755,root,root) %{_libdir}/libxcmd.so.*.*
 %attr(755,root,root) %{_libdir}/libxfs.so.*.*
 %attr(755,root,root) %{_libdir}/libxlog.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdisk.so.0
 %attr(755,root,root) %ghost %{_libdir}/libhandle.so.1
 %attr(755,root,root) %ghost %{_libdir}/libxcmd.so.0
 %attr(755,root,root) %ghost %{_libdir}/libxfs.so.0
@@ -251,12 +280,10 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/libdisk.so
 %attr(755,root,root) %{_libexecdir}/libhandle.so
 %attr(755,root,root) %{_libexecdir}/libxcmd.so
 %attr(755,root,root) %{_libexecdir}/libxfs.so
 %attr(755,root,root) %{_libexecdir}/libxlog.so
-%{_libexecdir}/libdisk.la
 %{_libexecdir}/libhandle.la
 %{_libexecdir}/libxcmd.la
 %{_libexecdir}/libxfs.la
@@ -267,7 +294,6 @@ rm -rf $RPM_BUILD_ROOT
 
 %files static
 %defattr(644,root,root,755)
-%{_libexecdir}/libdisk.a
 %{_libexecdir}/libhandle.a
 %{_libexecdir}/libxcmd.a
 %{_libexecdir}/libxfs.a
This page took 0.096108 seconds and 4 git commands to generate.