#
# Conditional build:
%bcond_without debug_asserts
-%bcond_without scrub
+%bcond_without libicu # libicu (unicode scanning in xfs_scrub)
+%bcond_without scrub # xfs_scrub utility
+%bcond_without static_libs # static library
#
Summary: Tools for the XFS filesystem
Summary(pl.UTF-8): Narzędzia do systemu plików XFS
Name: xfsprogs
-Version: 6.5.0
+Version: 6.7.0
Release: 1
License: LGPL v2.1 (libhandle), GPL v2 (the rest)
Group: Applications/System
Source0: https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.xz
-# Source0-md5: 312d4f63c02c63a6b8b8b80a9ada11c6
+# Source0-md5: 0bde7bc8b3d8cbbd01064f756f67911f
Source1: xfs_lsprojid
Patch0: %{name}-miscfix-v2.patch
Patch1: %{name}-pl.po-update.patch
-# Patch1-md5: 3c78f00b0e93eb10c4866216a2d0409b
URL: https://xfs.wiki.kernel.org/
# for <attr/attributes.h>
BuildRequires: attr-devel
BuildRequires: libblkid-devel
# without .la file so that -static-libtool-libs won't take libedit.a
BuildRequires: libedit-devel >= 3.1-1.20191231.1
-BuildRequires: libicu-devel
+%{?with_libicu:BuildRequires: libicu-devel}
BuildRequires: libtool
BuildRequires: libuuid-devel
BuildRequires: libuuid-static
BuildRequires: pkgconfig
BuildRequires: rpm >= 4.4.9-56
-BuildRequires: rpmbuild(macros) >= 1.402
+BuildRequires: rpmbuild(macros) >= 1.527
%{?with_scrub:BuildRequires: systemd-devel}
BuildRequires: userspace-rcu-devel
BuildRequires: userspace-rcu-static
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
+
+# files order in pot changes in every version, making diff huge - sort entries first
+%{__mv} po/xfsprogs.pot po/xfsprogs.pot.upstream
+msgcat -F po/xfsprogs.pot.upstream -o po/xfsprogs.pot
+# update line numbers etc.
+%{__mv} po/pl.po po/pl.po.upstream
+msgmerge po/pl.po.upstream po/xfsprogs.pot -o po/pl.po
+%patch1 -p1 -b .orig
%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' scrub/xfs_scrub_all.in tools/xfsbuflock.py
%configure \
DEBUG="%{?with_debug_asserts:-DDEBUG}%{!?with_debug_asserts:-DNDEBUG}" \
OPTIMIZER="%{rpmcflags}" \
- --enable-blkid \
--enable-editline \
--enable-gettext \
- --enable-libicu \
+ %{__enable_disable libicu libicu} \
--disable-lto \
%{?with_scrub:--enable-scrub=yes} \
+ %{__enable_disable static_libs static} \
--with-udev-rule-dir=/lib/udev/rules.d
%{__make} \
# install cron file
%if %{with scrub}
-%{__mv} $RPM_BUILD_ROOT{%{_libdir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all}
+%{__mv} $RPM_BUILD_ROOT{%{_datadir}/%{name}/xfs_scrub_all.cron,/etc/cron.d/xfs_scrub_all}
%else
-%{__rm} $RPM_BUILD_ROOT/%{_libdir}/%{name}/xfs_scrub_all.cron
+%{__rm} $RPM_BUILD_ROOT/%{_datadir}/%{name}/xfs_scrub_all.cron
%endif
# (config file paths are specified in libfrog/projects.c)
%attr(755,root,root) /%{_lib}/libhandle.so.*.*
%attr(755,root,root) %ghost /%{_lib}/libhandle.so.1
%{_datadir}/%{name}
-%dir %{_libdir}/%{name}
%if %{with scrub}
-%attr(755,root,root) %{_libdir}/%{name}/xfs_scrub_fail
+%dir %{_libexecdir}/%{name}
+%attr(755,root,root) %{_libexecdir}/%{name}/xfs_scrub_fail
%endif
%{_mandir}/man5/projects.5*
%{_mandir}/man5/projid.5*
%{_mandir}/man3/*handle.3*
%{_mandir}/man3/xfsctl.3*
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libhandle.a
+%endif