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