-# conditional build
-# --with static
Summary: Tools for the XFS filesystem
-Summary(pl): Narzêdzia do systemu plików XFS
+Summary(pl.UTF-8): Narzędzia do systemu plików XFS
Name: xfsprogs
-Version: 2.0.1
-Release: 1
-License: GPL
+Version: 3.0.0
+Release: 3
+License: LGPL v2.1 (libhandle), GPL v2 (the rest)
Group: Applications/System
-Source0: ftp://linux-xfs.sgi.com/projects/xfs/download/cmd_tars/%{name}-%{version}.src.tar.gz
+Source0: ftp://linux-xfs.sgi.com/projects/xfs/cmd_tars/%{name}-%{version}.tar.gz
+# Source0-md5: ec734f935ec87ebb8be890d29380a3e6
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
+URL: http://oss.sgi.com/projects/xfs/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bash
-BuildRequires: e2fsprogs-devel
-URL: http://oss.sgi.com/projects/xfs/
+BuildRequires: gettext-devel
+BuildRequires: libtool
+BuildRequires: libuuid-devel
+BuildRequires: rpmbuild(macros) >= 1.402
+Obsoletes: libxfs1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _sbindir /sbin
+%define _bindir /usr/sbin
+%define _libdir /%{_lib}
+%define _libexecdir /usr/%{_lib}
+
%description
A set of commands to use the XFS filesystem, including mkfs.xfs.
This implementation is on-disk compatible with the IRIX version of
XFS.
-%description -l pl
-Zbiór komend do u¿ytku z systemem plików XFS, w³±czaj±c w to mkfs.xfs.
+%description -l pl.UTF-8
+Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs.
-XFS jest wysoko wydajnym systemem plików z kronik±, który oryginalnie
-by³ u¿ywany na platformie SGI IRIX. Jest to w pe³ni wielow±tkowy,
-obs³uguj±cy wielkie pliki oraz wielkie systemy, o rozszerzonych
-atrybutach, zmiennych wielko¶ciach bloków, mocno wykorzystuj±cy
-B-drzewa by uzyskaæ wysok± wydajno¶æ oraz skalowalno¶æ.
+XFS jest wysoko wydajnym systemem plików z kroniką, który oryginalnie
+był używany na platformie SGI IRIX. Jest to w pełni wielowątkowy,
+obsługujący wielkie pliki oraz wielkie systemy, o rozszerzonych
+atrybutach, zmiennych wielkościach bloków, mocno wykorzystujący
+B-drzewa by uzyskać wysoką wydajność oraz skalowalność.
%package devel
Summary: Header files and libraries to develop XFS software
-Summary(pl): Pliki nag³ówkowe i biblioteki
+Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki
Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: libuuid-devel
+Obsoletes: libxfs1-devel
%description devel
Header files and libraries to develop software which operates on XFS
filesystems.
-%description devel -l pl
-Pliki nag³ówkowe i biblioteki potrzebne do rozwoju oprogramowania
-operuj±cego na systemie plików XFS.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i biblioteki potrzebne do rozwoju oprogramowania
+operującego na systemie plików XFS.
%package static
Summary: Static XFS software libraries
-Summary(pl): Biblioteki statyczne do XFS
+Summary(pl.UTF-8): Biblioteki statyczne do XFS
Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
%description static
Static XFS software libraries.
-%description static -l pl
+%description static -l pl.UTF-8
Biblioteki statyczne do XFS.
%prep
-%setup -q
+%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+# currently obsolete until needed again
+# %patch3 -p1
+%patch4 -p1
+%patch5 -p1
+
+rm -f include/{builddefs,platform_defs}.h
%build
-DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}"
-OPTIMIZER="%{rpmcflags}"
-export DEBUG OPTIMIZER
-aclocal
-autoconf
+%{__aclocal} -I m4
+%{__autoconf}
%configure \
- %{!?_with_static:--enable-shared-uuid=yes} \
- %{?_with_static:--disable-shared --disable-shared-uuid}
-
-%{__make} \
- %{?_with_static:LTLINK='$(LIBTOOL) --mode=link %{__cc} -all-static' LDFLAGS=-static}
+ --enable-gettext \
+ --enable-readline \
+ DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \
+ OPTIMIZER="%{rpmcflags}"
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
-DIST_ROOT="$RPM_BUILD_ROOT"
-DIST_INSTALL=`pwd`/install.manifest
-DIST_INSTALL_DEV=`pwd`/install-dev.manifest
+DIST_ROOT=$RPM_BUILD_ROOT
+DIST_INSTALL=$(pwd)/install.manifest
+DIST_INSTALL_DEV=$(pwd)/install-dev.manifest
export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV
-%{?_with_static:cp include/builddefs include/builddefs.tmp}
-%{?_with_static:sed -e 's/\.lai/.la/' include/builddefs.tmp > include/builddefs}
-%{__make} install DIST_MANIFEST="$DIST_INSTALL"
-%{__make} install-dev DIST_MANIFEST="$DIST_INSTALL_DEV"
-
-for man in attr_list_by_handle.3 attr_multi_by_handle.3 \
- fd_to_handle.3 free_handle.3 fssetdm_by_handle.3 \
- handle_to_fshandle.3 open_by_handle.3 path_to_fshandle.3 \
- readlink_by_handle.3; do
- rm -f $RPM_BUILD_ROOT%{_mandir}/man3/$man
- echo ".so man3/path_to_handle.3" \
- > $RPM_BUILD_ROOT%{_mandir}/man3/$man
-done
-
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/xfs_info.8
-echo ".so man8/xfs_growfs.8" > $RPM_BUILD_ROOT%{_mandir}/man8/xfs_info.8
-gzip -9nf doc/{CHANGES,CREDITS,README.*}
+%{__make} install \
+ DIST_MANIFEST="$DIST_INSTALL"
+%{__make} install-dev \
+ DIST_MANIFEST="$DIST_INSTALL_DEV"
+
+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.*.*.*) \
+ $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so
+ln -sf %{_libdir}/$(basename $RPM_BUILD_ROOT%{_libdir}/libxlog.so.*.*.*) \
+ $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so
+
+%{__sed} -i -e "s|libdir='%{_libdir}'|libdir='%{_libexecdir}'|" \
+ $RPM_BUILD_ROOT%{_libexecdir}/lib{disk,handle,xcmd,xfs,xlog}.la
+%{__sed} -i -e "s| %{_libdir}/libxfs.la | %{_libexecdir}/libxfs.la |" \
+ $RPM_BUILD_ROOT%{_libexecdir}/libxlog.la
+
+%find_lang %{name}
+
+rm -rf $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}
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
+%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc doc/*.gz
-%attr(755,root,root) /sbin/*
-%attr(755,root,root) %{_sbindir}/*
-%{!?_with_static:%attr(755,root,root) /lib/lib*.so.*}
-%{_mandir}/man[185]/*
+%doc README doc/{CHANGES,CREDITS}
+%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
+%attr(755,root,root) %ghost %{_libdir}/libxlog.so.0
+%{_mandir}/man5/xfs.5*
+%{_mandir}/man8/fsck.xfs.8*
+%{_mandir}/man8/mkfs.xfs.8*
+%{_mandir}/man8/xfs_*.8*
%files devel
%defattr(644,root,root,755)
-%{_mandir}/man3/*
+%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
+%{_libexecdir}/libxlog.la
%{_includedir}/xfs
+%{_mandir}/man3/*handle.3*
+%{_mandir}/man3/xfsctl.3*
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
+%{_libexecdir}/libdisk.a
+%{_libexecdir}/libhandle.a
+%{_libexecdir}/libxcmd.a
+%{_libexecdir}/libxfs.a
+%{_libexecdir}/libxlog.a