erofs-utils/erofs-utils.spec
Abhi Das 51bd9be59c erofs-utils: import erofs-utils-1.8.2 into RHEL10
JIRA: https://issues.redhat.com/browse/RHEL-68370

This version adds multithreading and zstd support.
Also removed erroneous gating.yaml file

Resolves: RHEL-68370
Signed-off-by: Abhi Das <adas@redhat.com>
2024-11-20 13:50:07 -06:00

110 lines
3.8 KiB
RPMSpec

%bcond deflate %[ 0%{?fedora} >= 34 || (0%{?rhel} >= 8 && 0%{?rhel} <= 9) ]
%bcond fuse 1
%bcond lz4 %[ 0%{?fedora} >= 34 || 0%{?rhel} >= 9 ]
%bcond lzma %[ 0%{?fedora} >= 36 || 0%{?rhel} >= 10 ]
%bcond qpl %[ 0%{?fedora} >= 41 && "%{_arch}" == "x86_64" ]
%bcond selinux 1
%bcond uuid 1
%bcond zlib 1
%bcond zstd 1
Name: erofs-utils
Version: 1.8.2
Release: 2%{?dist}
Summary: Utilities for working with EROFS
License: GPL-2.0-only AND GPL-2.0-or-later AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-or-later OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-2-Clause) AND Unlicense
URL: https://erofs.docs.kernel.org/
Source: https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/snapshot/%{name}-%{version}.tar.gz
Patch: https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/patch/?id=882ad1c3157f7544bd4d004e3b6d744f0cbe3ffc#/%{name}-1.8.2-fix-all-fragments.patch
BuildRequires: %[ "%{toolchain}" == "clang" ? "clang compiler-rt" : "gcc" ]
BuildRequires: libtool
BuildRequires: make
%{?with_deflate:BuildRequires: pkgconfig(libdeflate)}
%{?with_fuse:BuildRequires: pkgconfig(fuse3) >= 3.2}
%{?with_lz4:BuildRequires: lz4-devel >= 1.9.3}
%{?with_lzma:BuildRequires: pkgconfig(liblzma) >= 5.4}
%{?with_qpl:BuildRequires: pkgconfig(qpl) >= 1.5.0}
%{?with_selinux:BuildRequires: pkgconfig(libselinux)}
%{?with_uuid:BuildRequires: pkgconfig(uuid)}
%{?with_zlib:BuildRequires: pkgconfig(zlib)}
%{?with_zstd:BuildRequires: pkgconfig(libzstd) >= 1.4.0}
%description
EROFS stands for Enhanced Read-Only File System. It aims to be a general
read-only file system solution for various use cases instead of just focusing
on saving storage space without considering runtime performance.
This package includes tools to create, check, and extract EROFS images.
%if %{with fuse}
%package -n erofs-fuse
Summary: FUSE support for mounting EROFS images
Requires: fuse3
%description -n erofs-fuse
EROFS stands for Enhanced Read-Only File System. It aims to be a general
read-only file system solution for various use cases instead of just focusing
on saving storage space without considering runtime performance.
This package includes erofsfuse to mount EROFS images.
%endif
%prep
%autosetup -p1
autoreconf -fi
%build
%configure \
--enable-multithreading \
--%{?with_deflate:with}%{!?with_deflate:without}-libdeflate \
--%{?with_fuse:enable}%{!?with_fuse:disable}-fuse \
--%{?with_lz4:enable}%{!?with_lz4:disable}-lz4 \
--%{?with_lzma:enable}%{!?with_lzma:disable}-lzma \
--%{?with_qpl:with}%{!?with_qpl:without}-qpl \
--%{?with_selinux:with}%{!?with_selinux:without}-selinux \
--%{?with_uuid:with}%{!?with_uuid:without}-uuid \
--%{?with_zlib:with}%{!?with_zlib:without}-zlib \
--%{?with_zstd:with}%{!?with_zstd:without}-libzstd
%make_build
%install
%make_install
%files
%{_bindir}/dump.erofs
%{_bindir}/fsck.erofs
%{_bindir}/mkfs.erofs
%{_mandir}/man1/dump.erofs.1*
%{_mandir}/man1/fsck.erofs.1*
%{_mandir}/man1/mkfs.erofs.1*
%doc AUTHORS ChangeLog README docs/PERFORMANCE.md docs/compress-hints.example
%license LICENSES/Apache-2.0 LICENSES/GPL-2.0
%if %{with fuse}
%files -n erofs-fuse
%{_bindir}/erofsfuse
%{_mandir}/man1/erofsfuse.1*
%doc AUTHORS ChangeLog README
%license LICENSES/Apache-2.0 LICENSES/GPL-2.0
%endif
%changelog
* Wed Nov 20 2024 Abhi Das <adas@redhat.com> - 1.8.2-2
- Rebase to 1.8.2-2 for zstd and multithreading support and
Remove erroneously added gating.yaml
Resolves: RHEL-68370
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.7.1-5
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Wed Jul 17 2024 Abhi Das <adas@redhat.com> - 1.7.1-4
- Import 1.7.1 to RHEL