On Oct 5, 2007, at 8:20 AM, David Cantrell wrote:

Shlomi Fish wrote:

Yes, I also want secondary CPANPLUS repositories

Any reason you can't use CPAN::Mini?

> so people can set up their
own in-house repositories for in-house code

We already do that. It's a matter of having some Stuff that appends our own local distributions onto the end of the packages gzip file. I'll see if we can release it.

That would be great.

I have set up in-house repositories for two clients (Technorati and Barclays Global Investors) but I don't have the rights to the code for either one.

CPAN::Mini is designed to mirror a public CPAN, not to be part of a "search path", which is what I want.


On Oct 5, 2007, at 3:04 AM, Shlomi Fish wrote:
Hi Matisse!

First of all, don't start new threads by replying to existing messages. Write
a new message to perl-qa@perl.org

oops - I knew that but didn't do it. Sorry!


Yes, I also want secondary CPANPLUS repositories, so people can set up their
own in-house repositories for in-house code, or that people can set up
entirely new CPAN-like networks.
...

Shall I patch CPAN or CPANPLUS?


That would be nice.

So how should we do it?

Here's a straw-man proposal:

Add a new setting:

'repository_search_policy' => q[chained_search], # chained_search | use_first | ???

If the repository_search_policy is 'chained_search' then change the handling of the urllist parameter so that for *every* fetch of a module or distro CPAN would check if the desired download is available starting with the first repository in the list:

Example:

       'repository_search_policy' => q[chained_search],
       'urllist' => [
            q[https://cpan1.private-net/CPAN],
            q[ftp://cpan2.private-net],
            q[ftp://mirrors.kernel.org/pub/CPAN],
            q[ftp://mirrors.ibiblio.org/pub/mirrors/CPAN]
        ],

So, if you tried to install:

     My::Private::Module
        depends on Date::Calc
           depends on Bit::Vector

this is what might the CPAN module would do:

     cpan1.private-net  - doesn't find it
     cpan2.private-net  - finds it and starts to install
       Dependency found on Date::Calc
       cpan1.private-net  - finds it and starts to install
         Dependency found on Bit::Vector
         cpan1.private.net   - not found
         cpan2.private.net   - not found
         mirrors.kernel.org  - server unreachable
         mirrors.ibiblio.org - found and installed


-------------------------------------------------------
Matisse Enzer <[EMAIL PROTECTED]>
http://www.matisse.net/  - http://www.eigenstate.net/



Reply via email to