
Issue #20857 has been updated by jeremyevans0 (Jeremy Evans). byroot (Jean Boussier) wrote in #note-8:
I know, that's why I'm always puzzled at why distributions are trying to re-package rubygems... Like most of the failure I'm seeing on your CI are things already fixed upstream. But I suppose that's another topic.
I assume that the reason that most distributions repackage gems is because they have other software they package that depends on those gems, and therefore the gems need to be packaged just as any other dependencies in the packaging system. For OpenBSD, we also need to re-package gems for some additional reasons: 1. We repackage native gems because OpenBSD chooses a stable API instead of a stable ABI, so upgrading OpenBSD versions can break existing native gems. You could use `gem pristine` to handle this, but it's easier if it's handled automatically when you run the command to upgrade all packages. 2. Some native gems are not portable (or consider Windows+Mac+Linux as portable), and must be patched to compile or work correctly on OpenBSD (e.g. argon2, rmagick). 3. In general, OpenBSD prefers native gems to link to system libraries, so they automatically pick up security updates in those libraries, and the default for many gems is to build embedded copies of libraries (e.g. sqlite3, nokogiri). ---------------------------------------- Bug #20857: Don't change `Hash#inspect` formatting https://bugs.ruby-lang.org/issues/20857#change-110316 * Author: vo.x (Vit Ondruch) * Status: Assigned * Assignee: matz (Yukihiro Matsumoto) * ruby -v: ruby 3.4.0dev (2024-10-15 master 3da3cabf98) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- Testing Ruby 3.4 in Fedora, I just hit issue like this in AsciiDoctor test suite: ~~~ 1) Failure: Minitest::Test::TestExtensions::TestIntegration#test_should_assign_captures_correctly_for_inline_macros [test/extensions_test.rb:1382]: --- expected +++ actual @@ -1,9 +1,9 @@ "target=\"\", attributes={} -target=\"value,key=val\", attributes={1=>\"value\", \"key\"=>\"val\", \"name\"=>\"value\"} -target=\"\", attributes={\"text\"=>\"\"} -target=\"[text]\", attributes={\"text\"=>\"[text]\"} +target=\"value,key=val\", attributes={1 => \"value\", \"key\" => \"val\", \"name\" => \"value\"} +target=\"\", attributes={\"text\" => \"\"} +target=\"[text]\", attributes={\"text\" => \"[text]\"} target=\"target\", attributes={} -target=\"target\", attributes={1=>\"value\", \"key\"=>\"val\", \"name\"=>\"value\"} -target=\"target\", attributes={\"text\"=>\"\"} -target=\"target\", attributes={\"text\"=>\"[text]\"} +target=\"target\", attributes={1 => \"value\", \"key\" => \"val\", \"name\" => \"value\"} +target=\"target\", attributes={\"text\" => \"\"} +target=\"target\", attributes={\"text\" => \"[text]\"} target=\"target\", attributes={}" ~~~ This suggest that `Hash#inspect` formatting was changed and there are additional spaces around hash rocket. Is the space really worth of the troubles? BTW [here](https://github.com/asciidoctor/asciidoctor/issues/4634#issuecomment-24494974...) is AsciiDoctor upstream reaction and I share the sentiment. -- https://bugs.ruby-lang.org/