createrepo-agent [OPTION?] REPO_CLUSTER_DIR
createrepo-agent is a tool for rapidly iterating on clusters of associated RPM repositories. It leverages Assuan IPC to create a daemon process which caches the metadata for each sub-repository in the cluster so that it doesn't need to be re-loaded and parsed each time a change is made. The most notable implementation of the Assuan protocol is gpg-agent, which gives createrepo-agent its name.
Show program help text.
Run the createrepo-agent as a detached background process.
Run the createrepo-agent as a foreground process.
Connect to an existing createrepo-agent process or spawn a new one, then import an RPM package into the repository cluster. May be specified multiple times.
Connect to an existing createrepo-agent process or spawn a new one, then import RPM packages into the repository cluster from another. The BASE_URL may be a local file path or a remote URL. In the absence of --sync-pattern, any packages present in both repositories will be removed from the repository cluster and re-added from the upstream repository.
When importing, add the packages specified by --import into the sub-repositories for these architectures. When syncing, add packages from the upstream repository into the corresponding sub-repositories for these architectures. If not specified, default value is 'SRPMS'.
When removing binary packages during import, also remove any packages from that architecture sub-repository and associated debug sub-repository which were built from the same source RPM.
When removing binary packages during import, also remove any packages from that architecture sub-repository which (recursively) declare runtime dependencies on any package being removed.
When syncing from another repository, only add and remove packages which match the given regular expression.
Importing loose packages into a repository
Import three packages into the repository. If there is already a package in the repository with any of the given names, remove it and all packages which were built at the same time. Import them into both the i386 and x86_64 sub-repositories.
Import a single source package into the repository.
$ createrepo-agent --import=foo-1.2.3.src.rpm /var/www/html/repo/
Importing packages from other repositories
Import all packages present in the upstream repository. If there are already packages in the repsository which are present in the upstream repository, remove them, any packages which were built at the same time as them, and any packages which (recursively) depend on them.
$ createrepo-agent --sync=/var/www/html/upstream_repo/ --arch=SRPMS --arch=x86_64 --invalidate-family --invalidate-dependants /var/www/html/repo/
Import any packages present in the upstream repository with a name beginning with 'foobar' into the repository. Any packages already in the repository matching the pattern which are not also present in the upstream repository are removed.
$ createrepo-agent --sync=https://example.com/upstream_repo/ --arch=SRPMS --arch=x86_64 --sync-pattern 'foobar.*' /var/www/html/repo/