Metadata calculation cleans up pre-existing YUM metadata (existing as a result of manual deployment or import), including RPM metdata stored as SQLite database files.
To enable RPM metadata calculation on a local repository click on the Admin tab and then Configuration -> Repositories. Select the repository as described in local repository configuration and select the Packages tab.
The Depth field tells Artifactory under which level of directory to search for RPMs and save the repodata directory.
0 is the default and refers to the repository's root folder; the calculator searches the entire repository for RPMs and save the repodata directory at $REPO-KEY/repodata.
Using a different depth is useful in cases where generating metadata for a repository separates its artifacts by name, version and architecture.
For example: If the repository layout is similar to that shown below and you want to generate RPM metadata for every artifact divided by name, set the Depth to 1 and the repodata directory is saved at REPO_ROOT/ARTIFACT_NAME/repodata :
Metadata calculation is throttled per metadata base-folder and is asynchronous; Artifactory invokes the actual calculation only after a certain "quiet period" following an action involving update or removal of an RPM file.
For this reason, the creation of the metadata normally occurs 1-2 minutes after an RPM-related action has been completed.
Using Yum to install RPM packages from Artifactory
After configuring the yum-local repository in Artifactory, let's configure our local machine to install software packages from it:
Paste the following configuration into the artifactory.repo file:
Now, every RPM file deployed to the root of the yum-local repository can be installed using:
The process of attaching YUM group metadata to a local repository is simple:
Create an xml file in the groups format used by YUM, you can either open a text editor and create the groups xml file manually or you can run the yum-groups-manager command from yum-utils
Deploy the created group file to the 'repodata' folder, Artifactory will automatically perform the following steps:
Create the corresponding gz file and deploy it next to the deployed xml group fie.
Invoke YUM calculation on the local repository.
Attach the group information (both the xml and the gz file) to the repomd.xml file.
Make sure the group file names are listed under the Packages tab, this tells Artifactory the files to be attached as a repository group information.
This is how the local repository appears after deploying a 'groups.xml' group metadata file to it ('repodata' is calculated on depth 0):
The YUM Group File Names is a comma-separated list of xml group file names, each depth of 'repodata' in your repository may contain different group file name but each 'repodata' may contain only 1 group file metadata (multiple groups should be listed as different tags inside the xml file as stated in the YUM Docs).
Viewing Individual RPM Information
It is also possible to view all the metadata that annotates an RPM by choosing the RPM file in Artifactory's tree browser and selecting the RPM Info tab:
Metadata Fields as Properties
The corresponding RPM metadata fields are automatically added as properties of an RPM artifact in Yum repositories accessed through Artifactory:
Properties can be used for searching and other functions. For more details please refer to Properties.