facebookincubator / dnf-plugin-cow

Code to enable Copy on Write features being upstreamed in rpm and librepo
MIT License
8 stars 7 forks source link

Convert to libdnf plugin #1

Open malmond77 opened 3 years ago

malmond77 commented 3 years ago

The Python based plugin system is well established and documented. The downside is that it doesn't work with packagekit, or other tooling that directly interacts with libdnf (including dnf5 / microdnf)

I was originally going to supersede this code and project by doing a PR against libdnf. After more investigation I've found this isn't the right approach. While there is an example plugin in libdnf, it's not easily built. The expectation is that all libdnf plugins will be completely separate packages. To build said packages, you need libdnf-devel, but that's not provided on RHEL / CentOS today making this overly complex. You also need a distinct code base, so this repo continues to have purpose.

As the deadlines for Fedora 34 are looming, I will opt to do the following in the short term:

  1. Establish a new package in rawhide called 'dnf-plugin-cow' with this code
  2. Ship that. It will work with dnf as expected, and remains a limited, opt-in new feature for Fedora 34
  3. Later I or someone else comes back around to this project, and re-implements it as a libdnf plugin. I think it's generally okay to call this project and package dnf-plugin-cow even if should really be called libdnf-plugin-cow. We can rename later if it's important.
geraldosimiao commented 3 months ago

How about this now that dnf is going to be the default at F41? https://github.com/rpm-software-management/dnf5/issues/389#issuecomment-2168568966

davide125 commented 3 months ago

Yes, this is still planned.