Project

Profile

Help

Story #7502

As a user I want to sync upstream repositories using "Flat Repository Format"

Added by quba42 15 days ago. Updated 15 days ago.

Status:
NEW
Priority:
Normal
Assignee:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Target Release - Debian:
Groomed:
No
Sprint Candidate:
No
Tags:
Katello
Sprint:
Quarter:

Description

It appears some APT repositories do not store their release files somewhere beneath a dists/ folder, using the repo root (or some arbitrary path) instead.

Example: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/

Apparently this repository can be included in an /etc/apt/sources.list file as follows (at least on Ubuntu):

deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /

There is some Ubuntu documentation hinting at specifying an "exact path" here: http://manpages.ubuntu.com/manpages/xenial/man5/sources.list.5.html (Also see the examples).

History

#1 Updated by quba42 15 days ago

Some initial thoughts:

  • We need to make sure the solution does not break any existing use cases.
  • If there is no unambiguous way to handle these new cases using the existing distribution field, then we need a new field/option in our remotes. (use this as a last resort)
  • We need to make sure we consider every instance of hard coded dists path segments in our solution.
  • The exception is the simple publisher which generally ignores upstream repo structure in favour of its own.
  • How should the structured publisher deal with so structured repos? (It probably needs to stay true to its word and retain upstream Release and Packages file placement.)
  • We will need to think about fixtures and tests for this.
  • I consider this to be a new feature, not a bugfix.

#2 Updated by quba42 15 days ago

  • Tracker changed from Task to Story
  • Subject changed from Support upstream repositories that do not store Release files in a dists/ folder to As a user I want to sync upstream repositories that do not store Release files within /dists/

#3 Updated by quba42 15 days ago

  • Tags Katello added

#4 Updated by quba42 15 days ago

It appears Debian has a specification for this as well: https://wiki.debian.org/DebianRepository/Format#Flat_Repository_Format

They refer to this as a "Flat Repository Format".

#5 Updated by quba42 15 days ago

  • Subject changed from As a user I want to sync upstream repositories that do not store Release files within /dists/ to As a user I want to sync upstream repositories using "Flat Repository Format"

Needs further discussion:

We could add a separate FlatAptRemote, or try to use the existing AptRemote. If we do go for two remotes, a common parent class would probably make sense.

Please register to edit this issue

Also available in: Atom PDF