
Issue #20800 has been updated by vo.x (Vit Ondruch).
but using --enable-multiarch when not multiarch seems like a misuse of the feature.
I don't disagree. If I had other option, I'd use it. If somebody is interested to help, I'll gladly open separate ticket to share what are my thoughts on this topic.
can you explain where you'd like it to place ruby?
It is hard to guess what was the reason for [1] (and actually that should be the content of PR / commit message. Can this be improved, please?). So to me, it is questionable why the `/usr/libexec/` + symlink are used on the first place. But given this is reasonable change, then the patch should be likely `/usr/libexec/x86_64-linux/ruby`. At least this is my interpretation of FHS [2] and that would be aligned with what is the standard on Fedora (although admittedly, we would also leave out the `x86_64-linux`, because Fedora is not multilib). BTW I also don't understand why if usage of `/usr/libexec/` + symlink was deemed useful, why it should be mulitilib only. [1]: https://github.com/ruby/ruby/pull/10010 [2]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html ---------------------------------------- Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` https://bugs.ruby-lang.org/issues/20800#change-110175 * Author: vo.x (Vit Ondruch) * Status: Open * 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 ---------------------------------------- Trying to prepare Ruby 3.4 package for Fedora, it seems that since [1], the `ruby` executable is installed into `/usr/libexec/x86_64-linux/bin`: ~~~ installing binary commands: /usr/libexec/x86_64-linux/bin ~~~ Unfortunately, the PR does not explain anything about reasons why. To me, using `libexec` is surprising, because according to FHS [2], the directory is for internal binaries. What is even more surprising is usage of the `bin` subdirectory there, which IMHO does not follow any standard or convention (I don't have `/usr/libexec/x86_64-linux/bin` directory on my Fedora yet). Just FTR, these are the configuration options used: ~~~ /builddir/build/BUILD/ruby-3.4.0_20241016git3da3cabf98-build/ruby-3.4.0-3da3cabf98/configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-rubylibprefix=/usr/share/ruby --with-archlibdir=/usr/lib64 --with-rubyarchprefix=/usr/lib64/ruby --with-sitedir=/usr/local/share/ruby/site_ruby --with-sitearchdir=/usr/local/lib64/ruby/site_ruby --with-vendordir=/usr/share/ruby/vendor_ruby --with-vendorarchdir=/usr/lib64/ruby/vendor_ruby --with-rubyhdrdir=/usr/include --with-rubyarchhdrdir=/usr/include '--with-sitearchhdrdir=$(sitehdrdir)/$(arch)' '--with-vendorarchhdrdir=$(vendorhdrdir)/$(arch)' --with-rubygemsdir=/usr/share/rubygems --with-ruby-pc=ruby.pc --with-compress-debug-sections=no --disable-rpath --enable-mkmf-verbose --enable-shared --with-ruby-version= --enable-multiarch --enable-yjit ~~~ The `--enable-multiarch` is among the options. It is used not because Fedora would be `multiarch`, but because it provides the highest flexibility. [1]: https://github.com/ruby/ruby/pull/10010 [2]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html -- https://bugs.ruby-lang.org/