Bug 44173

Summary: sisyphus_check: .i586.rpm: FHS violations: /usr/lib64/ruby/vendor_ruby
Product: Sisyphus Reporter: Vitaly Chikunov <vt>
Component: rubyAssignee: majioa <majioa>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: 3aHyga, cas, imz, led, majioa, mike, nbr, pav, rider, stalker
Version: unstable   
Hardware: x86   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=41688

Description Vitaly Chikunov 2022-10-29 18:36:16 MSK
Невозможно запаковать ruby модуль на 32-битных архитектурах:

  /.out/ruby-xapian-1.4.21-alt1.i586.rpm: FHS violations: /usr/lib64/ruby/vendor_ruby/_xapian.so
  sisyphus_check: check-fhs ERROR: FHS violation

Всё потому что на 32-битных архитектурах %ruby_vendorarchdir в rpm-macros-ruby установлена в `/usr/lib64/ruby/vendor_ruby/`, что явно не правильно (см. lib64).

  builder@i586:/usr/lib$ grep -r lib64 rpm/macros.d/ruby
  %ruby_gemsextdir        /usr/lib64/ruby/gemie/extensions
  %ruby_sitearchdir       /usr/local/lib64/ruby
  %ruby_vendorarchdir     /usr/lib64/ruby/vendor_ruby/

При этом

  builder@i586:/usr/lib$ ruby -rrubygems -rrbconfig -e 'pp RbConfig::CONFIG["vendorarchdir"]'
  "/usr/lib/ruby/vendor_ruby/"

Видимо потому что 

  %package       -n rpm-macros-ruby
  BuildArch:     noarch
Comment 1 Малъ Скрылевъ 2022-10-29 22:45:32 MSK
Не понятно почему, т.к. я смотрел на i586 и папки были без суффикса 64.

Перепроверю.
Comment 2 Малъ Скрылевъ 2022-10-29 23:06:43 MSK
вот я только что пересобрал новый ruby у себя, папки в файле макросов такые:

```
%ruby_gemspecdir        /usr/lib/ruby/gemie/specifications
%ruby_gemsextdir        /usr/lib/ruby/gemie/extensions
%ruby_gemslibdir        /usr/lib/ruby/gemie/gems
%ruby_gemsdocdir        /usr/share/ri
%ruby_includedir        /usr/include
%ruby_gemspec           %ruby_gemspecdir/%gemname-%version.gemspec
%ruby_gemextdir         %ruby_gemsextdir/%gemname-%version
%ruby_gemlibdir         %ruby_gemslibdir/%gemname-%version
%ruby_gemdocdir         %ruby_gemsdocdir/%gemname-%version
%ruby_gemincludedir     %ruby_includedir/%gemname
%ruby_sitedocdir        /usr/share/ri
%ruby_sitearch          i586-linux
%ruby_sitearchdir       /usr/local/lib/ruby
%ruby_sitelibdir        /usr/local/lib/ruby
%ruby_siteincludedir    /usr/include/ruby
%ruby_vendorhdrdir      /usr/include/vendor_ruby
%ruby_vendorarchdir     /usr/lib/ruby/vendor_ruby/
%ruby_vendorlibdir      /usr/lib/ruby/vendor_ruby
%ruby_vendorarchhdrdir  /usr/include/vendor_ruby
```
Comment 3 Малъ Скрылевъ 2022-10-30 00:08:06 MSK
воспроизвёл, но  он как то проявляется только после пересборки, буду править
Comment 4 Vitaly Chikunov 2022-10-30 00:18:54 MSK
Надо убрать noarch у rpm-macros-ruby.
Comment 5 Vitaly Chikunov 2022-11-07 14:52:34 MSK
Спасибо.