BTW, the question also is, what is the influence of PR5327 on our settings:


https://src.fedoraproject.org/rpms/ruby/blob/5bf57b1504871230600103083d77ff3502255e2e/f/operating_system.rb#_103


In theory, we should be able to drop this.


Vít


Dne 20. 10. 23 v 14:21 Vít Ondruch napsal(a):

Dne 20. 10. 23 v 14:13 Vít Ondruch napsal(a):

Dne 15. 10. 23 v 1:48 Mamoru TASAKA napsal(a):
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.


https://github.com/rubygems/rubygems/issues/7082

Testing with e.g. rubygem-json, this would be the workaround I guess:

~~~

$ sed -i '/^Defaulting to user installation/d' json-2.6.3.gemspec

~~~


Vít




[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
---------------------------------------------------------


For the beginning, I have reported this here:

https://github.com/rubygems/rubygems/issues/7083



Vít



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


Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
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