Les Mikesell lesmikesell@gmail.com wrote:
I've never said I wanted deltas.
Okay, let's scratch RPM deltas then. That was someone else.
But you _still_ need at least a "delta" on the meta-data. Whether you delta the meta-data files, or you keep multiple copies, you _must_ do so.
YUM repositories do _not_ keep a running journal of changes in their meta-data. And YUM clients _only_ access that meta-data. YUM clients do _not_ inspect the RPM tree for resolution, only the meta-data.
My "conceptual hack" is a way to maintain multiple copies of the repo's meta-data, so you can look up older versions of the repository. It's not as good as a delta of the repository, and you "can't regenerate an old repository," but it does let you reference previous meta-data sets that were previously generated.
Which does most of what you want. You want to be able to pass a date that worked on another system, to any subsequent system. So you can access the repository's meta-data from that time by passing date. But, _again_, that requires the maintainance of _multiple_ sets of the repo meta-data.
The repo meta-data, which is what the YUM client uses, does _not_ contain a history -- only the current set of files, and there is no "date" information (nor can there be without deltas).
I've said I wanted yum to not consider additions to a repository past a certain timestamp so it will make the same update decision it did a week or so ago even if the repostitory has additions.
And I said that is _impossible_!
The YUM client _never_ accesses date information during resolution.
The YUM repository is a "static web site" and cannot provide that information.
The YUM repository contains meta-data matched the _discrete_date_ that "createrepo" or whatever tool that created the meta-data list.
And that's what the YUM client accesses.
To add in date information and all the meta-data associated would massively bloat the meta-data files. Which is why I suggested that conceptual hack, to serve up the meta-data from specific times in the past.
Do you understand this now?