Backport #9085

contents of io-console.gemspec not reproducible

Added by Antonio Terceiro over 1 year ago. Updated over 1 year ago.

[ruby-core:58193]
Status:Closed
Priority:Normal
Assignee:Tomoyuki Chikanaga

Description

The contents of io-console.gemspec varies dependending on the date it was built. To be able to support
multiarch on Debian, all architecture-independent files must have the same contents on all architectures,
which mostly requires them to have a predictable contents regardless of when they were built.

The attached patch fixes the issue.

0001-Make-date-for-io-console-gemspec-predictable.patch Magnifier (891 Bytes) Antonio Terceiro, 11/08/2013 04:57 AM


Related issues

Duplicates Backport200 - Backport #8878: contents of test-unit.gemspec not reproducible Closed 09/08/2013

Associated revisions

Revision 43617
Added by Nobuyoshi Nakada over 1 year ago

rbinstall.rb: spec date from VCS

  • tool/rbinstall.rb (Gem::Specification.load): obtain spec date from VCS for the case using git, RUBY_RELEASE_DATE is the last resort. probably fixes [Bug #9085].

Revision 43654
Added by Tomoyuki Chikanaga over 1 year ago

merge revision(s) 42862(partially),42910,43093: [Backport #8878] [Backport #9085]

* common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can't
  require extension libraries. The patch is from nobu
  (Nobuyoshi Nakada).

* configure.in (RUNRUBY): append -- only after runruby.rb, not
  cross-compiling baseruby, so that $(RUN_OPT) can be command line
  options.   [Bug #8893]

Revision 43655
Added by Tomoyuki Chikanaga over 1 year ago

merge revision(s) 43609,43617: [Backport #8878] [Backport #9085]

vcs.rb: split

* tool/vcs.rb: split from file2lastrev.rb.
* tool/rbinstall.rb (Gem::Specification.load): obtain spec date from
  VCS for the case using git, RUBY_RELEASE_DATE is the last resort.
  probably fixes [Bug #9085].

History

#1 Updated by Vit Ondruch over 1 year ago

Seems that you forgot to attach the patch ...

#2 Updated by Vit Ondruch over 1 year ago

BTW you might be interested in #8623

#4 Updated by Nobuyoshi Nakada over 1 year ago

  • Status changed from Open to Feedback

It should default to RUBY_RELEASE_DATE already, and the dates in snapshots are expanded.
In what case it is not set?

#5 Updated by Nobuyoshi Nakada over 1 year ago

  • % Done changed from 0 to 100
  • Status changed from Feedback to Closed

This issue was solved with changeset r43617.
Antonio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


rbinstall.rb: spec date from VCS

  • tool/rbinstall.rb (Gem::Specification.load): obtain spec date from VCS for the case using git, RUBY_RELEASE_DATE is the last resort. probably fixes [Bug #9085].

#6 Updated by Tomoyuki Chikanaga over 1 year ago

  • Category deleted (build)
  • Tracker changed from Bug to Backport
  • Project changed from Ruby trunk to Backport200
  • Status changed from Closed to Assigned
  • Assignee changed from Nobuyoshi Nakada to Tomoyuki Chikanaga
  • Target version deleted (2.1.0)

#7 Updated by Tomoyuki Chikanaga over 1 year ago

On my environment, make install failed.

./miniruby -I../ruby_2_0_0/lib -I. -I.ext/common ../ruby_2_0_0/tool/rbinstall.rb --make="/Applications/Xcode.app/Contents/Developer/usr/bin/make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
/Users/nagachika/opt/ruby-2.0.0/src/ruby_2_0_0/lib/time.rb:1:in require': cannot load such file -- date (LoadError)
from /Users/nagachika/opt/ruby-2.0.0/src/ruby_2_0_0/lib/time.rb:1:in
'
from /Users/nagachika/opt/ruby-2.0.0/src/ruby_2_0_0/tool/vcs.rb:3:in require'
from /Users/nagachika/opt/ruby-2.0.0/src/ruby_2_0_0/tool/vcs.rb:3:in
'
from ../ruby_2_0_0/tool/rbinstall.rb:25:in require_relative'
from ../ruby_2_0_0/tool/rbinstall.rb:25:in
'
make: *** [do-install-nodoc] Error 1

I've found that $: (LOAD_PATH) is replaced with [srcdir+"/lib", Dir.pwd] even though CROSS_COMPILING == nil.
I doubt that the conditions of following lines are wrong.
nobu, how about it?

13 unless defined?(CROSS_COMPILING) and CROSS_COMPILING
14 $:.replace([srcdir+"/lib", Dir.pwd])
15 end

#8 Updated by Tomoyuki Chikanaga over 1 year ago

I'm sorry, my presumption in the previous comment are (maybe) wrong.

In trunk tool/rbinstall.rb is invoked via tool/runruby.rb and require (platform)-fake.rb but in 2.0.0 tool/rbinstall.rb is invoked directly.
Maybe r42862 and r42910 are related. I'll investigate them...

#9 Updated by Tomoyuki Chikanaga over 1 year ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r43654.
Antonio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 42862(partially),42910,43093: [Backport #8878] [Backport #9085]

* common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can't
  require extension libraries. The patch is from nobu
  (Nobuyoshi Nakada).

* configure.in (RUNRUBY): append -- only after runruby.rb, not
  cross-compiling baseruby, so that $(RUN_OPT) can be command line
  options.   [Bug #8893]

#10 Updated by Tomoyuki Chikanaga over 1 year ago

  • Status changed from Closed to Assigned

#11 Updated by Tomoyuki Chikanaga over 1 year ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r43655.
Antonio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 43609,43617: [Backport #8878] [Backport #9085]

vcs.rb: split

* tool/vcs.rb: split from file2lastrev.rb.
* tool/rbinstall.rb (Gem::Specification.load): obtain spec date from
  VCS for the case using git, RUBY_RELEASE_DATE is the last resort.
  probably fixes [Bug #9085].

Also available in: Atom PDF