Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronizing content with Teleport provider results in 0 deb packages #1233

Open
hb0nes opened this issue Feb 14, 2025 · 7 comments
Open

Synchronizing content with Teleport provider results in 0 deb packages #1233

hb0nes opened this issue Feb 14, 2025 · 7 comments
Labels
.bugfix CHANGES/<issue_number>.bugfix

Comments

@hb0nes
Copy link

hb0nes commented Feb 14, 2025

Version
rubygem-pulp_deb_client-3.3.1-1.el9.noarch
katello-repos-4.15.0-1.el9.noarch
katello-certs-tools-2.10.0-1.el9.noarch
foreman-installer-katello-3.13.0-1.el9.noarch
katello-selinux-5.0.2-1.el9.noarch
katello-common-4.15.0-1.el9.noarch
rubygem-katello-4.15.0-1.el9.noarch
katello-4.15.0-1.el9.noarch
katello-client-bootstrap-1.7.9-2.el9.noarch
rubygem-hammer_cli_katello-1.15.0-0.1.pre.main.20241104082525gitd2c7a35.el9.noarch

Describe the bug
Synchronizing from Teleport repository results in 0 debian packages in Pulp.

To Reproduce
Create a repository.
Set upstream to https://apt.releases.teleport.dev/debian
Set release to bookworm
Either leave component empty, or set it to stable/v17.
Sync.

Expected behavior
I'd expect packages to be synced.
What I see is 0 debian packages.

Additional context
https://apt.releases.teleport.dev/debian/dists/bookworm/InRelease

I can see an InRelease & Release file here. However, most apt repositories allow directory listing, but Teleport's doesn't.
I suspect Pulp requires directory listing, but one of our other sync scripts (https://github.com/apt-mirror/apt-mirror) doesn't require this and syncs Teleport just fine.

I'd expect Pulp to fetch a Release/Package file and grab the files from there, without needing directory listing.

@mdellweg
Copy link
Member

Can you try again with a trailing slash on:
"https://apt.releases.teleport.dev/debian/"
As far as i know, pulp does not require directory listings.

@hb0nes
Copy link
Author

hb0nes commented Feb 14, 2025

Can you try again with a trailing slash on: "https://apt.releases.teleport.dev/debian/" As far as i know, pulp does not require directory listings.

yeah I've been playing around with Nginx and logging what Pulp does and indeed, it seems to fetch Release files directly.
Interesting...

Unfortunately, the trailing slash doesn't do the trick either.
I wonder if someone has a test setup running where they can get it to work or at the very least, figure out where it's going wrong.

@hb0nes
Copy link
Author

hb0nes commented Feb 14, 2025

I built my own 'Teleport' repo.

One with component 'stable/v17' and one with component 'stable-v17'.

Pulp does not like components with a slash like that, i.e. 2 directories instead of 1.

dists
dists/bookworm
dists/bookworm/Release
dists/bookworm/stable
dists/bookworm/stable/v17
dists/bookworm/stable/v17/binary-amd64
dists/bookworm/stable/v17/binary-amd64/Packages
dists/bookworm/stable/v17/binary-amd64/Packages.gz
dists/bookworm/stable/v17/binary-amd64/Release
dists/bookworm/stable-v17
dists/bookworm/stable-v17/binary-amd64
dists/bookworm/stable-v17/binary-amd64/Packages
dists/bookworm/stable-v17/binary-amd64/Packages.gz
dists/bookworm/stable-v17/binary-amd64/Release
pool
pool/stable
pool/stable/v17
pool/stable/v17/t
pool/stable/v17/t/teleport-ent
pool/stable/v17/t/teleport-ent/teleport-ent_17.2.7_amd64.deb
pool/stable-v17
pool/stable-v17/t
pool/stable-v17/t/teleport-ent
pool/stable-v17/t/teleport-ent/teleport-ent_17.2.7_amd64.deb

component stable-v17 works, but stable/v17 does not.

@quba42
Copy link
Collaborator

quba42 commented Feb 17, 2025

I get the following log warnings when synchronizing this repo:

pulp_deb.app.tasks.synchronizing:INFO: Downloading Release file for distribution: "bookworm"
pulp_deb.app.tasks.synchronizing:INFO: Parsing Release file at distribution="bookworm"
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-i386', but the Release file does not reference any! Ignoring.
pulpcore.tasking.tasks:INFO: Task completed 01951453-bdb4-76ac-a342-a8e6b68778ea

Looking at the InRelease file, it looks like the Components field has path prefixes, even though the release file is not stored in a nested location:

Components: stable/cloud stable/rolling stable/v10 stable/v11 stable/v12 stable/v13 stable/v14 stable/v15 stable/v16 stable/v17 stable/v9 stable/v999

I have not encountered this format before, and it looks like pulp_deb can't handle it. I expect this to be pretty complex to fix (without breaking other repo formats).

@hb0nes
Copy link
Author

hb0nes commented Feb 17, 2025

I get the following log warnings when synchronizing this repo:

pulp_deb.app.tasks.synchronizing:INFO: Downloading Release file for distribution: "bookworm"
pulp_deb.app.tasks.synchronizing:INFO: Parsing Release file at distribution="bookworm"
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/cloud/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/rolling/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v10/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v11/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v12/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v13/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v14/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v15/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v16/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v17/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v9/binary-i386', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-amd64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-arm', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-arm64', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-armhf', but the Release file does not reference any! Ignoring.
pulp_deb.app.tasks.synchronizing:WARNING: Looking for package indices in 'dists/bookworm/v999/binary-i386', but the Release file does not reference any! Ignoring.
pulpcore.tasking.tasks:INFO: Task completed 01951453-bdb4-76ac-a342-a8e6b68778ea

Looking at the InRelease file, it looks like the Components field has path prefixes, even though the release file is not stored in a nested location:

Components: stable/cloud stable/rolling stable/v10 stable/v11 stable/v12 stable/v13 stable/v14 stable/v15 stable/v16 stable/v17 stable/v9 stable/v999

I have not encountered this format before, and it looks like pulp_deb can't handle it. I expect this to be pretty complex to fix (without breaking other repo formats).

It's removing the stable/ part from the component.
If that wouldn't happen, the Release file would be found.

os.path.join(release_component.plain_component, infix, "binary-{}".format(architecture))

If I understand correctly, that is happening here, when referring to plain_component.

What the reasons/implications are for doing and not doing that, I don't know.
For example, changing

pulp_deb/app/models/content/structure_content.py
        #return os.path.basename(self.component)
        return self.component

The Teleport repo sync works.

But dunno what else will break.

@quba42
Copy link
Collaborator

quba42 commented Feb 18, 2025

I believe the fix you proposed would break repositories where the Release file "is not in a directory directly beneath dists/" (see here). We do have test coverage that would catch this, so feel free to open a PR with that change (to see if any tests will turn red).

The assumption of the pulp_deb implementation, is that components should only have path prefixes attached to them, if the Release file "is not in a directory directly beneath dists/". However, this is not the case for the teleport repo, which is why our implementation does not work. I assume APT can consume the teleport repo, so there must be a better implementation that works for both repo formats. In other words, this is definitely a bug on our end. I do worry that fixing this (without breaking any other repositories) requires changing very central aspects of the pulp_deb implementation and possibly revisiting some core assumptions. At least if we want to fix this properly for all cases. One could probably add some conditional logic specifically for the case where components have path prefixes, but the release file is not in a nested location as a "quick and dirty" fix.

@quba42 quba42 added .bugfix CHANGES/<issue_number>.bugfix and removed Triage-Needed labels Feb 18, 2025
@hb0nes
Copy link
Author

hb0nes commented Feb 18, 2025

I believe the fix you proposed would break repositories where the Release file "is not in a directory directly beneath dists/" (see here). We do have test coverage that would catch this, so feel free to open a PR with that change (to see if any tests will turn red).

The assumption of the pulp_deb implementation, is that components should only have path prefixes attached to them, if the Release file "is not in a directory directly beneath dists/". However, this is not the case for the teleport repo, which is why our implementation does not work. I assume APT can consume the teleport repo, so there must be a better implementation that works for both repo formats. In other words, this is definitely a bug on our end. I do worry that fixing this (without breaking any other repositories) requires changing very central aspects of the pulp_deb implementation and possibly revisiting some core assumptions. At least if we want to fix this properly for all cases. One could probably add some conditional logic specifically for the case where components have path prefixes, but the release file is not in a nested location as a "quick and dirty" fix.

That's exactly what I was thinking as well. I'm not a maintainer of this repo and am not familiar with the codebase - it would be too time intensive for me to contribute to this in a meaningful/robust manner. I hope someone else picks it up eventually, even if it is a conditional hack.

Thanks for spending some time on this so far.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
.bugfix CHANGES/<issue_number>.bugfix
Projects
None yet
Development

No branches or pull requests

3 participants