Rpm repoitory sync problem of rocky9 baseos, it has added AppStream repo

Problem:
I test rpm repository synco of rocky9 baseos.
the remote url is http://miroir.univ-lorraine.fr/rocky/9.0/BaseOS/x86_64/os/
After the sync finished, I see the packages under repo BaseOS, it is correct. But what is strange is, under BaseOS repo, the AppStream repo is also shown there, and AppStream repo is not empty.

On the screenshot, we see AppStream repo:

While the remote is like:

Is this a problem of the remote url source? or it is related with pulp synco?

I tested with rocky8 baseos, same problem. It is only with BaseOS, I got this problem.

I also test AppStream repo sync, it is only sync itself, no this problem

Expected outcome:
The AppStream repo should not be presented under the repo Rocky9 BaseOS

Pulpcore version:
Here is:

Summary

{
“component”: “core”,
“version”: “3.43.1”,
“package”: “pulpcore”,
“domain_compatible”: true
},

Pulp plugins installed and their versions:
Here is:

Summary

{
“component”: “ansible”,
“version”: “0.21.1”,
“package”: “pulp-ansible”,
“domain_compatible”: false
},
{
“component”: “certguard”,
“version”: “1.7.1”,
“package”: “pulp-certguard”,
“domain_compatible”: true
},
{
“component”: “container”,
“version”: “2.17.0”,
“package”: “pulp-container”,
“domain_compatible”: false
},
{
“component”: “deb”,
“version”: “3.1.1”,
“package”: “pulp_deb”,
“domain_compatible”: false
},
{
“component”: “gem”,
“version”: “0.4.0”,
“package”: “pulp-gem”,
“domain_compatible”: true
},
{
“component”: “maven”,
“version”: “0.8.0”,
“package”: “pulp-maven”,
“domain_compatible”: false
},
{
“component”: “ostree”,
“version”: “2.2.1”,
“package”: “pulp-ostree”,
“domain_compatible”: false
},
{
“component”: “python”,
“version”: “3.11.0”,
“package”: “pulp-python”,
“domain_compatible”: false
},
{
“component”: “rpm”,
“version”: “3.24.0”,
“package”: “pulp-rpm”,
“domain_compatible”: true
},
{
“component”: “file”,
“version”: “3.43.1”,
“package”: “pulp-file”,
“domain_compatible”: true
}

Operating system - distribution and version:
Rocky9
Other relevant data:

First, as noted, the specifc URL you list doesn’t have any repodata, and Pulp wouldn’t know how to sync from it at all :slight_smile:

A current-rocky-url is this one :
https://dl.rockylinux.org/pub/rocky/9.3/BaseOS/x86_64/os/

Rocky includes a .treeinfo file for kickstarts in that repository at https://dl.rockylinux.org/pub/rocky/9.3/BaseOS/x86_64/os/.treeinfo

That treeinfo puills in Appstream as a Variant :

[variant-AppStream]                                                                          
id = AppStream                                                                               
name = AppStream                                                                             
packages = ../../../AppStream/x86_64/os/Packages                                             
repository = ../../../AppStream/x86_64/os                                                    
type = variant                                                                               
uid = AppStream   

If you don’t want the kickstart trees, you can skip them at sync time using --skip-type=treeinfo

Hope this helps!

3 Likes

Hello @ggainey

I tested with the repo source https://dl.rockylinux.org/pub/rocky/9.3/BaseOS/x86_64/os/ you mentioned,

keep .treeinfo, I got:

skip .treeinfo (`–skip-type=treeinfo), I got

So skip.treeinfo does make AppStream disappeared under BaseOS, it also makes images disappeared, which is normal since no more .treeinfo.

pulp rpm repository sync is not exactly like a mirro rsyn, for example,

the License (http://dl.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/LICENSE),
the isolinux (Index of /pub/rocky/9/BaseOS/x86_64/os/isolinux/).

They are not synchronized at all. This is pulp rpm repo sync characteristics I suppose.

All Pulp knows about, when it syncs, is repodata/repomd.xml and treeinfo, and the files they point to. If a file just “lives in” the directory, and isn’t pointed-to by something from one of those files, there’s no way for Pulp to find it.

thanks :slight_smile:

1 Like