Project

Profile

Help

Issue #4138

closed

Handling publish paths correctly

Added by quba42 about 6 years ago. Updated over 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
Start date:
Due date:
Estimated time:
Severity:
3. High
Version - Debian:
Platform Release:
2.20.0
Target Release - Debian:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Most Debian repositories use one of the following paths to the Release file:

<base_path>/dists/<codename>/Release
<base_path>/dists/<suite>/Release

The current Pulp 2 behaviour is to always publish using <codename>.

However, this is not actually how these paths are specified by Debian.
(See https://wiki.debian.org/DebianRepository/Format)

The specification uses:

<base_path>/dists/<distribution>/Release

Where <distribution> may contain an arbitrary number of folder levels and may be different to both <codename> and <suite>. (A prominent example is the debian-security repository which uses <distribution> = "<codename>/updates" or <distribution> = "<suite>/updates").

Not using the same publish paths as the upstream repositories we are syncing (this is the case whenever <distribution> != <codename> for the upstream repo) leads to a host of problems.

One example is: https://pulp.plan.io/issues/3464

Currently the <distribution> is only known to the original repo_importer.
Since publishers should be independent of the repo_importer, the only clean way I can think of to solve this and all related bugs is to add a distribution field to the units_deb_release collection and then use it accordingly.


Related issues

Related to Debian Support - Issue #3464: Unable to sync multiple releases in single deb repoCLOSED - WONTFIXActions
Related to Debian Support - Issue #4008: python-debpkgr does not structure Repositories correcly (in some case)CLOSED - CURRENTRELEASEquba42Actions
Related to Debian Support - Issue #4884: Pulp 2 Nightly Regression: Pulp debian migrations fail on pulp DB initializationCLOSED - CURRENTRELEASEActions
Related to Debian Support - Issue #4924: KeyError during migration 0004CLOSED - CURRENTRELEASEquba42Actions
Related to Debian Support - Issue #4951: Existence of /usr/lib/pulp/plugins/types/deb.json will prevent migration 0004 from working.CLOSED - CURRENTRELEASEquba42Actions
Has duplicate Debian Support - Issue #4705: Pulp creates Release files in the outer folder (stretch/updates)CLOSED - CURRENTRELEASEActions
Has duplicate Debian Support - Story #4707: Folder structure of the deb repos does not match upstreamsCLOSED - CURRENTRELEASE

Actions
Has duplicate Debian Support - Issue #4955: Deb repo with Releases=bionic/mongodb-org/4.1 can't be publishedCLOSED - DUPLICATEActions

Also available in: Atom PDF