X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=xfsprogs.spec;h=e5b07f59f12f1c6457357eb9a706c4eeb5231691;hb=3eb6b74af28a587fb65b6d18cc1a39e428f17ca6;hp=d2c61a01d42a92c15b9877810c6e390d1ed238f2;hpb=479d48526ba1f6a7978ad0b9195c3f9284f9eddc;p=packages%2Fxfsprogs.git diff --git a/xfsprogs.spec b/xfsprogs.spec index d2c61a0..e5b07f5 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -1,39 +1,36 @@ -# -# 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.UTF-8): Narzędzia do systemu plików XFS Name: xfsprogs -Version: 3.0.0 -Release: 3.1 +Version: 4.15.0 +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: ec734f935ec87ebb8be890d29380a3e6 +Source0: https://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.gz +# Source0-md5: 62096a4a7487bf3b24a6b67be99402f8 +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 -URL: http://oss.sgi.com/projects/xfs/ -BuildRequires: autoconf +Patch1: %{name}-pl.po-update.patch +URL: http://www.xfs.org/ +BuildRequires: autoconf >= 2.50 BuildRequires: automake BuildRequires: bash -%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.31-6} -BuildRequires: gettext-devel +BuildRequires: gettext-tools +BuildRequires: glibc-static +BuildRequires: libblkid-devel BuildRequires: libtool BuildRequires: libuuid-devel +BuildRequires: libuuid-static +BuildRequires: readline-devel +BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpmbuild(macros) >= 1.402 +BuildRequires: sed >= 4.0 +Obsoletes: xfsprogs-initrd BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _sbindir /sbin -%define _bindir /usr/sbin -%define _libdir /%{_lib} -%define _libexecdir /usr/%{_lib} +%if "%{pld_release}" == "ac" +# libtool in ac doesn't do the reordering of args properly +%define filterout_ld -Wl,--as-needed +%endif %description A set of commands to use the XFS filesystem, including mkfs.xfs. @@ -57,6 +54,24 @@ 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 scrub +Summary: xfs_scrub - XFS online check and repair feature (EXPERIMENTAL!) +Summary(pl.UTF-8): xfs_scrub - sprawdzanie i naprawianie zamontowanego systemu plików XFS (EKSPERYMENTALNE!) +Group: Applications/System +Requires: %{name} = %{version}-%{release} +Requires: systemd-units >= 38 + +%description scrub +xfs_scrub is an XFS online check and repair feature. + +WARNING: EXPERIMENTAL, use at your own risk! + +%description scrub -l pl.UTF-8 +xfs_scrub służy do sprawdzania i naprawiania zamontowanego systmeu +plików XFS w locie. + +UWAGA: EXPERIMENTALNE, użycie na własne ryzyko! + %package devel Summary: Header files and libraries to develop XFS software Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki @@ -88,58 +103,25 @@ Biblioteki statyczne do XFS. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -# currently obsolete until needed again -# %patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -rm -f include/{builddefs,platform_defs}.h +%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' scrub/xfs_scrub_all.in tools/xfsbuflock.py %build %{__aclocal} -I m4 - -%if %{with initrd} -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 - %{__autoconf} %configure \ - CC="diet %{__cc} -static" \ - --disable-gettext \ - --disable-readline \ - --disable-shared \ - --enable-static \ DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \ - OPTIMIZER="-Wno-deprecated-declarations -Os -D_BSD_SOURCE" - -%{__make} -j1 include libxfs libxlog libxcmd libhandle libdisk -%{__make} -j1 db growfs logprint mkfs mdrestore repair - -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 - -#{__make} clean -%endif - -%{__autoconf} -%configure \ + OPTIMIZER="%{rpmcflags}" \ + --enable-blkid \ --enable-gettext \ - --enable-readline \ - DEBUG="%{?debug:-DDEBUG}%{!?debug:-DNDEBUG}" \ - OPTIMIZER="%{rpmcflags}" + --enable-readline -%{__make} -j1 +%{__make} -j1 \ + V=1 %install rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/etc/cron.d DIST_ROOT=$RPM_BUILD_ROOT DIST_INSTALL=$(pwd)/install.manifest @@ -151,32 +133,27 @@ export DIST_ROOT DIST_INSTALL DIST_INSTALL_DEV %{__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 +install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/xfs_lsprojid -%find_lang %{name} +# adjust symlink to point to actual library, not libhandle.so symlink, which we remove afterwards +ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libhandle.so.*.*.*) \ + $RPM_BUILD_ROOT%{_libdir}/libhandle.so +# adjust library path used at link time +%{__sed} -i -e "s|libdir='/%{_lib}'|libdir='%{_libdir}'|" \ + $RPM_BUILD_ROOT%{_libdir}/libhandle.la +# already in /usr +%{__rm} $RPM_BUILD_ROOT/%{_lib}/libhandle.{so,la,a} -rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name} +# install cron file +%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all} -# 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} +# (config file paths are specified in libfrog/projects.c) +echo "#10:/mnt/ftp/roman" >> $RPM_BUILD_ROOT/etc/projects +echo "#ftproman:10" >> $RPM_BUILD_ROOT/etc/projid + +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name} + +%find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT @@ -184,48 +161,51 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig +%post scrub +%systemd_reload + %files -f %{name}.lang %defattr(644,root,root,755) %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 +%config(noreplace) %verify(not md5 mtime size) /etc/projects +%config(noreplace) %verify(not md5 mtime size) /etc/projid +%attr(755,root,root) /sbin/fsck.xfs +%attr(755,root,root) /sbin/mkfs.xfs +%attr(755,root,root) /sbin/xfs_repair +%attr(755,root,root) %{_sbindir}/xfs_* +%attr(755,root,root) /%{_lib}/libhandle.so.*.* +%attr(755,root,root) %ghost /%{_lib}/libhandle.so.1 +%dir %{_libdir}/%{name} +%attr(755,root,root) %{_libdir}/%{name}/xfs_scrub_fail +%{_mandir}/man5/projects.5* +%{_mandir}/man5/projid.5* %{_mandir}/man5/xfs.5* %{_mandir}/man8/fsck.xfs.8* %{_mandir}/man8/mkfs.xfs.8* %{_mandir}/man8/xfs_*.8* +%exclude %{_mandir}/man8/xfs_scrub*.8* + +%files scrub +%defattr(644,root,root,755) +%attr(755,root,root) /sbin/xfs_scrub +%attr(755,root,root) /sbin/xfs_scrub_all +%{systemdunitdir}/xfs_scrub@.service +%{systemdunitdir}/xfs_scrub_all.service +%{systemdunitdir}/xfs_scrub_all.timer +%{systemdunitdir}/xfs_scrub_fail@.service +%config(noreplace) %verify(not md5 mtime size) /etc/cron.d/xfs_scrub_all +%{_mandir}/man8/xfs_scrub.8* +%{_mandir}/man8/xfs_scrub_all.8* %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 -%{_libexecdir}/libxlog.la +%attr(755,root,root) %{_libdir}/libhandle.so +%{_libdir}/libhandle.la %{_includedir}/xfs +%{_mandir}/man2/ioctl_xfs_scrub_metadata.2* %{_mandir}/man3/*handle.3* %{_mandir}/man3/xfsctl.3* %files static %defattr(644,root,root,755) -%{_libexecdir}/libdisk.a -%{_libexecdir}/libhandle.a -%{_libexecdir}/libxcmd.a -%{_libexecdir}/libxfs.a -%{_libexecdir}/libxlog.a +%{_libdir}/libhandle.a