[Pulp-list] dependency problems when copying errata with --recursive

Adam.Winberg adam.winberg at smhi.se
Thu Dec 17 10:18:28 UTC 2015


I'm syncing Redhat repos every night and then copy rpms from these to my 
own 'frozen' repos every thursday. To minimize the number of updates I 
want to copy only 'Important' and 'Critical' errata to my frozen repos. 
I use this command to achieve this:

$ pulp-admin  rpm repo copy errata --match="severity=Important|Critical" 
--from-repo-id rh-repo-daily --to-repo-id rh-repo-frozen --recursive


The problem is that the --recursive flag does not copy all dependencies, 
or maybe it copies too many. For example, this week there was an 
important kernel errata. The kernel is depending on the 'perf' package 
which in turn is depending on the 'perl' package which in turn is 
depending on the 'perl-libs' package. So all of these were copied to my 
frozen repo. However, there is about a gazillion other perl packages you 
need to copy to avoid version mismatch and failed update, but these are 
not included. So, pulp is not able to read those dependencies (in the 
form of, for example, "perl(Cwd)").

Besides, the copy of the perl rpm was not needed at all in the first 
place, since I already had perl in my frozen repo. It all ended with me 
having to manually delete a number of packages from my frozen repo to 
get the updates to work. This happens quite often and is causing a lot 
of work for us. I could revert back to copying everything, but I would 
really like to be able to only copy relevant packages.


There was some discussion regarding this in an a thread from February 
(https://www.redhat.com/archives/pulp-list/2015-February/msg00009.html) 
with suggestions to add an option to skip copying of a rpm if it is 
already present in the target repo. However, there was no RFE created 
that I know of - is there one or could one be created? Or am I missing 
some already existing way of fixing this problem?

Regards
Adam Winberg




More information about the Pulp-list mailing list