Skip to content

zef may fail to install IO::String #559

Open
@lucs

Description

tl;dr: For historical reasons 'zef install IO::String' may fail,
reporting problems with Text::CSV:ver<0.015>.
Workaround: 'zef install IO::String:ver<0.2.0>'
or a more recent version, if any.

Details:

I'm upgrading my Rakudo from moar-2023.02 to
moar-2024.04. I'm having problems obtaining the
IO::String distribution. raku.land proposes:

P6C: IO::String:ver<0.1.1>
ZEF: IO::String:ver<0.2.0>:auth<zef:jjmerelo>

Now, in a shell having moar-2024.04 active, please
observe:

▸ zef --dry install 'IO::String:ver<0.1.1>'
===> Searching for: IO::String:ver<0.1.1>
===> Staging IO::String:ver<0.1.1>
===> Staging [OK] for IO::String:ver<0.1.1>
===> Testing: IO::String:ver<0.1.1>
===> Testing [OK] for IO::String:ver<0.1.1>

▸ zef --dry install 'IO::String:ver<0.2.0>'
===> Searching for: IO::String:ver<0.2.0>
===> Staging IO::String:ver<0.2.0>:auth<zef:jjmerelo>
===> Staging [OK] for IO::String:ver<0.2.0>:auth<zef:jjmerelo>
===> Testing: IO::String:ver<0.2.0>:auth<zef:jjmerelo>
===> Testing [OK] for IO::String:ver<0.2.0>:auth<zef:jjmerelo>

So both of those are good. But:

▸ zef --dry install 'IO::String'
===> Searching for: IO::String
===> Staging Text::CSV:ver<0.015>:auth<zef:Tux>
===> Staging [OK] for Text::CSV:ver<0.015>:auth<zef:Tux>
===> Testing: Text::CSV:ver<0.015>:auth<zef:Tux>
===> Testing [FAIL]: Text::CSV:ver<0.015>:auth<zef:Tux>
Aborting due to test failure: Text::CSV:ver<0.015>:auth<zef:Tux> (use --force-test to override)

Yet:

▸ zef --dry install 'Text::CSV'
===> Searching for: Text::CSV
===> Staging Text::CSV:ver<0.022>:auth<zef:Tux>
===> Staging [OK] for Text::CSV:ver<0.022>:auth<zef:Tux>
===> Testing: Text::CSV:ver<0.022>:auth<zef:Tux>
===> Testing [OK] for Text::CSV:ver<0.022>:auth<zef:Tux>

I believe that in the past (versions 0.015 and
preceding) Text::CSV supplied an IO::String and that
somehow confuses things. Note that since version 0.016
(was fixed in commit 348a68c) it supplies a
Text::IO::String instead and does not use IO::String
anymore.

So I know that simply installing ver<0.2.0> solves my
problem, but I figured I should mention it so zef's
understanding could be fixed somehow.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions