# # spec file for package xfsprogs # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define _dracutmodulesdir %{_libexecdir}/dracut/modules.d Name: xfsprogs Version: 4.15.0 Release: 0 Summary: Utilities for managing the XFS file system License: GPL-2.0+ Group: System/Filesystems Url: http://xfs.org Source0: https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-%{version}.tar.xz Source1: https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-%{version}.tar.sign Source2: %{name}.keyring Source3: module-setup.sh.in Source4: dracut-fsck-help.txt Patch0: xfsprogs-docdir.diff Patch1: make_xfs_scrub_interp_explicit.patch Patch2: xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch Patch3: 0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch Patch4: xfsprogs-repair-Fix-root-inode-s-parent-when-it-s-bogus-f.patch Patch5: xfsprogs-xfs_repair-Add-missing-braces-to-allow-zeroing-of-co.patch Patch6: xfsprogs-xfs_repair-allow-in-attribute-names.patch Patch7: xfsprogs-xfs-hoist-xfs_fs_geometry-to-libxfs.patch Patch8: xfsprogs-xfs-refactor-the-geometry-structure-filling-function.patch Patch9: xfsprogs-xfs_spaceman-add-a-superblock-info-command.patch Patch10: xfsprogs-xfs_info-move-to-xfs_spaceman.patch Patch11: xfsprogs-xfs_db-add-a-superblock-info-command.patch Patch12: xfsprogs-libfrog-refactor-fs-geometry-printing-function.patch Patch13: xfsprogs-mkfs-use-geometry-generation-helper-functions.patch Patch14: xfsprogs-xfs_info-call-xfs_db-for-offline-filesystems.patch Patch15: xfsprogs-xfs_info-use-findmnt-to-handle-mounted-block-devices.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libblkid-devel BuildRequires: readline-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libuuid-devel %if 0%{?suse_version} >= 1010 # hint for ZYPP Supplements: filesystem(xfs) %endif %if 0%{?suse_version} >= 1310 BuildRequires: suse-module-tools %endif BuildRequires: xz Requires(post): coreutils %description A set of commands to use the XFS file system, including mkfs.xfs. XFS is a high performance journaling file system which originated on the SGI IRIX platform. It is completely multithreaded. It can support large files and large file systems, extended attributes, and variable block sizes.It is extent based and makes extensive use of Btrees (directories, extents, and free space) to aid both performance and scalability. Refer to the documentation at http://oss.sgi.com/projects/xfs/ for complete details. This implementation is on-disk compatible with the IRIX version of XFS. %package devel Summary: XFS Filesystem-specific Static Libraries and Headers Group: Development/Libraries/C and C++ Requires: xfsprogs = %{version} Requires: pkgconfig(uuid) %description devel xfsprogs-devel contains the libraries and header files needed to develop XFS file system-specific programs. You should install xfsprogs-devel if you want to develop XFS file system-specific programs. If you install xfsprogs-devel, you will also want to install xfsprogs. %prep %setup -q %if 0%{?suse_version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %endif %build aclocal -I m4 autoconf export OPTIMIZER="-fPIC" export DEBUG=-DNDEBUG export LIBUUID=%{_libdir}/libuuid.a %configure --enable-readline=yes --without-systemd-unit-dir make %{?_smp_mflags} V=1 PATH_TO_HELP="%{_dracutmodulesdir}/95suse-xfs/dracut-fsck-help.txt" sed -e "s|@@PATH_TO_HELP@@|$PATH_TO_HELP|" %{SOURCE3} > module-setup.sh %install export DIST_ROOT=%{buildroot} make install make install-dev # Move libhandle to usr, libhandle.{a,la} are symlinks to usr/lib* already so # remove them first. rm %{buildroot}/%{_lib}/libhandle.a rm %{buildroot}/%{_lib}/libhandle.la mv %{buildroot}/%{_lib}/* %{buildroot}%{_libdir} %find_lang %{name} install -m 0755 -d %{buildroot}/%{_dracutmodulesdir}/95suse-xfs/ install -m 0755 module-setup.sh %{buildroot}/%{_dracutmodulesdir}/95suse-xfs/ install -m 0644 %{SOURCE4} %{buildroot}/%{_dracutmodulesdir}/95suse-xfs/ %if 0%{?suse_version} >= 1310 %post %{?regenerate_initrd_post} /sbin/ldconfig %postun %{?regenerate_initrd_post} /sbin/ldconfig %posttrans %{?regenerate_initrd_posttrans} %else %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %endif %files -f %{name}.lang %defattr(-,root,root,755) #UsrMerge /sbin/* #EndUsrMerge %{_sbindir}/* # this is only used by xfs cmds, therefore no urgent need for a shlib package %{_libdir}/libhandle.so.* %dir %{_libdir}/xfsprogs/ %{_libdir}/xfsprogs/xfs_scrub_all.cron %doc %{_mandir}/man[258]/* %doc %{_defaultdocdir}/%{name} %dir %{_libexecdir}/dracut %dir %{_libexecdir}/dracut/modules.d %dir %{_dracutmodulesdir}/95suse-xfs/ %{_dracutmodulesdir}/95suse-xfs/dracut-fsck-help.txt %{_dracutmodulesdir}/95suse-xfs/module-setup.sh %files devel %defattr(-,root,root,755) %{_includedir}/xfs %{_libdir}/*.so %{_libdir}/*.a %{_libdir}/*.la %{_mandir}/man3/* %changelog