Project

Profile

Help

Story #4707

Folder structure of the deb repos does not match upstreams

Added by pulpuser19 9 months ago. Updated 6 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Platform Release:
2.20.0
Blocks Release:
Target Release - Debian:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

Current Behavior: the pulp_deb plugin seems to creates folders under /dists/ based on the codename from the upstream Release file. For example, when I use the following command:

pulp-admin deb repo create ... --feed http://us.archive.ubuntu.com/ubuntu/ --releases bionic-updates

pulp creates the following folder structure:
.../dists/bionic/...

"bionic" is the value of "Codename" from http://us.archive.ubuntu.com/ubuntu/dists/bionic-updates/Release
It has been noticed that the same behavior where "Codename" is used as a folder name under /dists is present with other versions of ubuntu (xenial) and debian (stretch).

Expected Behavior: In the upstream (see the link above), the folder name seems to be based on the "Suite" value of the Release file which is different from the codename.

Proposed Approach: Use the upstream directory structure based on the Suite value.


Related issues

Duplicates Debian Support - Issue #4138: Handling publish paths correctly CLOSED - CURRENTRELEASE Actions

Associated revisions

Revision 97b75fd2 View on GitHub
Added by quba42 8 months ago

Add the distribution field to the DB models

Within a standard Debian repository structure, the term "distribution"
refers to the unique string given by the path segment between the
"dists/" folder, and some "Release" file (without the trailing slash).

Since each "Release" file in the directory structure is associated with
exactly one unique distribution string, the terms "distribution" and
"release" can be (and often are) used interchangably.

The distribution string is most commonly (but not always) given by
either the "codename" or the "suite". The pulp_deb implementation prior
to this commit, has assumed that the distribution string is always equal
to codename, and has therefore imposed a uniqueness constraint on the
codename for all releases/distributions within a single repository.

Since upstream repository sources make no such assumption and are not
necessarily structured using the codename, this has lead to a plathora
of unpredictable and buggy behaviour when synchronizing upstream
repositories with 'codename != distribution'.

This change fixes these problems by introducing and using a
"distribution" field for both the units_deb_release and
units_deb_component collections.

revealed #4871 (depends on the fix for this issue)
https://pulp.plan.io/issues/4871

ref #3464, #4055
https://pulp.plan.io/issues/3464
https://pulp.plan.io/issues/4055

fixes #4138, #4705, #4707
https://pulp.plan.io/issues/4138
https://pulp.plan.io/issues/4705
https://pulp.plan.io/issues/4707

History

#1 Updated by mdellweg 9 months ago

  • Duplicates Issue #4138: Handling publish paths correctly added

#2 Updated by mdellweg 9 months ago

  • Tags Pulp 2 added

#3 Updated by quba42 9 months ago

The following PR fixes this issue:
https://github.com/pulp/pulp_deb/pull/83

#4 Updated by quba42 8 months ago

  • Status changed from NEW to MODIFIED
  • % Done changed from 0 to 100

#5 Updated by ttereshc 7 months ago

  • Platform Release set to 2.20.0

#6 Updated by ttereshc 7 months ago

  • Sprint/Milestone set to 2.20.0

#7 Updated by ttereshc 7 months ago

  • Status changed from MODIFIED to ON_QA

#8 Updated by ttereshc 6 months ago

  • Status changed from ON_QA to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF