Ticket #1059 (closed defect: fixed)

Opened 8 years ago

Last modified 8 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

Description

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

 https://github.com/kentfredric/paludis-thirdparty-test

The most important part, appears to be this:

 https://github.com/kentfredric/paludis-thirdparty-test/blob/master/repo/profiles/thirdpartymirrors

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

however,

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 8 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 8 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.