unable to mirror repos with no dest

Bug #1977623 reported by AEA IT
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
debmirror (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

When trying to mirror something like the r-project they don't have a dest folder. https://cloud.r-project.org/bin/linux/ubuntu/bionic-cran40/. I can set the url to cloud.r-project.org/bin/linux/ubuntu and use remoteroot as focal-cran40 but then it wants to append /dest/// to the url.

$host="cloud.r-project.org/bin/linux/ubuntu";

$remoteroot=("focal-cran40" , 'bionic-cran40');
$download_method="https";
$check_gpg=0;
@rsync_extra=( 'none',);

@dists=( '/',);
@sections=( '/',);
@arches=( 'amd64',);

Revision history for this message
AEA IT (aea-it) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in debmirror (Ubuntu):
status: New → Confirmed
Revision history for this message
James McKenzie (jamesps) wrote :

I see similar issues with other 3rd party repos.

It seems a lot of 3rd party repo maintainers don't have a 'dists' directory, or don't follow the general repo structure:
http://apt.example.com/$remoteroot/dists/@dists

Examples:
https://apt.puppetlabs.com/dists/focal/ - Doesn't have a "$remoteroot" directory above "dists" as described in this previous issue: https://bugs.launchpad.net/ubuntu/+source/debmirror/+bug/1702059

https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/ - Doesn't have a "dists" directory, which is assumed by debmirror to be directly underneath the "$remoteroot" path.

The problem seems to be that debmirror assumes a specific structure for deb repos which isn't always followed by repo maintainers, making it impossible to mirror some repos with debmirror.

Revision history for this message
Sven (sacredsheep) wrote :
Revision history for this message
Dmitriy (sukharevd) wrote :

A bit more of bad news. I unsuccessfully attempted to bypass this limitation by setting dists config value as "..", hoping that it would cancel out "dists" part of URL. Unfortunately whatever HTTP client debmirror is using doesn't seem to handle "../" (acts as curl does with "--path-as-is" option). HTTP server on CUDA repo also doesn't handle "dists/.." and returns 403 Forbidden response when debmirror tries to get Release file. Snippets from debmirror config I tried:

$host="developer.download.nvidia.com";
$remoteroot="/compute/cuda/repos/ubuntu2204/x86_64";
$download_method="https";
@dists=('..');

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.