#archlinux32 | Logs for 2022-10-09

Back
[09:38:09] -!- titus_livius has joined #archlinux32
[09:53:16] -!- abaumann has joined #archlinux32
[09:53:16] <buildmaster> Hi abaumann!
[09:53:17] <buildmaster> !rq abaumann
[09:53:17] <phrik> buildmaster: <abaumann> It's generally more important to not interrupt building of packages than to produce working packages.. :-)
[11:31:27] <abaumann> so, motivated again to solve the ruby-rdoc/rubygems messup :-)
[11:31:28] <abaumann> install -c -m 644 bundler/vendor/thor/lib/thor/version.rb /build/rubygems/pkg/rubygems/usr/lib/bundler/vendor/thor/lib/thor/version.rbERROR: While executing gem ... (NameError)
[11:31:32] <abaumann> uninitialized constant Gem::RDoc
[11:31:34] <abaumann> /build/rubygems/src/rubygems-3.3.23/lib/rubygems/commands/setup_command.rb:350:in `install_rdoc'
[11:34:14] <abaumann> rdoc = Gem::RDoc.new fake_spec, generate_rdoc, generate_ri
[11:34:36] <abaumann> yeah, this is an old rdoc used for rubygems documentation which is needed to rebuild ruby-rdoc..classy :-)
[11:39:56] <abaumann> mmh, rebuilding ruby-rdoc didn't solve anything..
[11:53:48] <abaumann> /usr/lib/ruby/3.0.0/rubygems.rb:265:in `find_spec_for_exe': can't find gem rdoc (>= 0.a) with executable rdoc (Gem::GemNotFoundException) from /usr/lib/ruby/3.0.0/rubygems.rb:284:in `activate_bin_path' from /usr/bin/rdoc:25:in `<main>'
[11:53:52] <abaumann> interesting..
[12:00:40] <abaumann> So is rdoc calling the broken rdoc in rubygems?
[12:07:44] <abaumann> yea, usr/bin/rdoc conflict, if I dont install ruby-droc, I lack the modules. Switching off rdoc in rubygems is more or less not supported..
[12:09:10] <abaumann> also, I like setup.rb scripts doing just everything..
[12:09:52] <abaumann> --no-document --no-rdoc --no-ri seem not to have an effect on "Removing old RubyGems RDoc and ri"
[12:13:13] <abaumann> let's patch it out the hard way..
[16:01:08] <abaumann> so, all stdlib and bundledgems have been built, I still need patches for the shared libraries, but now I can unpatch ruby itself hopefully and rebuild..
[16:01:18] <abaumann> ..it and all packages again..
[16:01:25] <abaumann> ..maybe this fixes pathes..
[16:15:09] -!- daoudr has joined #archlinux32
[17:48:02] <abaumann> aha.
[17:48:02] <abaumann> local _platform="$(gem env platform | cut -d':' -f2)"
[17:48:19] <abaumann> returns x86_64-linux which is magically the same thing as ruby thinks so files should live in..
[17:48:37] <abaumann> ..but this is just wrong on IA-32 (it returns x86-linux)..
[17:48:50] <abaumann> ..but should end up in i486-linux, i686-linux
[17:49:25] <abaumann> it was all ok in ruby 3.0.0, but not now in 3.0.4
[17:55:18] <abaumann> ruby 3.0.2 had the digest.so here usr/lib/ruby/3.0.0/i686-linux/digest.
[17:55:40] <abaumann> now in the ruby-digest package it ends up here usr/lib/ruby/3.0.0/x86-linux/digest.so
[17:56:00] <abaumann> we cannot add RUBYLIB everywhere in every package building or running native code
[17:56:21] <abaumann> we cannot move it into the right place (setting _platform in ruby-digest): it just fails then
[17:57:22] -!- finsternis has joined #archlinux32
[17:58:36] <abaumann> gem env platform shows ruby:x86-linux for ruby 3.0.0 and 3.0.4
[17:58:46] <abaumann> making thinks depend on that might not really work..
[18:03:37] -!- epony has quit [Remote host closed the connection]
[19:29:04] -!- abaumann has quit [Quit: leaving]
[21:22:08] -!- epony has joined #archlinux32
[21:53:03] -!- abaumann has joined #archlinux32
[21:53:04] <buildmaster> Hi abaumann!
[21:53:04] <buildmaster> !rq abaumann
[21:53:04] <phrik> buildmaster: <abaumann> it usually automatically fails. :-)
[21:53:24] <abaumann> so, I found the issue (I think).. ruby installed native libraries in the right i686-linux subdir..
[21:53:44] <abaumann> ..now all base ruby modules are "gem"-ified, and gem thinks the platform is 'x86-linux'..
[21:54:05] <abaumann> when you force $_platform in PKGBUILD, gem runs beserk.
[21:54:34] <abaumann> So, I'll make a $_install_platform and then down in the mv *.so and subdir/*.so I just move from $_platform to $_install_platform.
[21:54:55] <abaumann> This will affect only the ruby-stdlib libraries (and there are not too many of them).
[21:55:13] <abaumann> The problem way would most likely be to patch gem, but gem has several issues anyway:
[21:55:50] <abaumann> there is a reason why there are triples or even 4-tuples for architecture descriptions.. x86-linux is just not enough, you need also glibc/musl etc.
[21:56:11] <abaumann> *proper way*^^
[21:56:23] <abaumann> but, tomorrow, not now.. :-)
[21:56:26] -!- abaumann has quit [Client Quit]
[23:54:36] -!- daoudr has quit [Ping timeout: 260 seconds]