Ticket #1059 (closed defect: fixed)

Opened 10 years ago

Last modified 10 years ago

thirdpartymirrors list not handled properly.

Reported by: kentnl Owned by:
Priority: Sometime Milestone:
Component: clients/cave Version: 0.54.10
Keywords: Cc:
Blocked By: Blocking:
Distribution: Gentoo


I have created a small test repository and sample configuration which replicates my problem:


The most important part, appears to be this:


In my testing, it appears the 'faker' mirror *does* work, but the 'cpan' one does not, due to being also defined in the ::gentoo profile.

sudo cave perform fetch =category/simplemod-0.1

Tries the following ( expected ) Url list:

 http://distfiles.gentoo.org/distfiles/this-does-not-exist  http://ftp.swin.edu.au/gentoo/this-does-not-exist  http://ftp.halifax.rwth-aachen.de/gentoo/this-does-not-exist  http://gentoo.ussg.indiana.edu/distfiles/this-does-not-exist  http://gentoo.osuosl.org/distfiles/this-does-not-exist  http://gentoo-distfiles.mirrors.tds.net/distfiles/this-does-not-exist  http://mirrors.kernel.org/gentoo/distfiles/this-does-not-exist  http://fakeurl.example.org/this-does-not-exist


sudo cave perform fetch =category/perlmod-0.1

Which uses the cpan mirror, does the following:

 http://distfiles.gentoo.org/distfiles/this-does-not-exist  http://ftp.swin.edu.au/gentoo/this-does-not-exist  http://gentoo.ussg.indiana.edu/distfiles/this-does-not-exist  http://gentoo.osuosl.org/distfiles/this-does-not-exist  http://ftp.halifax.rwth-aachen.de/gentoo/this-does-not-exist  http://mirrors.kernel.org/gentoo/distfiles/this-does-not-exist  http://gentoo-distfiles.mirrors.tds.net/distfiles/this-does-not-exist  http://www.cpan.org/this-does-not-exist  http://search.cpan.org/CPAN/this-does-not-exist

The last 2 being from gentoo's list, and the one in the overlay notably missing.

Change History

comment:1 Changed 10 years ago by ciaranm

We do read thirdpartymirrors in overlays, but when there are duplicate entries, we take the first thing we encounter rather than the last. If the overlay uses a new, different mirror name, it should work.

Not sure what the correct behaviour is here. We can't just merge the two together, since we take a random subset of the mirror names when deciding where to look. We could just use the last encountered list rather than the first...

comment:2 Changed 10 years ago by ciaranm

  • Status changed from new to closed
  • Resolution set to fixed

Let's try it with last-encountered rather than first-.

Note: See TracTickets for help on using tickets.