ecosystem icon indicating copy to clipboard operation
ecosystem copied to clipboard

Modules which cannot be accessed are not included in projects.json

Open CIAvash opened this issue 6 years ago • 6 comments

If a module cannot be reached because the host server is down, the module won't be included in projects1.json and projects.json. And the module manager(zef) would not be able to find the module, although the module exists, it just could not be accessed.

Apparently projects1.json is generated in server/updatelist.pl and projects.json is generated in updatelist.pl.

It seems zef has 4 mirrors for getting the list of modules, first two of which are projects1.json and projects.json.

Related IRC logs

CIAvash avatar Jun 13 '18 06:06 CIAvash

What's the point of offering a module for installation when it cannot be installed?

I consider this a feature.

moritz avatar Jun 13 '18 14:06 moritz

Because it misleads the user. If they try to install a module and zef tells them it cannot find it, then they think it might have been removed or something. They might not try to install it again. But if zef shows an error that tells the user it cannot access it(for example "500 internal server error"), then they know there is something wrong with the server.

Yesterday I tried to install my own module and I was really confused, I thought maybe somebody accidentally removed it from the list. Then After some investigation I found out that Gitlab was down and that was what caused it.

CIAvash avatar Jun 13 '18 15:06 CIAvash

You mean that the error messages should be more specific?

rafaelschipiura avatar Jun 13 '18 16:06 rafaelschipiura

Yes, but It's not just the error message. If projects1.json(the generated list) is incomplete, the only thing zef can say is that it cannot find the module.

CIAvash avatar Jun 13 '18 16:06 CIAvash

Not clear what could be the solution here. Any suggestion?

JJ avatar Jul 28 '18 16:07 JJ

One solution was offered by Zoffix: "probably could add a conditional in here that would read use dist's info from previous run if we fail to fetch the new one".

But there are 2 scripts generating 2 different lists. And then there are two other mirrors zef uses, I don't know if they have this problem or not.

cc @ugexe

CIAvash avatar Jul 29 '18 05:07 CIAvash