X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=xfsprogs.spec;h=1937c3bcfbbe4d5ffaeed308120e1b4a2c636e04;hb=57c431164bffde86e4f7d91ce41e192cf6e0dbda;hp=b699776b624be7918c7acaa4b82cca82ba66aaea;hpb=f645b503bd6c4ad0989c17c0a30807592b69a05a;p=packages%2Fxfsprogs.git diff --git a/xfsprogs.spec b/xfsprogs.spec index b699776..1937c3b 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -1,30 +1,48 @@ -# conditional build -# --with static +# +# Conditional build: +%bcond_without initrd # don't build initrd version +%bcond_without dietlibc # link initrd version with static glibc instead of dietlibc +# 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.3.9 -Release: 1 -License: GPL +Version: 3.0.0 +Release: 4 +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 +Patch6: %{name}-diet.patch +Patch7: %{name}-static-librt.patch +URL: http://oss.sgi.com/projects/xfs/ BuildRequires: autoconf BuildRequires: automake BuildRequires: bash +%if %{with initrd} + %if %{with dietlibc} +BuildRequires: dietlibc-static >= 2:0.31-6 +BuildRequires: libuuid-dietlibc + %else +BuildRequires: glibc-static +BuildRequires: libuuid-static + %endif +%endif +BuildRequires: gettext-devel BuildRequires: libtool -BuildRequires: e2fsprogs-devel -%{?_with_static:BuildRequires: e2fsprogs-static} -URL: http://oss.sgi.com/projects/xfs/ +BuildRequires: libuuid-devel +BuildRequires: rpmbuild(macros) >= 1.402 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -Obsoletes: libxfs1 %define _sbindir /sbin %define _bindir /usr/sbin -%define _libdir /lib -%define _libexecdir /usr/lib +%define _libdir /%{_lib} +%define _libexecdir /usr/%{_lib} %description A set of commands to use the XFS filesystem, including mkfs.xfs. @@ -39,110 +57,225 @@ scalability. 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} -Obsoletes: libxfs1-devel +Requires: %{name} = %{version}-%{release} +Requires: libuuid-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. +%package initrd +Summary: Tools for the XFS filesystem - initrd version +Summary(pl.UTF-8): Narzędzia do systemu plików XFS - wersja dla initrd +Group: Base + +%description initrd +A set of commands to use the XFS filesystem, including mkfs.xfs + - initrd version. + +%description initrd -l pl.UTF-8 +Zbiór komend do użytku z systemem plików XFS, włączając w to mkfs.xfs + - wersja dla initrd. + %prep -%setup -q +%setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 +# currently obsolete until needed again +# %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 + +rm -f include/{builddefs,platform_defs}.h %build -DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" -OPTIMIZER="%{rpmcflags}" -export DEBUG OPTIMIZER -%{__aclocal} +%{__aclocal} -I m4 + +%if %{with initrd} +%if %{with dietlibc} +# dietlibc doesn't have aio.h (and xfsprogs does not need it really) +# 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 +sed -i -e 's|\(^LIBRT.*=.*\)|# \1|' include/builddefs.in +sed -i -e 's|\(^LLDLIBS.*=.*\)|\1 -lcompat|' db/Makefile mkfs/Makefile +%endif + +%{__autoconf} +%configure \ + %{?with_dietlibc:CC="diet %{__cc} -static"} \ + --disable-gettext \ + --disable-readline \ + DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \ + OPTIMIZER="-Wno-deprecated-declarations -Os -D_BSD_SOURCE -D__USE_XOPEN_EXTENDED" + +%{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk +%{__make} -j1 db growfs logprint mkfs mdrestore repair \ + LDFLAGS="%{rpmldflags} -all-static" + +mv -f db/xfs_db initrd-xfs_db +mv -f growfs/xfs_growfs initrd-xfs_growfs +mv -f logprint/xfs_logprint initrd-xfs_logprint +mv -f mkfs/mkfs.xfs initrd-mkfs.xfs +mv -f mdrestore/xfs_mdrestore initrd-xfs_mdrestore +mv -f repair/xfs_repair initrd-xfs_repair + +%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 +sed -i -e 's|^# \(LIBRT.*=.*\)|\1|' include/builddefs.in +sed -i -e 's|\(^LLDLIBS.*=.*\) -lcompat|\1|' db/Makefile mkfs/Makefile +%endif + +%{__make} clean +%endif + %{__autoconf} %configure \ - %{!?_with_static:--enable-shared-uuid=yes} \ - %{?_with_static:--disable-shared --disable-shared-uuid} + --enable-gettext \ + --enable-readline \ + DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \ + OPTIMIZER="%{rpmcflags}" -%{__make} \ - %{?_with_static:LTLINK='$(LIBTOOL) --mode=link %{__cc} -all-static' LDFLAGS=-static} +%{__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:sed -i -e 's/\.lai/.la/' include/buildmacros} -%{__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 path_to_handle.3" \ - > $RPM_BUILD_ROOT%{_mandir}/man3/$man -done - -rm -f $RPM_BUILD_ROOT%{_mandir}/man8/xfs_info.8 -echo ".so xfs_growfs.8" > $RPM_BUILD_ROOT%{_mandir}/man8/xfs_info.8 - -ln -sf %{_libdir}/libhandle.so.1.0.1 $RPM_BUILD_ROOT%{_libexecdir}/libhandle.so -ln -sf %{_libdir}/libdisk.so.0.0.0 $RPM_BUILD_ROOT%{_libexecdir}/libdisk.so -ln -sf %{_libdir}/libxfs.so.0.0.0 $RPM_BUILD_ROOT%{_libexecdir}/libxfs.so -ln -sf %{_libdir}/libxlog.so.0.0.0 $RPM_BUILD_ROOT%{_libexecdir}/libxlog.so + +%{__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 + +%if %{with initrd} +install initrd-xfs_db $RPM_BUILD_ROOT%{_sbindir} +install initrd-xfs_growfs $RPM_BUILD_ROOT%{_sbindir} +install initrd-xfs_logprint $RPM_BUILD_ROOT%{_sbindir} +install initrd-mkfs.xfs $RPM_BUILD_ROOT%{_sbindir} +install initrd-xfs_mdrestore $RPM_BUILD_ROOT%{_sbindir} +install initrd-xfs_repair $RPM_BUILD_ROOT%{_sbindir} +%endif + +%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/{CHANGES,CREDITS,README.*} -%attr(755,root,root) %{_sbindir}* -%attr(755,root,root) %{_bindir}/* -%{!?_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/* -%{_includedir}/disk +%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 -%{!?_with_static:%{_libexecdir}/*.la} -%attr(755,root,root) %{_libexecdir}/*.so +%{_mandir}/man3/*handle.3* +%{_mandir}/man3/xfsctl.3* %files static %defattr(644,root,root,755) -%{_libexecdir}/*.a +%{_libexecdir}/libdisk.a +%{_libexecdir}/libhandle.a +%{_libexecdir}/libxcmd.a +%{_libexecdir}/libxfs.a +%{_libexecdir}/libxlog.a + +%if %{with initrd} +%files initrd +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/initrd-* +%endif