%{!?dnf_lowest_compatible: %global dnf_lowest_compatible 4.2.23} Name: dnf-plugin-cow Version: 0.0.4 Release: 2%{?dist} Summary: DNF plugin to enable Copy on Write in RPM URL: https://github.com/facebookincubator/dnf-plugin-cow License: MIT Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-dnf >= %{dnf_lowest_compatible} %description Source package for DNF plugin to enable Copy on Write in DNF and RPM. %package -n python3-%{name} Summary: DNF plugin to enable Copy on Write in RPM - Python3 Requires: python3-dnf >= %{dnf_lowest_compatible} # Using recommends to allow the plugin to be installed even if the requirements # are not packaged/available yet. Recommends: /usr/bin/rpm2extents Recommends: rpm-plugin-reflink %description -n python3-%{name} Installing this package enables a DNF plugin which changes the behaviour of librepo. Instead of downloading rpm files directly into cache before installation they will be "transcoded" into "extent based" rpms which contain all the constituent files of the rpm already uncompressed. This package depends on a version of rpm which includes /usr/bin/rpm2extents and the sub-package rpm-plugin-reflink which understands these "extent based" rpms and can install files without copying the underlying data. This package broadly assumes the root filesystem supports copy on write / reflink'ing. Today this means btrfs or xfs. %prep %autosetup -n %{name}-%{version} %build %install install -D -p reflink.conf %{buildroot}%{_sysconfdir}/dnf/plugins/reflink.conf install -D -p reflink.py %{buildroot}%{python3_sitelib}/dnf-plugins/reflink.py %files -n python3-%{name} %license LICENSE %doc README.md %config(noreplace) %{_sysconfdir}/dnf/plugins/reflink.conf %{python3_sitelib}/dnf-plugins/reflink.py %{python3_sitelib}/dnf-plugins/__pycache__/reflink.* %changelog * Mon Dec 05 2022 Davide Cavalca 0.0.4-2 - Drop unneeded patch that's now upstream * Tue Nov 29 2022 Richard Phibel 0.0.4-1 - Add RPM CoW deny list * Tue Nov 29 2022 Davide Cavalca 0.0.3-5 - Sync c8s and c9s Hyperscale branches * Tue Nov 29 2022 Davide Cavalca 0.0.3-4 - Convert to dist-git layout * Mon Jun 13 2022 Manu Bretelle 0.0.3-3 - Re-enable rpm signature validation * Wed Mar 02 2022 Manu Bretelle 0.0.3-2 - Repackage for hyperscale experimental repos. * Tue May 11 2021 Matthew Almond 0.0.3-1.fb1 - New release including PR #3 directly. * Wed May 05 2021 Matthew Almond 0.0.2-1.fb1 - Pulled spec from Fedora - Applying PR #3 fix * Fri Jan 22 2021 Matthew Almond 0.0.2-1 - Minor version bump. * Wed Jan 20 2021 Matthew Almond 0.0.1-3 - Separated package into top level "dnf-plugin-cow" concept with implementation "python3-dnf-plugin-cow". This allows for "libdnf-plugin-cow" later without renaming this package. * Tue Jan 19 2021 Matthew Almond 0.0.1-2 - Prefixed name with python3- to follow guidelines * Wed Dec 23 2020 Matthew Almond 0.0.1-1 - Initial version