Bug 37088

Summary: ruby-google-auth теряет requires и provides при пересборке
Product: Sisyphus Reporter: Ivan A. Melnikov <iv>
Component: rpm-build-rubyAssignee: majioa <majioa>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P3 CC: 3aHyga, aris, cas, imz, led, majioa, mike, nbr, pav, rider, stalker
Version: unstable   
Hardware: all   
OS: Linux   

Description Ivan A. Melnikov 2019-08-08 15:32:02 MSK
Столкнулся с тем, что пересборке ruby-google-auth в текущем окружении у пакета теряются все ruby-специфичные requires и provides. Особенно это не приятно на mipsel, где этот пакет ранее не был собран, а теперь получился собранным без необходимых зависимостей.

См. например тестовую задачу:

http://git.altlinux.org/tasks/235775/logs/events.1.1.log

        x86_64: NEW unmet dependencies detected:
ruby-google-api#0.30.2-alt1     ruby-gem(googleauth) < 0.10.0
ruby-google-api#0.30.2-alt1     ruby-gem(googleauth) >= 0.5

и то же на других архитектурах.

Если сравнить текущий пакет:
$ rpm -qp --requires --qf '\n\n' --provides /ALT/Sisyphus/files/noarch/RPMS/ruby-google-auth-0.6.7-alt1.noarch.rpm
ruby >= 0
ruby-gem(faraday) < 1
ruby-gem(faraday) >= 0.12
ruby-gem(jwt) < 3.0
ruby-gem(jwt) >= 1.4
ruby-gem(memoist) < 1
ruby-gem(memoist) >= 0.16
ruby-gem(multi_json) < 2
ruby-gem(multi_json) >= 1.11
ruby-gem(os) < 2.0
ruby-gem(os) >= 0.9
ruby-gem(signet) < 1
ruby-gem(signet) >= 0.7
rubygems >= 0
rpmlib(PayloadIsLzma)


ruby-gem(googleauth) = 0.6.7
rubygem(googleauth) = 0.6.7
ruby-google-auth = 1:0.6.7-alt1

с результатами простой пересборки:

$ rpm -qp --requires --qf '\n\n' --provides /tasks/235775/build/100/x86_64/rpms/ruby-google-auth-0.6.7-alt1.noarch.rpm
rpmlib(PayloadIsLzma)


ruby-google-auth = 1:0.6.7-alt1:sisyphus+235775.100.1.1


...  то очевидно, что чего-то не хватает.
Comment 1 Ivan A. Melnikov 2019-08-08 15:34:36 MSK
Если посмотреть в логи сборки (ценный источник информации, да), можно увидеть, например такое:

Ruby project file is '/usr/src/RPM/BUILD/google-auth-library-ruby-0.6.7/SetupConfig'
setup.rb provides --install_prefix=/usr/src/tmp/ruby-google-auth-buildroot --package=ruby-google-auth -q
[setup.rb] -> LoadError: cannot load such file -- rspec/core/rake_task
gem 'googleauth' at /usr/src/RPM/BUILD/google-auth-library-ruby-0.6.7
(ruby 2.5.5 x86_64-linux)
ERROR[LoadError]: cannot load such file -- rspec/core/rake_task
* provs ->

и что-то очень похожее для find requires.

http://git.altlinux.org/tasks/235775/build/100/x86_64/log
Comment 2 Yuri N. Sedunov 2019-08-15 12:13:32 MSK
Аналогично.
Собираю https://github.com/google/hrx-ruby, и ни тебе ни reqs, ни provs.
Бардак.

...
Detecting ruby requires for ruby-hrx-ruby...
Ruby project file is '/usr/src/RPM/BUILD/hrx-ruby-1.1.0/SetupConfig'
setup.rb requires --install_prefix=/usr/src/tmp/ruby-hrx-ruby-buildroot --package=ruby-hrx-ruby -q
gem 'hrx' at /usr/src/RPM/BUILD/hrx-ruby-1.1.0
(ruby 2.5.5 x86_64-linux)
ERROR[LoadError]: cannot load such file -- Rakefile
* reqs ->
Requires: /usr/bin/ruby
Processing files: ruby-hrx-ruby-doc-1.1.0-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.6KlMXy
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,ruby,shell)
Detecting ruby provides for ruby-hrx-ruby-doc...
--- '/usr/src/RPM/BUILD/hrx-ruby-1.1.0/SetupConfig'
Ruby project file is '/usr/src/RPM/BUILD/hrx-ruby-1.1.0/SetupConfig'
setup.rb provides --install_prefix=/usr/src/tmp/ruby-hrx-ruby-buildroot --package=ruby-hrx-ruby-doc -q
gem 'hrx' at /usr/src/RPM/BUILD/hrx-ruby-1.1.0
(ruby 2.5.5 x86_64-linux)
ERROR[LoadError]: cannot load such file -- Rakefile
* provs ->
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.99wAPh
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,ruby,shebang,shell,static,symlinks)
Detecting ruby requires for ruby-hrx-ruby-doc...
Ruby project file is '/usr/src/RPM/BUILD/hrx-ruby-1.1.0/SetupConfig'
setup.rb requires --install_prefix=/usr/src/tmp/ruby-hrx-ruby-buildroot --package=ruby-hrx-ruby-doc -q
gem 'hrx' at /usr/src/RPM/BUILD/hrx-ruby-1.1.0
(ruby 2.5.5 x86_64-linux)
ERROR[LoadError]: cannot load such file -- Rakefile
* reqs ->
Comment 3 Repository Robot 2020-02-19 14:00:59 MSK
rpm-build-ruby-1:1.0.0-alt9 -> sisyphus:

 Tue Feb 18 2020 Pavel Skrylev <majioa@altlinux> 1:1.0.0-alt9
 - Fixed (!) ruby.prov (closes #36506, #37088)
 - changed (*) ruby.req output
Comment 4 Малъ Скрылевъ 2020-02-19 14:05:12 MSK
hrx собран тоже