[CentOS-devel] Delta RPMs disabled by default?

Wed Jul 9 19:37:56 UTC 2014
Les Mikesell <lesmikesell at gmail.com>

On Wed, Jul 9, 2014 at 1:36 PM, Howard Johnson <merlin at mwob.org.uk> wrote:
>> So there's no way to force yum to only use deltas - or better, one set
>> of deltas?   I've been looking for a sane way to get repeatable
>> updates out of yum forever (i.e. update production to match your last
>> QA update after testing is complete), and no, I don't consider keeping
>> a snapshot copy of a repository in every state that I might want to
>> reproduce to be a sane approach.
> What you want sounds like a couple of fairly simple python scripts using
> the yum api.  On box A, run a script that dumps a list of installed
> packages, with full N-V-R for each.  Move the list to box B.  Pass it to
> another script that creates a yum transaction to upgrade (or downgrade)
> packages to those versions, and install any missing packages.  For bonus
> points it could remove extra packages it finds.  None of this requires
> drpms.  Hell, if you don't feel like going near the yum api, I reckon
> you could do it with a bash script to generate an input file to pass to
> "yum shell".
> Actual implementation of said scripts is of course an exercise for the
> reader ;)  And probably quite a fun and rewarding one, too.

Yeah, assuming the boxes are identical to start, I think you can just
'yum list installed' and feed that on the command line  to 'yum update
big_list' on the others.   But that is awkward, gets ugly with
hardware-related packages, and probably breaks if you cross a minor
rev boundary in Centos.   What I'm really looking for is something
like a repository transaction id or even a timestamp to mark the last
repository change to update to.   That is, something simple I could
pick up from the repository to identify its current state
during/before the test system update and then use to tell yum on the
corresponding production update to ignore anything newer than that.
Effectively this would correspond to the use of tags in a source
control system, and for exactly the same usage and reasons.   It would
come close if you could tell it not to use any source of rpms _except_
a particular set of deltas and storing those sets might be slightly
more sane than full repository snapshots for states you might like to

   Les Mikesell
     lesmikesell at gmail.com