On Sat, Jan 2, 2021, at 10:03 AM, Zbigniew Jędrzejewski-Szmek wrote:
I fail to see why this would be significantly better...
I don't claim that the "separate temporary directory of unpacked content" is
*better* - just that it's as easy to implement *and* doesn't require an RPM format
change (with all the consequent pain) or support for reflinks from the underlying
filesystem.
The logic to
handle the split rpm contents would seem to be more complicated than the
rewrite with /usr/bin/rpm2extents. Other comments?
Hard to really say for sure I guess without trying to write both. Probably the biggest
impediment is that changes like that would end up needing to be split across the librpm +
zypper/rpm-ostree/dnf tools. It wasn't an accident really that for rpm-ostree
/usr/bin/rpm is read-only - we effectively squash those layers togther and can thus make
deep changes as a single unit.
Anyways, none of this really *requires* reflinks in any way and so calling the Change
"RPMCoW" is misleading from that perspective. "DnfParallelUnpack"
would probably be a better title, with a dependency on "RPMFormatCowReady" or
something. And then my point is that one could do "DnfParallelUnpack" without
changing the RPM format without much more complexity, if any.