Well, this is kind of expected and the `--best --allowerasing` (actually the `--best` could be enough) is probably the right solution in this situation. Let me explain.

If we build Ruby 3.3 as an official build for Fedora, the first step after building Ruby would be to take the independent rubygem-json, bump it and build against Ruby 3.3. That would resolve the issue. However, this is just test build, so I don't do that. But it would be probably the right thing to do for your Copr repo. That would be helpful for two reasons:

1) Given the above, it is important to ensure that the rubygem-json rebuild is possible and that there is e.g. no circular dependency which would prohibit this.

2) It would allow to test the upgrade scenario as you did.


Vít


Dne 13. 09. 23 v 18:38 Pavel Valena napsal(a):
Testing upgrade, I get:

```
# dnf update ruby
Last metadata expiration check: 3:45:31 ago on Wed 13 Sep 2023 12:42:06 PM UTC.
Dependencies resolved.

 Problem: problem with installed package rubygem-json-2.6.3-204.fc39.x86_64   - package rubygem-json-2.6.3-204.fc39.x86_64 from @System requires libruby.so.3.2()(64bit), but none of the providers can be installed   - package rubygem-json-2.6.3-204.fc39.x86_64 from rawhide requires libruby.so.3.2()(64bit), but none of the providers can be installed   - cannot install both ruby-libs-3.3.0~20230905git7c8932365f-182.fc40.x86_64 from copr:copr.fedorainfracloud.org:pvalena:ruby-testing and ruby-libs-3.2.2-181.fc39.x86_64 from @System   - cannot install both ruby-libs-3.2.2-181.fc39.x86_64 from rawhide and ruby-libs-3.3.0~20230905git7c8932365f-182.fc40.x86_64 from copr:copr.fedorainfracloud.org:pvalena:ruby-testing   - package ruby-3.3.0~20230905git7c8932365f-182.fc40.x86_64 from copr:copr.fedorainfracloud.org:pvalena:ruby-testing requires libruby.so.3.3()(64bit), but none of the providers can be installed   - package ruby-3.3.0~20230905git7c8932365f-182.fc40.x86_64 from copr:copr.fedorainfracloud.org:pvalena:ruby-testing requires ruby-libs(x86-64) = 3.3.0~20230905git7c8932365f-182.fc40, but none of the providers can be installed   - cannot install the best update candidate for package ruby-3.2.2-181.fc39.x86_64
=====================================================================================================
 Package   Arch   Version                  Repository                                   Size
=====================================================================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 ruby-libs x86_64 3.3.0~20230905git7c8932365f-182.fc40
 copr:copr.fedorainfracloud.org:pvalena:ruby-testing 3.8 M
Skipping packages with broken dependencies:
 ruby      x86_64 3.3.0~20230905git7c8932365f-182.fc40
 copr:copr.fedorainfracloud.org:pvalena:ruby-testing  42 k

Transaction Summary
=====================================================================================================
Skip  2 Packages

Nothing to do.
Complete!
```

While using suggested options ('--allowerasing --best') installs ruby 3.3, json gem is downgraded and then next update says:

```
# dnf update 'ruby*'
Last metadata expiration check: 3:49:05 ago on Wed 13 Sep 2023 12:42:06 PM UTC.
Dependencies resolved.

 Problem: package rubygem-json-2.6.3-204.fc39.x86_64 from rawhide requires libruby.so.3.2()(64bit), but none of the providers can be installed   - cannot install both ruby-libs-3.2.2-181.fc39.x86_64 from rawhide and ruby-libs-3.3.0~20230905git7c8932365f-182.fc40.x86_64 from @System   - cannot install the best update candidate for package rubygem-json-2.6.3-182.fc40.x86_64   - cannot install the best update candidate for package ruby-libs-3.3.0~20230905git7c8932365f-182.fc40.x86_64
=====================================================================================================
 Package         Arch   Version            Repository                                     Size
=====================================================================================================
Upgrading:
 rubygem-bundler noarch 2.5.0.dev-182.fc40 copr:copr.fedorainfracloud.org:pvalena:ruby-testing 382 k  rubygem-rdoc    noarch 6.5.0-182.fc40 copr:copr.fedorainfracloud.org:pvalena:ruby-testing 464 k
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 ruby-libs       x86_64 3.2.2-181.fc39     rawhide                                   4.0 M
Skipping packages with broken dependencies:
 rubygem-json    x86_64 2.6.3-204.fc39     rawhide                                    69 k

Transaction Summary
=====================================================================================================
Upgrade  2 Packages
Skip     2 Packages

```
Note the bundler and rdoc gems were not updated with the ruby update (I hope they would still work ok).


Standalone install works fine & the test suite even passes (or fails or errors the same as with Ruby 3.2).

Regards,
Pavel


On Tue, Sep 12, 2023 at 5:53 PM Pavel Valena <pval...@redhat.com> wrote:

    Hello,

    I've checked the PR as well - all checks out :)

    I'll build it in my COPR ruby-testing repo... will keep you posted.

    On Tue, Sep 12, 2023 at 10:17 AM Vít Ondruch <vondr...@redhat.com>
    wrote:


        Dne 12. 09. 23 v 10:08 Vít Ondruch napsal(a):
        >
        > * Racc is now bundled gem instead of default gem. That means
        it will
        > live in ruby-bundled-gems. I don't think this should have
        impact on
        > anything.


        Actually, this might be problem:

        https://github.com/ruby/rdoc/pull/1019

        I have not verified the changes, but it seems that has the
        capability in
        embedding itself into code generated by it. There are several
        issues I
        can see:

        1) The RDoc will essentially bundle Racc, therefore it should
        have
        bundled provide.


    I see.


        2) The generated code will be bigger.

        3) If there is some problem with Racc, we will need to
        regenerate the
        libraries (OTOH, not sure what was backward compatibility of
        Racc with
        the generated code ...)


    Oh no...



        Vít


    Otherwise it sounds great! Thanks for the work!

    Pavel


_______________________________________________
ruby-sig mailing list --ruby-sig@lists.fedoraproject.org
To unsubscribe send an email toruby-sig-le...@lists.fedoraproject.org
Fedora Code of 
Conduct:https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines:https://fedoraproject.org/wiki/Mailing_list_guidelines
List 
Archives:https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org
Do not reply to spam, report 
it:https://pagure.io/fedora-infrastructure/new_issue

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to