Hello On 7/16/22 18:02, Anatol Pomozov wrote:
Hi
Thanks for the cleanup. The ruby itself works fine. I have a few minor notes though.
I see some packages (e.g. https://github.com/archlinux/svntogit-community/blob/packages/ruby-rexml/tru... <https://github.com/archlinux/svntogit-community/blob/packages/ruby-rexml/trunk/PKGBUILD>) use gem tool during install() phase but the dependency is not specified in the dependency list. It needs to be fixed.
I guess that is in theory an issue of all our ruby packages, since they use `gem`, which is part of the `rubygems` package. But since I didn't touch the rubygems package this error was already present in the past. In theory we would have to fix that, but since rubygems is still a dependency for ruby, the `gem` binary will always be there when you install the ruby package. Btw, https://bugs.archlinux.org/task/71500 is a similar case where a package in theory depends on a stdlib, which for now is shipped with ruby but in the future will be its own package. But again it will be a dependency to the ruby package so in practice this doesn't break anything as far as I understand.
The installation process gives numerous warnings about cyclic dependencies though. One question with cyclic dependencies is how the update is handled for them. Let's say we want to update ruby to 3.1 - what update sequence needs to be used here?
log: warning: dependency cycle detected: warning: ruby-json will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-stdlib will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-stdlib will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-stdlib will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-stdlib will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-stdlib will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-stdlib will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-minitest will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-power_assert will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-test-unit will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-bundledgems will be installed before its ruby dependency warning: dependency cycle detected: warning: ruby-bundledgems will be installed before its ruby dependency
I also saw these and I'm not 100% sure about them. In the end the amount of them will only increase when we package more stdlib gems. In theory we could remove the `ruby` dependency from the other packages, but that wouldn't really mirror the actual situation. As for upgrading: I never thought about it on that level to be honest. But any upgrade (like ruby 3.1) would have to happen on testing anyway and I can imagine this might involve some PKGBUILD edits before to get `ruby` rebuild in 3.1 and then push that to [community-testing]. Afterwards rebuild the stdlib packages to 3.1 and then re-add the dependency in the ruby package. Not sure if that answers your question. Best regards Andreas