Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have mechanisms for cloning RPM repos from the 'net. But what I really want is a way to clone PART of a repo. So far I haven't found any such existing mechanism.

Here's the requirements:

  • We have a local cache of all official RHEL RPMs and updates from official upstream sources. We need to occasionally add target RPMs from a trusted third party on the 'net. Given a target package at a given repo, copy the latest and greatest version of the target RPM to our cache.
  • Additionally, determine all dependencies for that RPM and (here's the tricky part) if the dependencies DO NOT already exist in our local repo cache pull the missing dependencies.

The reason for the second requirement is that we only want the absolute minimal infection from outside sources in our local cache of RPMs. We want to run as much of the official RHEL RPMs as we can and only augment as needed. The problem with blindly cloning an entire third party RPM repo is that sometimes they re-write official packages or add newer versions of official packages. And unless those versions are direct dependencies for our target package, we do not want to those packages in our local repo cache.

The real issue is that none of the existing clone tools (mrepo is the primary example) is they blindly copy the entirety of a repo. We don't want that for cherry picking. If you then try to use yumdownloader or such, you find that it DOES look for dependencies but it only compares against INSTALLED PACKAGES on the current server. You can't tell yumdownloader to compare against a local package repo.

Are there any suggestions on existing tools that can help me?

share|improve this question
add comment

1 Answer 1

Cobbler allows partial repo mirroring, check rpm-list option, section 'REPOSITORIES' in its man page. But I'm not sure about its ability to retrieve dependencies.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.