From: lewo@... Date: 2018-11-20T11:59:43+00:00 Subject: [ruby-core:89906] [Ruby trunk Bug#15304] Package build with extensions is not reproducible Issue #15304 has been updated by lewo (lewo lewo). I created the PR https://github.com/rubygems/rubygems/pull/2481 to address these issues. ---------------------------------------- Bug #15304: Package build with extensions is not reproducible https://bugs.ruby-lang.org/issues/15304#change-74986 * Author: lewo (lewo lewo) * Status: Third Party's Issue * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- The build of a package with extensions, such as msgpack, is not reproducible due to temporary filenames appearing in the generated Makefile [1]: ``` grep gem lib/ruby/gems/2.5.0/gems/msgpack-1.2.4/ext/msgpack/Makefile sitearchdir = $(DESTDIR)./.gem.20181114-6835-czlel4 sitelibdir = $(DESTDIR)./.gem.20181114-6835-czlel4 ``` This issue comes from the creation of temporary files: the name is different across builds. More precisely, I've identified the following lines - https://github.com/ruby/ruby/blob/trunk/lib/rubygems/ext/ext_conf_builder.rb#L16 - https://github.com/ruby/ruby/blob/trunk/lib/rubygems/ext/ext_conf_builder.rb#L29 There are several choices to fix this: - use deterministic temporary filename: is there a lib to do this? - provide these filenames as arguments and the use actual logic if these filenames are not provided: how to provide such filename? - remove `Makefile` and `gem_make.out` files: I don't know how they are useful - surely some other way to fix this... I'm not a ruby programmer so I don't really know how it is difficult to implement these solutions. What do you think about this? [1] https://tests.reproducible-builds.org/archlinux/community/ruby-msgpack/ruby-msgpack-1.2.4-1-x86_64.pkg.tar.xz.html#ruby-msgpack--.-.----x--_--.pkg.tar---usr-lib-ruby-gems--.-.--gems-msgpack--.-.--ext-msgpack-Makefile -- https://bugs.ruby-lang.org/ Unsubscribe: