ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
@ 2024-10-21  8:50 vo.x (Vit Ondruch) via ruby-core
  2024-10-21  8:50 ` [ruby-core:119539] " alanwu (Alan Wu) via ruby-core
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: vo.x (Vit Ondruch) via ruby-core @ 2024-10-21  8:50 UTC (permalink / raw)
  To: ruby-core; +Cc: vo.x (Vit Ondruch)

Issue #20800 has been reported by vo.x (Vit Ondruch).

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800

* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:119539] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
@ 2024-10-21  8:50 ` alanwu (Alan Wu) via ruby-core
  2024-10-21  8:50 ` [ruby-core:119560] " vo.x (Vit Ondruch) via ruby-core
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: alanwu (Alan Wu) via ruby-core @ 2024-10-21  8:50 UTC (permalink / raw)
  To: ruby-core; +Cc: alanwu (Alan Wu)

Issue #20800 has been updated by alanwu (Alan Wu).


I'm not familiar with this area, but using `--enable-multiarch` when not multiarch seems like a misuse of the feature. Also, can you explain where you'd like it to place `ruby`?

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-110155

* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:119560] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
  2024-10-21  8:50 ` [ruby-core:119539] " alanwu (Alan Wu) via ruby-core
@ 2024-10-21  8:50 ` vo.x (Vit Ondruch) via ruby-core
  2024-10-21  9:01 ` [ruby-core:119563] " vo.x (Vit Ondruch) via ruby-core
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: vo.x (Vit Ondruch) via ruby-core @ 2024-10-21  8:50 UTC (permalink / raw)
  To: ruby-core; +Cc: vo.x (Vit Ondruch)

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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:119563] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
  2024-10-21  8:50 ` [ruby-core:119539] " alanwu (Alan Wu) via ruby-core
  2024-10-21  8:50 ` [ruby-core:119560] " vo.x (Vit Ondruch) via ruby-core
@ 2024-10-21  9:01 ` vo.x (Vit Ondruch) via ruby-core
  2024-11-14 16:05 ` [ruby-core:119931] " vo.x (Vit Ondruch) via ruby-core
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: vo.x (Vit Ondruch) via ruby-core @ 2024-10-21  9:01 UTC (permalink / raw)
  To: ruby-core; +Cc: vo.x (Vit Ondruch)

Issue #20800 has been updated by vo.x (Vit Ondruch).


vo.x (Vit Ondruch) wrote in #note-2:
> the path should likely be `/usr/libexec/x86_64-linux/ruby`

Just to clarify, the `ruby` would be the binary. Of course it could also be directory should there be need for more files in `libexec`

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-110177

* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:119931] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
                   ` (2 preceding siblings ...)
  2024-10-21  9:01 ` [ruby-core:119563] " vo.x (Vit Ondruch) via ruby-core
@ 2024-11-14 16:05 ` vo.x (Vit Ondruch) via ruby-core
  2024-12-26  8:33 ` [ruby-core:120416] " sorah (Sorah Fukumori) via ruby-core
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: vo.x (Vit Ondruch) via ruby-core @ 2024-11-14 16:05 UTC (permalink / raw)
  To: ruby-core; +Cc: vo.x (Vit Ondruch)

Issue #20800 has been updated by vo.x (Vit Ondruch).


With the [PR#12043](https://github.com/ruby/ruby/pull/12043), the executable is not installed into `/usr/x86_64-redhat-linux-gnu/bin/ruby`. But I can't say I understand the motivations. I am going to move the executable for Fedora where it always was 🤷

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-110653

* Author: vo.x (Vit Ondruch)
* Status: Closed
* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:120416] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
                   ` (3 preceding siblings ...)
  2024-11-14 16:05 ` [ruby-core:119931] " vo.x (Vit Ondruch) via ruby-core
@ 2024-12-26  8:33 ` sorah (Sorah Fukumori) via ruby-core
  2024-12-26 14:35 ` [ruby-core:120419] " mame (Yusuke Endoh) via ruby-core
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: sorah (Sorah Fukumori) via ruby-core @ 2024-12-26  8:33 UTC (permalink / raw)
  To: ruby-core; +Cc: sorah (Sorah Fukumori)

Issue #20800 has been updated by sorah (Sorah Fukumori).


Debian would also confuse this change, without explaining motivation behind the change

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-111197

* Author: vo.x (Vit Ondruch)
* Status: Closed
* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:120419] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
                   ` (4 preceding siblings ...)
  2024-12-26  8:33 ` [ruby-core:120416] " sorah (Sorah Fukumori) via ruby-core
@ 2024-12-26 14:35 ` mame (Yusuke Endoh) via ruby-core
  2024-12-26 20:19 ` [ruby-core:120422] " vo.x (Vit Ondruch) via ruby-core
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mame (Yusuke Endoh) via ruby-core @ 2024-12-26 14:35 UTC (permalink / raw)
  To: ruby-core; +Cc: mame (Yusuke Endoh)

Issue #20800 has been updated by mame (Yusuke Endoh).


The motivation is very clear, at least to me: The word “multiarch” seems to mean installing architecture-dependent files in separate arch-named directories; and "ruby" executable is architecture-dependent; it should be installed to any arch-named directory.

But to my surprise, https://wiki.debian.org/Multiarch/HOWTO says:

> Note that it does not enable multiple architecture versions of **applications** to be installed simultaneously.

So "multiarch" only applies to libraries and not to applications (i.e., executables)? If so, what a confusing and bad name "multiarch" is!

The name argument aside, you expect that the “ruby” executable to be installed into `$PREFIX/bin` by default, even though it is arch-dependent, right?

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-111200

* Author: vo.x (Vit Ondruch)
* Status: Closed
* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:120422] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
                   ` (5 preceding siblings ...)
  2024-12-26 14:35 ` [ruby-core:120419] " mame (Yusuke Endoh) via ruby-core
@ 2024-12-26 20:19 ` vo.x (Vit Ondruch) via ruby-core
  2024-12-26 22:46 ` [ruby-core:120427] " mame (Yusuke Endoh) via ruby-core
  2024-12-27 10:16 ` [ruby-core:120429] " vo.x (Vit Ondruch) via ruby-core
  8 siblings, 0 replies; 10+ messages in thread
From: vo.x (Vit Ondruch) via ruby-core @ 2024-12-26 20:19 UTC (permalink / raw)
  To: ruby-core; +Cc: vo.x (Vit Ondruch)

Issue #20800 has been updated by vo.x (Vit Ondruch).


As far as I can tell, the binaries in Debian are placed in `/usr/bin`:

https://packages.debian.org/sid/amd64/ruby3.3/filelist

I would expect that if this was problem, Debian folks would carry downstream patch adjusting this location and this change would refer to that patch or some other request from Debian with more details.

Generally, I still don't understand motivation for such change. From my POV, with my Fedora maintainer hat on and with all due respect, Ruby upstream should mostly care about installing Ruby into some dedicated directory out of system locations. Practice of running `make install` and modifying content of `/usr` should be discouraged. Installing into `/usr/local` is a bit better option, but then who cares about `multiarch`, there?

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-111202

* Author: vo.x (Vit Ondruch)
* Status: Closed
* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:120427] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
                   ` (6 preceding siblings ...)
  2024-12-26 20:19 ` [ruby-core:120422] " vo.x (Vit Ondruch) via ruby-core
@ 2024-12-26 22:46 ` mame (Yusuke Endoh) via ruby-core
  2024-12-27 10:16 ` [ruby-core:120429] " vo.x (Vit Ondruch) via ruby-core
  8 siblings, 0 replies; 10+ messages in thread
From: mame (Yusuke Endoh) via ruby-core @ 2024-12-26 22:46 UTC (permalink / raw)
  To: ruby-core; +Cc: mame (Yusuke Endoh)

Issue #20800 has been updated by mame (Yusuke Endoh).


I have explained the motivation, but I repeat: @nobu took consideration that if --enable-multiarch is specified, all arch-dependent files should be installed in arch-named directories. That makes sense to me.

I would like you not to repeat saying "I don't understand the motivation", but to provide a rationale why this consideration is unnecessary, and then to clearly state where "ruby" should be installed.

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-111206

* Author: vo.x (Vit Ondruch)
* Status: Closed
* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [ruby-core:120429] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
  2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
                   ` (7 preceding siblings ...)
  2024-12-26 22:46 ` [ruby-core:120427] " mame (Yusuke Endoh) via ruby-core
@ 2024-12-27 10:16 ` vo.x (Vit Ondruch) via ruby-core
  8 siblings, 0 replies; 10+ messages in thread
From: vo.x (Vit Ondruch) via ruby-core @ 2024-12-27 10:16 UTC (permalink / raw)
  To: ruby-core; +Cc: vo.x (Vit Ondruch)

Issue #20800 has been updated by vo.x (Vit Ondruch).


What I actually want is the configuration options to be honored. If there is used `--bindir=/usr/bin` configuration option, then simply place binaries into that directory (IOW with that option, I expect `/usr/bin/ruby` to be created), don't do any additional modifications to it. Currently, there are still additional logic [1] under which is the destination modified. If there is no `--bindir` specified, then I don't really mind about the result that much.


[1]: https://github.com/ruby/ruby/blob/adbbc9109ee71848204b5168a7c1bf604849e5fa/tool/rbinstall.rb#L369-L371

----------------------------------------
Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
https://bugs.ruby-lang.org/issues/20800#change-111208

* Author: vo.x (Vit Ondruch)
* Status: Closed
* 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/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-12-27 10:16 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-21  8:50 [ruby-core:119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` vo.x (Vit Ondruch) via ruby-core
2024-10-21  8:50 ` [ruby-core:119539] " alanwu (Alan Wu) via ruby-core
2024-10-21  8:50 ` [ruby-core:119560] " vo.x (Vit Ondruch) via ruby-core
2024-10-21  9:01 ` [ruby-core:119563] " vo.x (Vit Ondruch) via ruby-core
2024-11-14 16:05 ` [ruby-core:119931] " vo.x (Vit Ondruch) via ruby-core
2024-12-26  8:33 ` [ruby-core:120416] " sorah (Sorah Fukumori) via ruby-core
2024-12-26 14:35 ` [ruby-core:120419] " mame (Yusuke Endoh) via ruby-core
2024-12-26 20:19 ` [ruby-core:120422] " vo.x (Vit Ondruch) via ruby-core
2024-12-26 22:46 ` [ruby-core:120427] " mame (Yusuke Endoh) via ruby-core
2024-12-27 10:16 ` [ruby-core:120429] " vo.x (Vit Ondruch) via ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).