Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
This is the list of packages, which very likely needs rebuild:
``` $ dnf repoquery --disablerepo=* --enablerepo=rawhide --enablerepo=rawhide-source --arch=src --whatrequires 'ruby-devel' | sort | uniq ```
You can take the package and just fire rebuild, but please ensure that you are using f30-ruby build target [2], i.e. the build command should look like:
``` $ fedpkg build --target f30-ruby ```
Please be careful, because if you, by a chance, omit the f30-ruby target, you'll be building against Ruby 2.5 which is not what you want.
If you won't do it by yourself, I'll be rebuilding all packages after I am finished with my packages. I'll be using fermig [3] to help mi with that. If you don't want me to touch your packages for whatever reason, please let me know.
Also, Pavel Valena built some packages against Ruby 2.6 in his Copr repository [4], so please check if other packages needs some adjustments.
You can follow the progress at:
https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=5700&or...
or using:
``` $ koji list-tagged f30-ruby ```
As always, any help/testing/feedback is welcome.
Vít
[1] https://fedoraproject.org/wiki/Changes/Ruby_2.6
[2] https://pagure.io/releng/issue/8034
[3] https://github.com/fedora-ruby/fermig
[4] https://copr.fedorainfracloud.org/coprs/pvalena/ruby26-gems/
Vít Ondruch wrote on 2019/01/17 20:49:
Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
Thank you for your nice work for ruby 2.6.
Update for current build status against ruby 2.6: So far (according to repoquery) 96 packages successfully rebuilt for ruby 2.6, and leftovers are:
$ dnf repoquery --disablerepo=* --enablerepo=f30-ruby --whatrequires "libruby.so.2.5()(64bit)" --qf "%{SOURCERPM}" | sort | uniq | cat -n 1 hivex-1.3.16-1.fc30.src.rpm Not tried myself
2 libguestfs-1.40.1-2.fc30.src.rpm Not tried myself
3 libsbml-5.17.0-11.fc30.src.rpm Vít is now rebuilding: https://koji.fedoraproject.org/koji/buildinfo?buildID=1181231
4 libsedml-0.4.3-18.fc30.src.rpm Not tried myself
5 libselinux-2.8-5.fc30.src.rpm Just finished rebuilding successfully: https://koji.fedoraproject.org/koji/buildinfo?buildID=1181241
6 postgresql-plruby-0.5.7-1.fc30.src.rpm Fails to build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32170914 Builds for rawhide (ruby 2.5), so perhaps related to ruby change
7 rubygem-json-2.1.0-106.fc29.src.rpm Segfaults (!?) https://koji.fedoraproject.org/koji/taskinfo?taskID=32162735 But rubygem-json-2.1.0-110.fc30 (from ruby srpm) is there - so perhaps there is workaround?
8 rubygem-nio4r-2.3.1-2.fc29.src.rpm Fails to build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32171389 Some test failure
9 rubygem-puma-3.12.0-1.fc30.src.rpm Fails to build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32171309 Some test failure
10 rubygem-raindrops-0.13.0-10.fc29.src.rpm Fails to build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32171218 Maybe due to missing BR: gcc
11 shogun-6.0.0-15.fc30.src.rpm Again difficult to build as before, currently fails to build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32166157 BUILDSTDERR: /builddir/build/BUILD/shogun-6.0.0/x86_64-redhat-linux-gnu/src/interfaces/octave_modular/modshogunOCTAVE_wrap.cxx:4999:10: fatal error: octave/config.h: No such file or directory BUILDSTDERR: #include <octave/config.h> Related to octave, maybe not related to ruby.
12 xmms2-0.8-56.fc29.src.rpm Fails to build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32162317 BuildRequires cannot be satisfied: DEBUG util.py:490: BUILDSTDERR: No matching package to install: 'Pyrex' DEBUG util.py:490: BUILDSTDERR: Not all dependencies satisfied Perhaps related to python2 obsolete changes
So looks like we are close to finishing rebuiilding for ruby 2.6.
Regards, Mamoru
Hello, ruby-sig folks:
Mamoru TASAKA wrote on 2019/01/22 0:34:
Vít Ondruch wrote on 2019/01/17 20:49:
Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
Thank you for your nice work for ruby 2.6.
Update for current build status against ruby 2.6: So far (according to repoquery) 96 packages successfully rebuilt for ruby 2.6, and leftovers are:
Again update for current ruby 2.6 rebuild status:
From repoquery, now 100 packages are using "libruby.so.2.6()(64bit)", and the leftovers which still uses "libruby.so.2.5()(64bit)" are:
$ dnf repoquery --disablerepo=* --enablerepo=koji-ruby26 --whatrequires "libruby.so.2.5()(64bit)" --qf "%{SOURCERPM}" | sort | uniq | cat -n 1 hivex-1.3.16-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181239 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181237 Some tests seem to be segfaulting.
2 libsbml-5.17.0-11.fc30.src.rpm Build fails, only on armv7hl: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181245 Even for rawhide (and only on armv7hl): https://koji.fedoraproject.org/koji/taskinfo?taskID=32181243 Some tests seem to be segfaulting.
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375 + ruby extconf.rb --vendor --with-safe-level=1 --with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
4 rubygem-json-2.1.0-106.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182608 Succeeds for rawhide (ruby 2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32182604 Test segfaults. I guess Pavel is working on this: https://src.fedoraproject.org/rpms/rubygem-json/pull-request/1
5 rubygem-nio4r-2.3.1-2.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182612 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182610 Some test failure.
6 rubygem-puma-3.12.0-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182636 Even for rawhide, but for this only for armv7hl: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182620 Build failure for ruby 2.5 on armv7hl, with additional test failures with ruby 2.6.
7 shogun-6.0.0-15.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181287 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181394 Now build fails with regard to openmp code, perhaps related to gcc9 change.
8 xmms2-0.8-56.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182654 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182638 "BuildRequies: Pyrex" cannot be resolved, due to python2 obsolete change.
So currently all leftovers fails to build somehow.
Regards, Mamoru
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
Hello, ruby-sig folks:
Mamoru TASAKA wrote on 2019/01/22 0:34:
Vít Ondruch wrote on 2019/01/17 20:49:
Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
Thank you for your nice work for ruby 2.6.
My pleasure. Thanks for helping with the rebuild.
Update for current build status against ruby 2.6: So far (according to repoquery) 96 packages successfully rebuilt for ruby 2.6, and leftovers are:
Again update for current ruby 2.6 rebuild status:
From repoquery, now 100 packages are using "libruby.so.2.6()(64bit)", and the leftovers which still uses "libruby.so.2.5()(64bit)" are:
$ dnf repoquery --disablerepo=* --enablerepo=koji-ruby26 --whatrequires "libruby.so.2.5()(64bit)" --qf "%{SOURCERPM}" | sort | uniq | cat -n 1 hivex-1.3.16-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181239 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181237 Some tests seem to be segfaulting.
I don't think we should spent time with this package, because it has luckily active maintainers/upstream.
4 rubygem-json-2.1.0-106.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182608 Succeeds for rawhide (ruby 2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32182604 Test segfaults. I guess Pavel is working on this: https://src.fedoraproject.org/rpms/rubygem-json/pull-request/1
Yes, there is additional patch in Ruby which was not accepted upstream yet. I am not even sure Ruby upstream has commit bit to upstream repository of Json.
5 rubygem-nio4r-2.3.1-2.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182612 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182610 Some test failure.
This is OpenSSL 1.1.1 related and reported already for some while:
https://github.com/socketry/nio4r/issues/194
We should probably disabled the failing test for now.
I'll try to check the rest of the failures, but there is nothing major IMO. Therefore I am going to ask relengs to merge the side tag back into Rawhide and we can polish the rest later.
Vít
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Tuesday, January 22, 2019 10:17:11 AM Subject: Re: Ruby 2.6 - Mass rebuild
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
Hello, ruby-sig folks:
Mamoru TASAKA wrote on 2019/01/22 0:34:
Vít Ondruch wrote on 2019/01/17 20:49:
Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
Thank you for your nice work for ruby 2.6.
My pleasure. Thanks for helping with the rebuild.
Update for current build status against ruby 2.6: So far (according to repoquery) 96 packages successfully rebuilt for ruby 2.6, and leftovers are:
Again update for current ruby 2.6 rebuild status:
From repoquery, now 100 packages are using "libruby.so.2.6()(64bit)", and the leftovers which still uses "libruby.so.2.5()(64bit)" are:
$ dnf repoquery --disablerepo=* --enablerepo=koji-ruby26 --whatrequires "libruby.so.2.5()(64bit)" --qf "%{SOURCERPM}" | sort | uniq | cat -n 1 hivex-1.3.16-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181239 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181237 Some tests seem to be segfaulting.
I don't think we should spent time with this package, because it has luckily active maintainers/upstream.
4 rubygem-json-2.1.0-106.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182608 Succeeds for rawhide (ruby 2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32182604 Test segfaults. I guess Pavel is working on this: https://src.fedoraproject.org/rpms/rubygem-json/pull-request/1
Yes, there is additional patch in Ruby which was not accepted upstream yet. I am not even sure Ruby upstream has commit bit to upstream repository of Json.
5 rubygem-nio4r-2.3.1-2.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182612 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182610 Some test failure.
This is OpenSSL 1.1.1 related and reported already for some while:
https://github.com/socketry/nio4r/issues/194
We should probably disabled the failing test for now.
I'll try to check the rest of the failures, but there is nothing major IMO. Therefore I am going to ask relengs to merge the side tag back into Rawhide and we can polish the rest later.
Vít
I have here a rubygem-webmock build failure - SEGFAULT in rubygem-ffi:
BUILDSTDERR: /usr/share/gems/gems/ffi-1.9.23/lib/ffi/autopointer.rb:175: [BUG] Segmentation fault at 0x0000000000000070
https://copr.fedorainfracloud.org/coprs/build/849342/
P.
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375
- ruby extconf.rb --vendor --with-safe-level=1
--with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
This is interesting issue. It fails at this line:
https://github.com/devrimgunduz/postgresql-plruby/blame/master/extconf.rb#L1...
Similar reproducer IMO could be:
~~~
$ ruby -e '$SAFE=1; Dir.foreach(".") {|d| File.directory?(d)}'
~~~
This fails on Ruby 2.5 as well as Ruby 2.6, what is somehow expected given that the `d` is tainted. However, how comes that it passes in the extconf.rb for Ruby 2.5?
IOW the workarond/fix could be as simple as `dir.untaint` but it does not explain why it worked and does not work anymore :/ Thoughts?
Vít
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Tuesday, January 22, 2019 4:26:13 PM Subject: Re: Ruby 2.6 - Mass rebuild - postgresql-plruby
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375
- ruby extconf.rb --vendor --with-safe-level=1
--with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
This is interesting issue. It fails at this line:
https://github.com/devrimgunduz/postgresql-plruby/blame/master/extconf.rb#L1...
Similar reproducer IMO could be:
$ ruby -e '$SAFE=1; Dir.foreach(".") {|d| File.directory?(d)}'
This fails on Ruby 2.5 as well as Ruby 2.6, what is somehow expected given that the `d` is tainted. However, how comes that it passes in the extconf.rb for Ruby 2.5?
IOW the workarond/fix could be as simple as ` dir.untaint` but it does not explain why it worked and does not work anymore :/ Thoughts?
Vít
Maybe I'm being silly, but doesn't it correspond to:
- $SAFE is a process global state and we can set 0 again. [Feature #14250] [1]
or to some of the related revisions, like $SAFE in ERB being deprecated? (Note: procs, lambdas, threads, all share the same $SAFE level; and SAFE 1 and 0 are both considered 'unsafe'.)
I've seen 'Insecure operation' warnings in rubygem-gettext build too[2], but I do not yet know how to fix them.
[1] https://bugs.ruby-lang.org/issues/14250 [2] https://copr-be.cloud.fedoraproject.org/results/pvalena/ruby26-gems/fedora-r...
Regards, Pavel
Pavel Valena wrote on 2019/01/23 4:32:
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Tuesday, January 22, 2019 4:26:13 PM Subject: Re: Ruby 2.6 - Mass rebuild - postgresql-plruby
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375
- ruby extconf.rb --vendor --with-safe-level=1
--with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
This is interesting issue. It fails at this line:
https://github.com/devrimgunduz/postgresql-plruby/blame/master/extconf.rb#L1...
Similar reproducer IMO could be:
$ ruby -e '$SAFE=1; Dir.foreach(".") {|d| File.directory?(d)}'
This fails on Ruby 2.5 as well as Ruby 2.6, what is somehow expected given that the `d` is tainted. However, how comes that it passes in the extconf.rb for Ruby 2.5?
IOW the workarond/fix could be as simple as ` dir.untaint` but it does not explain why it worked and does not work anymore :/ Thoughts?
Vít
Maybe I'm being silly, but doesn't it correspond to:
- $SAFE is a process global state and we can set 0 again. [Feature #14250] [1]
or to some of the related revisions, like $SAFE in ERB being deprecated? (Note: procs, lambdas, threads, all share the same $SAFE level; and SAFE 1 and 0 are both considered 'unsafe'.)
I've seen 'Insecure operation' warnings in rubygem-gettext build too[2], but I do not yet know how to fix them.
[1] https://bugs.ruby-lang.org/issues/14250 [2] https://copr-be.cloud.fedoraproject.org/results/pvalena/ruby26-gems/fedora-r...
Regards, Pavel
Well, I didn't know now rubygem-gettext fails to build with ruby 2.6 - but perhaps the upstream commit below will fix the issue: https://github.com/ruby-gettext/gettext/commit/49b9f4ca66583395ddfa91503afd7...
So as Pavel says, ruby 2.6 change says $SAFE is now global, so with the following line: https://github.com/devrimgunduz/postgresql-plruby/blob/master/extconf.rb#L21
I guess in ruby 2.5, $SAFE was 1 on this thread, but with ruby 2.6 $SAFE becomes 1 on global (I guess)
Regards, Mamoru
Dne 22. 01. 19 v 21:54 Mamoru TASAKA napsal(a):
Pavel Valena wrote on 2019/01/23 4:32:
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Tuesday, January 22, 2019 4:26:13 PM Subject: Re: Ruby 2.6 - Mass rebuild - postgresql-plruby
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375
- ruby extconf.rb --vendor --with-safe-level=1
--with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
This is interesting issue. It fails at this line:
https://github.com/devrimgunduz/postgresql-plruby/blame/master/extconf.rb#L1...
Similar reproducer IMO could be:
$ ruby -e '$SAFE=1; Dir.foreach(".") {|d| File.directory?(d)}'
This fails on Ruby 2.5 as well as Ruby 2.6, what is somehow expected given that the `d` is tainted. However, how comes that it passes in the extconf.rb for Ruby 2.5?
IOW the workarond/fix could be as simple as ` dir.untaint` but it does not explain why it worked and does not work anymore :/ Thoughts?
Vít
Maybe I'm being silly, but doesn't it correspond to:
- $SAFE is a process global state and we can set 0 again. [Feature #14250] [1]
or to some of the related revisions, like $SAFE in ERB being deprecated? (Note: procs, lambdas, threads, all share the same $SAFE level; and SAFE 1 and 0 are both considered 'unsafe'.)
I've seen 'Insecure operation' warnings in rubygem-gettext build too[2], but I do not yet know how to fix them.
[1] https://bugs.ruby-lang.org/issues/14250 [2] https://copr-be.cloud.fedoraproject.org/results/pvalena/ruby26-gems/fedora-r...
Regards, Pavel
Well, I didn't know now rubygem-gettext fails to build with ruby 2.6 - but perhaps the upstream commit below will fix the issue: https://github.com/ruby-gettext/gettext/commit/49b9f4ca66583395ddfa91503afd7...
So as Pavel says, ruby 2.6 change says $SAFE is now global, so with the following line: https://github.com/devrimgunduz/postgresql-plruby/blob/master/extconf.rb#L21
I guess in ruby 2.5, $SAFE was 1 on this thread, but with ruby 2.6 $SAFE becomes 1 on global (I guess)
Ah, now it starting to make sense.
So the correct fix should be adding "ensure $SAFE=0" or probably the previous safe level should be cashed? Actually reading [1], it seems that the whole thread stuff should be dropped. The thread was used just to avoid influence of the $SAFE == 1 on the rest of the script, which does not work anymore because of the $SAFE global scope, but now we can simply change the value to different safe level, which was previously not possible.
Vít
[1] https://bugs.ruby-lang.org/issues/14353
Regards, Mamoru _______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.o...
Dne 23. 01. 19 v 10:29 Vít Ondruch napsal(a):
Dne 22. 01. 19 v 21:54 Mamoru TASAKA napsal(a):
Pavel Valena wrote on 2019/01/23 4:32:
----- Original Message -----
From: "Vít Ondruch" vondruch@redhat.com To: ruby-sig@lists.fedoraproject.org Sent: Tuesday, January 22, 2019 4:26:13 PM Subject: Re: Ruby 2.6 - Mass rebuild - postgresql-plruby
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375
- ruby extconf.rb --vendor --with-safe-level=1
--with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
This is interesting issue. It fails at this line:
https://github.com/devrimgunduz/postgresql-plruby/blame/master/extconf.rb#L1...
Similar reproducer IMO could be:
$ ruby -e '$SAFE=1; Dir.foreach(".") {|d| File.directory?(d)}'
This fails on Ruby 2.5 as well as Ruby 2.6, what is somehow expected given that the `d` is tainted. However, how comes that it passes in the extconf.rb for Ruby 2.5?
IOW the workarond/fix could be as simple as ` dir.untaint` but it does not explain why it worked and does not work anymore :/ Thoughts?
Vít
Maybe I'm being silly, but doesn't it correspond to:
- $SAFE is a process global state and we can set 0 again. [Feature #14250] [1]
or to some of the related revisions, like $SAFE in ERB being deprecated? (Note: procs, lambdas, threads, all share the same $SAFE level; and SAFE 1 and 0 are both considered 'unsafe'.)
I've seen 'Insecure operation' warnings in rubygem-gettext build too[2], but I do not yet know how to fix them.
[1] https://bugs.ruby-lang.org/issues/14250 [2] https://copr-be.cloud.fedoraproject.org/results/pvalena/ruby26-gems/fedora-r...
Regards, Pavel
Well, I didn't know now rubygem-gettext fails to build with ruby 2.6 - but perhaps the upstream commit below will fix the issue: https://github.com/ruby-gettext/gettext/commit/49b9f4ca66583395ddfa91503afd7...
So as Pavel says, ruby 2.6 change says $SAFE is now global, so with the following line: https://github.com/devrimgunduz/postgresql-plruby/blob/master/extconf.rb#L21
I guess in ruby 2.5, $SAFE was 1 on this thread, but with ruby 2.6 $SAFE becomes 1 on global (I guess)
Ah, now it starting to make sense.
So the correct fix should be adding "ensure $SAFE=0" or probably the previous safe level should be cashed? Actually reading [1], it seems that the whole thread stuff should be dropped. The thread was used just to avoid influence of the $SAFE == 1 on the rest of the script, which does not work anymore because of the $SAFE global scope, but now we can simply change the value to different safe level, which was previously not possible.
https://src.fedoraproject.org/rpms/postgresql-plruby/c/a5cb8b7d06ba8debadf72...
Not sure if there is more elegant way, but I doubt we can somehow query $SAFE capabilities.
Anyway, this one should be resolved for now.
Vít
Hi,
I'm just adding my 'cent' to ruby 2.6 mass rebuild - Vim started to fail after ruby-2.6 was introduced to rawhide, but it fails only on i686 and armv7hl:
i686: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309685 log: https://kojipkgs.fedoraproject.org//work/tasks/9685/32309685/build.log
armv7hl: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309687 log: https://kojipkgs.fedoraproject.org//work/tasks/9687/32309687/build.log
The error looks like mistake in C programming, but I already tried to build current Vim with old ruby in copr and the build passes, but it fails with new ruby. Did anyone encounter such errors with new ruby?
Zdenek Dohnal wrote on 2019/01/29 18:07:
Hi,
I'm just adding my 'cent' to ruby 2.6 mass rebuild - Vim started to fail after ruby-2.6 was introduced to rawhide, but it fails only on i686 and armv7hl:
i686: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309685 log: https://kojipkgs.fedoraproject.org//work/tasks/9685/32309685/build.log
armv7hl: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309687 log: https://kojipkgs.fedoraproject.org//work/tasks/9687/32309687/build.log
The error looks like mistake in C programming, but I already tried to build current Vim with old ruby in copr and the build passes, but it fails with new ruby. Did anyone encounter such errors with new ruby?
Actually this is due to API change on rb_int2big in ruby 2.6:
https://github.com/ruby/ruby/commit/d77e8a7da596fc23acd76c785548f6314114f97a https://bugs.ruby-lang.org/issues/14036
So I guess this affects mainly 32 bit platforms.
Regards, Mamoru
Dne 29. 01. 19 v 12:29 Mamoru TASAKA napsal(a):
Zdenek Dohnal wrote on 2019/01/29 18:07:
Hi,
I'm just adding my 'cent' to ruby 2.6 mass rebuild - Vim started to fail after ruby-2.6 was introduced to rawhide, but it fails only on i686 and armv7hl:
i686: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309685 log: https://kojipkgs.fedoraproject.org//work/tasks/9685/32309685/build.log
armv7hl: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309687 log: https://kojipkgs.fedoraproject.org//work/tasks/9687/32309687/build.log
The error looks like mistake in C programming, but I already tried to build current Vim with old ruby in copr and the build passes, but it fails with new ruby. Did anyone encounter such errors with new ruby?
Actually this is due to API change on rb_int2big in ruby 2.6:
https://github.com/ruby/ruby/commit/d77e8a7da596fc23acd76c785548f6314114f97a
Right. Please see the attached patch for naive fix of this issue (it builds on i686 with the patch, that is all I tested). However, there should be probably some Ruby version checks, because I suspect the patch won't work on Ruby 2.5 and older.
I'll probably open Ruby upstream ticket pointing out the issue. But not sure what anwer to expect ¯_(ツ)_/¯
Vít
So I guess this affects mainly 32 bit platforms.
Regards, Mamoru _______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.o...
Vít Ondruch wrote on 2019/01/29 20:58:
Dne 29. 01. 19 v 12:29 Mamoru TASAKA napsal(a):
Zdenek Dohnal wrote on 2019/01/29 18:07:
Hi,
I'm just adding my 'cent' to ruby 2.6 mass rebuild - Vim started to fail after ruby-2.6 was introduced to rawhide, but it fails only on i686 and armv7hl:
i686: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309685 log: https://kojipkgs.fedoraproject.org//work/tasks/9685/32309685/build.log
armv7hl: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309687 log: https://kojipkgs.fedoraproject.org//work/tasks/9687/32309687/build.log
The error looks like mistake in C programming, but I already tried to build current Vim with old ruby in copr and the build passes, but it fails with new ruby. Did anyone encounter such errors with new ruby?
Actually this is due to API change on rb_int2big in ruby 2.6:
https://github.com/ruby/ruby/commit/d77e8a7da596fc23acd76c785548f6314114f97a
Right. Please see the attached patch for naive fix of this issue (it builds on i686 with the patch, that is all I tested). However, there should be probably some Ruby version checks, because I suspect the patch won't work on Ruby 2.5 and older.
I'll probably open Ruby upstream ticket pointing out the issue. But not sure what anwer to expect ¯_(ツ)_/¯
Vít
Or the attached patch may be preferable (ruby version check added).
Regards, Mamoru
Dne 29. 01. 19 v 13:06 Mamoru TASAKA napsal(a):
Vít Ondruch wrote on 2019/01/29 20:58:
Dne 29. 01. 19 v 12:29 Mamoru TASAKA napsal(a):
Zdenek Dohnal wrote on 2019/01/29 18:07:
Hi,
I'm just adding my 'cent' to ruby 2.6 mass rebuild - Vim started to fail after ruby-2.6 was introduced to rawhide, but it fails only on i686 and armv7hl:
i686: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309685 log: https://kojipkgs.fedoraproject.org//work/tasks/9685/32309685/build.log
armv7hl: task: https://koji.fedoraproject.org/koji/taskinfo?taskID=32309687 log: https://kojipkgs.fedoraproject.org//work/tasks/9687/32309687/build.log
The error looks like mistake in C programming, but I already tried to build current Vim with old ruby in copr and the build passes, but it fails with new ruby. Did anyone encounter such errors with new ruby?
Actually this is due to API change on rb_int2big in ruby 2.6:
https://github.com/ruby/ruby/commit/d77e8a7da596fc23acd76c785548f6314114f97a
Right. Please see the attached patch for naive fix of this issue (it builds on i686 with the patch, that is all I tested). However, there should be probably some Ruby version checks, because I suspect the patch won't work on Ruby 2.5 and older.
I'll probably open Ruby upstream ticket pointing out the issue. But not sure what anwer to expect ¯_(ツ)_/¯
https://bugs.ruby-lang.org/issues/15570
Vít
Or the attached patch may be preferable (ruby version check added).
Looks better. Thx.
Vít
Regards, Mamoru
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.o...
Thank you for the patches, Víťa and Mamoru - I'll check the ruby upstream ticket for their opinion on the issue. If the issue will need the fix in Vim, I'll coordinate it with Vim upstream.
Have a nice day, Zdenek
Just FTR, these packages, which requires ruby-devel still fail to build:
cairo-dock-plug-ins facter mapserver mingw-qpid-cpp pcs qpid-cpp rubygem-RubyInline rubygem-json rubygem-rmail rubygem-rspec-longrun rubygem-rsvg2 rubygem-rufus-scheduler rubygems shogun swig xapian-bindings xmms2
From these, the Swig is concerning:
https://koji.fedoraproject.org/koji/taskinfo?taskID=32367443
V.
Dne 22. 01. 19 v 9:59 Mamoru TASAKA napsal(a):
Hello, ruby-sig folks:
Mamoru TASAKA wrote on 2019/01/22 0:34:
Vít Ondruch wrote on 2019/01/17 20:49:
Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
Thank you for your nice work for ruby 2.6.
Update for current build status against ruby 2.6: So far (according to repoquery) 96 packages successfully rebuilt for ruby 2.6, and leftovers are:
Again update for current ruby 2.6 rebuild status:
From repoquery, now 100 packages are using "libruby.so.2.6()(64bit)", and the leftovers which still uses "libruby.so.2.5()(64bit)" are:
$ dnf repoquery --disablerepo=* --enablerepo=koji-ruby26 --whatrequires "libruby.so.2.5()(64bit)" --qf "%{SOURCERPM}" | sort | uniq | cat -n 1 hivex-1.3.16-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181239 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181237 Some tests seem to be segfaulting.
2 libsbml-5.17.0-11.fc30.src.rpm Build fails, only on armv7hl: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181245 Even for rawhide (and only on armv7hl): https://koji.fedoraproject.org/koji/taskinfo?taskID=32181243 Some tests seem to be segfaulting.
3 postgresql-plruby-0.5.7-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181377 Succeeds for rawhide (ruby2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32181375
- ruby extconf.rb --vendor --with-safe-level=1
--with-pg-config=/usr/bin/pg_server_config ... ... BUILDSTDERR: extconf.rb:175:in `directory?': Insecure operation - directory? (SecurityError) Perhaps related to ruby changes with regard to security model.
4 rubygem-json-2.1.0-106.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182608 Succeeds for rawhide (ruby 2.5) https://koji.fedoraproject.org/koji/taskinfo?taskID=32182604 Test segfaults. I guess Pavel is working on this: https://src.fedoraproject.org/rpms/rubygem-json/pull-request/1
5 rubygem-nio4r-2.3.1-2.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182612 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182610 Some test failure.
6 rubygem-puma-3.12.0-1.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182636 Even for rawhide, but for this only for armv7hl: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182620 Build failure for ruby 2.5 on armv7hl, with additional test failures with ruby 2.6.
7 shogun-6.0.0-15.fc30.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181287 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32181394 Now build fails with regard to openmp code, perhaps related to gcc9 change.
8 xmms2-0.8-56.fc29.src.rpm Build fails: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182654 Even for rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=32182638 "BuildRequies: Pyrex" cannot be resolved, due to python2 obsolete change.
So currently all leftovers fails to build somehow.
Regards, Mamoru _______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.o...
The side tag was merged back into Rawhide few minutes ago. You can use regular workflow for Rawhide now.
Thx everybody involved, especially Mamoru and Pavel.
Vít
Dne 17. 01. 19 v 12:49 Vít Ondruch napsal(a):
Hi all,
It is about the time to start with mass rebuild of packages for Ruby 2.6, since the change proposal was already accepted in advance. Finally, after more then week of waiting, I was also able to obtain side-tag [2], so we won't disrupt Rawhide a lot. The Ruby 2.6 is already build there as well as a few other packages. Now it is time for your help.
This is the list of packages, which very likely needs rebuild:
$ dnf repoquery --disablerepo=* --enablerepo=rawhide --enablerepo=rawhide-source --arch=src --whatrequires 'ruby-devel' | sort | uniq
You can take the package and just fire rebuild, but please ensure that you are using f30-ruby build target [2], i.e. the build command should look like:
$ fedpkg build --target f30-ruby
Please be careful, because if you, by a chance, omit the f30-ruby target, you'll be building against Ruby 2.5 which is not what you want.
If you won't do it by yourself, I'll be rebuilding all packages after I am finished with my packages. I'll be using fermig [3] to help mi with that. If you don't want me to touch your packages for whatever reason, please let me know.
Also, Pavel Valena built some packages against Ruby 2.6 in his Copr repository [4], so please check if other packages needs some adjustments.
You can follow the progress at:
https://koji.fedoraproject.org/koji/builds?inherited=0&tagID=5700&or...
or using:
$ koji list-tagged f30-ruby
As always, any help/testing/feedback is welcome.
Vít
[1] https://fedoraproject.org/wiki/Changes/Ruby_2.6
[2] https://pagure.io/releng/issue/8034
[3] https://github.com/fedora-ruby/fermig
[4] https://copr.fedorainfracloud.org/coprs/pvalena/ruby26-gems/
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.o...
ruby-sig@lists.fedoraproject.org