Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moving distributions between distribution backends "duplicates" them #295

Closed
lizmat opened this issue Aug 30, 2021 · 5 comments
Closed

Moving distributions between distribution backends "duplicates" them #295

lizmat opened this issue Aug 30, 2021 · 5 comments
Labels
fallback If no other label fits

Comments

@lizmat
Copy link
Collaborator

lizmat commented Aug 30, 2021

Because the Raku ecosystem allows for multiple distribution backends (currently the "old" ecosystem, CPAN (aka PAUSE) and zef), and distributions may be moved by the author from one distribution backend to another (e.g. because it is being deprecated), creates the situation that a module distribution that is identical but for the distribution backend, will appear more than once in the ecosystem.

This came up in a raku.land issue, with additional discussion on r/rakulang

@lizmat lizmat added the fallback If no other label fits label Aug 30, 2021
@lizmat lizmat assigned codesections and unassigned codesections Aug 30, 2021
@raiph
Copy link

raiph commented Aug 30, 2021

distributions may be moved by the author from one distribution backend to another ... creates the situation that a module distribution that is identical but for the distribution backend, will appear more than once in the ecosystem.

As I understand it this is currently indistinguishable from the two modules being different, though appearing to be identical.

For reasons I can't currently pin down rationally, I wonder if it might make sense to solve that fundamental problem first. It feels like whatever solution is designed/implemented for that might alter the nature and mechanism and consequences of any good solution to this one.

@tony-o
Copy link

tony-o commented Aug 30, 2021

Rakudo and raku should stay out of that game..the full dist str is what distinguishes the dists. If it comes from different ecosystems with different dist strings then they should be considered different dists. Part of the flexibility in dist naming comes with that cost and, really, people should be pinning dist versions like in other languages rather than how it's done in perl or node. That discussion is off topic but that mindset also aids in the end user's thought process when looking for or consuming ecosystem modules.

eg,
this should be more encouraged/common: use Dist:ver<5.0.0>:auth<zef:lizmat>
this should be less common: use Dist;

@raiph
Copy link

raiph commented Aug 30, 2021

@tony-o

Was your comment addressed to Liz (this whole issue) or my comment? I'll assume mine.

the full dist str is what distinguishes the dists.

That makes sense to me for the notion of "identity" in the context of Rakudo / Raku as a language / zef-as-a-service-to-Raku(do), but not the notion of "identity" as in (cryptographic hash) identicality. I presume you agree with that, right?

Rakudo and raku should stay out of that game..

I get that for Rakudo, and for "raku" the language, as just stated.

(But not for the focus of what I understand this repo is for, namely problem solving for Raku that's not limited to Rakudo or the Raku language, and what I understand this issue is focused on, namely the ecosystem in general and zef/fez in particular.)

@JJ
Copy link
Contributor

JJ commented Aug 31, 2021

Not totally unrelated, but I proposed in #39 to deprecate using CPAN. At the end of the day, this is also one of those fragmentation issues denounced here. Worse, you can create a distribution with the same name in a different backend, and its resolution would not be totally clear, as denounced in #229

@lizmat
Copy link
Collaborator Author

lizmat commented Feb 20, 2022

Closing this in light of #316, which would make this problem go away.

@lizmat lizmat closed this as completed Feb 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fallback If no other label fits
Projects
None yet
Development

No branches or pull requests

5 participants