Skip to content

Code to enable Copy on Write features being upstreamed in rpm and librepo

License

Notifications You must be signed in to change notification settings

rphibel/dnf-plugin-cow

 
 

Repository files navigation

dnf-plugin-cow

Plugin to enable Copy on Write mechanics for RPM within dnf. This code, combined with changes to rpm and librepo are the technical basis for https://fedoraproject.org/wiki/Changes/RPMCoW

Installation

dnf install python3-dnf-plugin-cow

Requirements

  • rpm with cow/transcoding support (see rpm-software-management/rpm#1470)
  • rpm-plugin-reflink installed to handle install mechanics for extent based rpms
  • librepo with transcoding support (see rpm-software-management/librepo#222)
  • Support for reflinking between dnf cache (typically /var/cache/dnf) and the paths included in RPMs. In the most common case this means a root filesystem with btrfs.

Background

The bulk of the code is in the rpm and librepo packages. This code turns "transcoding" on by setting an environment variable telling librepo to use /usr/bin/rpm2extents in a pipeline to convert normal RPMs to extent based ones on disk.

License

dnf-plugin-cow is MIT licensed, as found in the LICENSE file.

About

Code to enable Copy on Write features being upstreamed in rpm and librepo

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 74.4%
  • C 18.3%
  • Python 7.3%