Vít Ondruch wrote on 2023/10/13 0:20:
Hi,

I am back again with yet another update, this time to e029375a7d. The changes 
are in the PR:


Vít, would you take a look at this change?

https://github.com/rubygems/rubygems/pull/5327

In ruby.git , these are imported from 7aebe2a52bac2a925c475c511640ad13a7d20490 
to
9dcaa832592af0125ba6407a506b2b3953b2f81c , I guess.

Perhaps due to the above changes:

[A] now "gem build ../foo-version.spec" as we usually do in rubygem-foo.spec 
fails like:

---------------------------------------------------------
+ gem build ../Ascii85-1.1.0.gemspec
Defaulting to user installation because default GEM_HOME (/usr/share/gems) is 
not writable.
Invalid gemspec in [../Ascii85-1.1.0.gemspec]: ../Ascii85-1.1.0.gemspec:1: 
unknown regexp options - har
...se default GEM_HOME (/usr/share/gems) is not writable.
...                         ^~~~~~
../Ascii85-1.1.0.gemspec:1: syntax error, unexpected local variable or method, 
expecting end-of-input
...t GEM_HOME (/usr/share/gems) is not writable.
...                             ^~
ERROR:  Error loading gemspec. Aborting.
error: Bad exit status from /var/tmp/rpm-tmp.Cvl7rH (%build)
---------------------------------------------------------

So this affects (breaks) almost all of Fedora rubygem- packages.

[B]
Also, even if I workaround this, %gem_install , i.e.
$ gem install -V --local --build-root . --force --document=ri,rdoc 
%{gem_name}-%{version}.gem
now installs files under $HOME/.local:

---------------------------------------------------------
+ gem install -V --local --build-root . --force --document=ri,rdoc 
Ascii85-1.1.0.gem
Defaulting to user installation because default GEM_HOME (/usr/share/gems) is 
not writable.
WARNING:  You build with buildroot.
  Build root: /builddir/build/BUILD/Ascii85-1.1.0
  Bin dir: 
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/bin
  Gem home: /builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby
  Plugins dir: 
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/plugins
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/.travis.yml
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/Ascii85.gemspec
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/Gemfile
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/History.txt
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/LICENSE
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/README.md
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/Rakefile
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/bin/ascii85
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/lib/Ascii85/version.rb
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/lib/ascii85.rb
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/gems/Ascii85-1.1.0/spec/lib/ascii85_spec.rb
/builddir/build/BUILD/Ascii85-1.1.0/builddir/.local/share/gem/ruby/bin/ascii85
---------------------------------------------------------

So for now, I essentially reverted the above PR5327 changes on my local 
ruby.src (based on
your ruby.src) and it looks working as before, so again I am going to do trial 
rebuild for
all rubygem- packages.

(Well, when I saw these lots of git changelog related to rubygems part on 
ruby.git,
 I had a bad feeling about this.....)

Regards,
Mamoru


https://src.fedoraproject.org/rpms/ruby/pull-request/159

And the scratch build is running here:

https://koji.fedoraproject.org/koji/taskinfo?taskID=107409961

 From upstream POV, there is nothing particularly interesting, except of the 
rename of the new Ruby source code parser from YART to prism and on strange JIT 
test failure.

 From changes in the .spec file, I have migrated every custom reference of gem 
path to the %gem_ macros. This was enabled by this commit:

https://src.fedoraproject.org/fork/vondruch/rpms/ruby/c/c514f5f13c709dc289754663ba31491617d83811

Please note that this commit also introduces `%gem_name_version` macro, which 
we could use in place of `%{gem_name}-%{version}`.

Next on my table is allow usage of generators on default/bundled gems. More 
details on this approach is here:

https://lists.fedoraproject.org/archives/list/de...@lists.fedoraproject.org/thread/3MHROKOM53HM6NF7RGGLFBIQFG5IEIQG/

and in practice, this will look like:


~~~

$ git diff
diff --git a/ruby.spec b/ruby.spec
index 1aea20b..51f3065 100644
--- a/ruby.spec
+++ b/ruby.spec
@@ -196,6 +196,11 @@ Source15: test_openssl_fips.rb
  %{load:%{SOURCE4}}
  %{load:%{SOURCE5}}

+%global __local_generator_requires make -C 
%{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby 
TESTRUN_SCRIPT="--enable-gems %{SOURCE9}"
+%global __local_generator_provides make -C 
%{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby 
TESTRUN_SCRIPT="--enable-gems %{SOURCE10}"
+%global __local_generator_conflicts make -C 
%{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby 
TESTRUN_SCRIPT="--enable-gems %{SOURCE11}"
+%global __local_generator_path ^%{gem_dir}/specifications/.*\.gemspec$
+
  # Fix ruby_version abuse.
  # https://bugs.ruby-lang.org/issues/11002
  Patch0: ruby-2.3.0-ruby_version.patch
@@ -229,6 +234,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  Recommends: ruby(rubygems) >= %{rubygems_version}
  Recommends: rubygem(bigdecimal) >= %{bigdecimal_version}

+BuildRequires: rpm-local-generator-support
  # Build dependencies
  BuildRequires: autoconf
  BuildRequires: gcc

~~~


But to enable this, I'll soon need help with a review of:

https://copr.fedorainfracloud.org/coprs/vondruch/rpm-local-generator/package/rpm-local-generator-support/

Please take a look and as always, any feedback is welcome. And also, thx a lot 
who already did some test builds and compatibility fixes. That is really great!


Vít

_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to