Версия пакета: gem-regexp-parser-2.11.3-alt1 https://git.altlinux.org/gears/g/gem-regexp-parser.git?p=gem-regexp-parser.git;a=blobdiff;f=.gear/gem-regexp-parser.spec;h=24875966eae784d7b16caf584d1ce0e657eb28a1;hp=17c3b12583cfef2efc5972812d80a7b2672485c2;hb=3a57de3ffa2f43880f78b2819e4d5829a4b45f3c;hpb=b107148a1638e5a2dd384858b487c4be1ec794e0 При обновлении с версии 2.6.1 до 2.11.3 сборочная зависимость на gem(rspec) была вынесена в `%if_enabled check` и определение макроса `%ruby_on_build_rake_tasks` было удалено . Как следствие, получаем:%ruby_on_build_rake_tasks ``` [00:00:03] Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.87993 [00:00:03] + umask 022 [00:00:03] + /bin/mkdir -p /usr/src/RPM/BUILD [00:00:03] + cd /usr/src/RPM/BUILD [00:00:03] + cd gem-regexp-parser-2.11.3 [00:00:03] + rm -f Gemfile.lock [00:00:03] + GEM_HOME=/usr/lib/ruby/gemie [00:00:03] + /usr/bin/ruby /usr/lib/ruby/bin/setup-rb build --shebang=auto --bindir=/usr/bin --prefixes=gem,ruby,rails-engine --gem-version-replace= --ignore-names= --regard-names= --alias=:regexp_parser,regexp-parser:: --use-gem-dependencies= --pre= --use-gem-version= --ignore-path-tokens=templates,example,examples,sample,samples,spec,test,features,fixtures,doc,docs,contrib,demo,acceptance,conformance,myapp,website,benchmarks,benchmark,gemfiles,misc,steer --regard-path-tokens= --debug-io=/usr/src/tmp/debug.log --verbose=debug [00:00:03] (ruby 3.3.8 x86_64-linux) [00:00:03] Setup::Loader.load_file.chdir > NameError: uninitialized constant #<Class:Setup::Source::Gem::M58265135279063730331243919960053550706>::RSpec [00:00:03] Setup::Loader.load_file > LoadError: cannot load such file -- rspec/core/rake_task [00:00:03] [setup.rb][INFO]> Source list are the following: [00:00:03] [setup.rb][INFO]> V *regexp_parser:2.11.3:ruby [/usr/src/RPM/BUILD/gem-regexp-parser-2.11.3/regexp_parser.gemspec] [00:00:03] [setup.rb][INFO]> = *regexp_parser:2.11.3:ruby [/usr/src/RPM/BUILD/gem-regexp-parser-2.11.3/Rakefile] [00:00:03] [setup.rb][INFO]> = *regexp_parser:2.11.3:ruby [/usr/src/RPM/BUILD/gem-regexp-parser-2.11.3/Rakefile] [00:00:03] [setup.rb][INFO]> Source list are the following: [00:00:03] [setup.rb][INFO]> V *regexp_parser:2.11.3:ruby [/usr/src/RPM/BUILD/gem-regexp-parser-2.11.3/regexp_parser.gemspec] [00:00:03] [setup.rb][INFO]> = *regexp_parser:2.11.3:ruby [/usr/src/RPM/BUILD/gem-regexp-parser-2.11.3/Rakefile] [00:00:03] [setup.rb][INFO]> = *regexp_parser:2.11.3:ruby [/usr/src/RPM/BUILD/gem-regexp-parser-2.11.3/Rakefile] [00:00:03] [00:00:03] - - PRECONFIG - - - - - - - - - - - - - - - - - - - - - - - - - - - - [00:00:03] [00:00:03] SetupConfig was saved. Edit to customize configuration. [00:00:03] [00:00:03] - - DOCUMENT- - - - - - - - - - - - - - - - - - - - - - - - - - - - - [00:00:03] [00:00:03] Generating predeps: [00:00:03] [00:00:03] + exit 0 ``` Rakefile не грузится -> компиляция Ragel файлов не происходит. Всё, что требует regexp_parser/scanner.rb, ломается. Вот пример для cookstyle: ``` # cookstyle /usr/lib/ruby/gemie/gems/regexp_parser-2.11.3/lib/regexp_parser.rb:5:in `require_relative': cannot load such file -- /usr/lib/ruby/gemie/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner (LoadError) from /usr/lib/ruby/gemie/gems/regexp_parser-2.11.3/lib/regexp_parser.rb:5:in `<top (required)>' from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require' from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require' from /usr/lib/ruby/gemie/gems/rubocop-1.81.6/lib/rubocop.rb:12:in `<top (required)>' from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require' from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require' from /usr/lib/ruby/gemie/gems/cookstyle-8.5.2/lib/cookstyle.rb:9:in `<top (required)>' from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require' from <internal:/usr/lib/ruby/rubygems/core_ext/kernel_require.rb>:136:in `require' from /usr/bin/cookstyle:10:in `<main>' ``` Необходимо сделать изменения: ``` --- a/.gear/gem-regexp-parser.spec +++ b/.gear/gem-regexp-parser.spec @@ -19,6 +19,7 @@ BuildArch: noarch Source: %name-%version.tar BuildRequires(pre): rpm-build-ruby BuildRequires: ragel6 >= 6.0 +BuildRequires: gem(rspec) >= 3.10 %if_enabled check BuildRequires: gem(benchmark-ips) >= 2.1 BuildRequires: gem(debug) >= 0 @@ -27,7 +28,6 @@ BuildRequires: gem(leto) >= 2.1 BuildRequires: gem(rake) >= 13.1 BuildRequires: gem(regexp_property_values) >= 1.5 BuildRequires: gem(relaxed-rubocop) >= 0 -BuildRequires: gem(rspec) >= 3.10 BuildRequires: gem(rubocop) >= 1.80.2 BuildRequires: gem(simplecov-cobertura) >= 0 BuildConflicts: gem(benchmark-ips) >= 3 @@ -41,6 +41,7 @@ BuildConflicts: gem(rubocop) >= 2 %add_findreq_skiplist %ruby_gemslibdir/**/* %add_findprov_skiplist %ruby_gemslibdir/**/* %ruby_alias_names regexp_parser,regexp-parser +%ruby_on_build_rake_tasks build Requires: ruby >= 2.0.0 Obsoletes: ruby-regexp_parser < %EVR Provides: ruby-regexp_parser = %EVR ```