Issue #4705

Pulp creates Release files in the outer folder (stretch/updates)

Added by pulpuser19 about 2 years ago. Updated almost 2 years ago.

Start date:
Due date:
Estimated time:
2. Medium
Version - Debian:
Platform Release:
Target Release - Debian:
Sprint Candidate:
Pulp 2


The latest pulp_deb that supports nested release folders (for example, debian security puts the Release and Release.gpg into the outer folder (/dists/stretch/Release), however, the files should be placed into the inner folder (/dists/stretch/updates/Release).

This leads to the following warning on debian:

apt-get update
Fetched 791 kB in 0s (2,069 kB/s)
Reading package lists... Done
W: The repository 'https://<pulp_host>/<path> stretch/updates Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

If both the Release files and Release.gpg are moved to the inner folder, the warning disappears:

apt-get update
Fetched 1,672 B in 0s (5,455 B/s)
Reading package lists... Done

The commands that have been used to create the repo:

pulp-admin deb repo create --repo-id <repo_id> --relative-url <relative_url> 
--feed --basicauth-user <basic_user> --basicauth-pass <basic_pass> 
--serve-https true --serve-http false --releases stretch/updates --components main,contrib,non-free 
--architectures amd64

pulp-admin deb repo publish run --repo-id <repo_id>

pulp-admin deb repo sync run --repo-id <repo_id>

Related issues

Is duplicate of Debian Support - Issue #4138: Handling publish paths correctlyCLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision 97b75fd2 View on GitHub
Added by quba42 almost 2 years 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)

ref #3464, #4055

fixes #4138, #4705, #4707


#1 Updated by mdellweg about 2 years ago

  • Tags Pulp 2 added

#2 Updated by mdellweg about 2 years ago

  • Is duplicate of Issue #4138: Handling publish paths correctly added

#3 Updated by quba42 about 2 years ago

The following PR fixes this issue:

#4 Updated by quba42 almost 2 years ago

  • Status changed from NEW to MODIFIED

#5 Updated by mdellweg almost 2 years ago

  • Triaged changed from No to Yes

#6 Updated by ttereshc almost 2 years ago

  • Platform Release set to 2.20.0

#7 Updated by ttereshc almost 2 years ago

  • Sprint/Milestone set to 2.20.0

#8 Updated by ttereshc almost 2 years ago

  • Status changed from MODIFIED to 5

#9 Updated by ttereshc almost 2 years ago

  • Status changed from 5 to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF