Skip to content

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

Open

Description

@hb0nes

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.

Activity

  1. mdellweg commented on Feb 14, 2025

    @mdellweg
    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.

  2. hb0nes commented on Feb 14, 2025

    @hb0nes
    Author

    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.

  3. hb0nes commented on Feb 14, 2025

    @hb0nes
    Author

    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.

  4. quba42 commented on Feb 17, 2025

    @quba42
    Collaborator

    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).

  5. hb0nes commented on Feb 17, 2025

    @hb0nes
    Author

    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.

  6. quba42 commented on Feb 18, 2025

    @quba42
    Collaborator

    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.

  7. added
    .bugfixCHANGES/<issue_number>.bugfix
    and removed on Feb 18, 2025
  8. hb0nes commented on Feb 18, 2025

    @hb0nes
    Author

    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

Metadata

Metadata

Assignees

No one assigned

    Labels

    .bugfixCHANGES/<issue_number>.bugfix

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions