Thomas Lange <la...@cs.uni-koeln.de> writes: > > Isn’t rinse already doing the heavy lifting in donwloading all specified > > packages? Createrepo then creates the metadata for a directory full of > > existing RPMs: > rinse does no resolve dependencies.
I’ve looked into this: there is a program "repotrack" (available as part of the Debian yum-utils package). This tool takes the name of a RPM package on the commandline and will download the package and all dependencies from a configured RPM repo into a given directory. So we can do this in a loop for all packages identified by install_packages. Finally we call "createrepo" (from the Debian package of the same name) to turn the RPM files into a valid yum repo. Attached is proof of concept script "fai-mirror-rpm". It expects a valid repo configuration in /etc/yum.repos.d as used with RPM based distributions. Currently unsolved issues: * for multiple operating systems we would need different repo configs in /etc/yum.repos.d and a way to tell repotrack the correct ones. There is an option for that but the script currently does not handle this case. * Yum has a concept of package groups (in my FAI scripts/hooks I do a "yum groupinstall core" or "yum groupinstall minimal-environment" to install the base system). The repo created by "createrepo" can only create a groups-enabled repo by providing a file in XML format on the commandline. Without this the repo has no data for yum to decide which packages belong to a group. So this would have to be solved to be able to use package groups during the installation. Maybe this can be a starting point if somebody wants to do more work on the topic.
fai-mirror-rpm.gz
Description: fai-mirror-rpm.gz
-- Stefan