[#89806] [Ruby trunk Bug#15306] Generate prelude.c using miniruby — v.ondruch@...
Issue #15306 has been reported by vo.x (Vit Ondruch).
3 messages
2018/11/15
[ruby-core:89837] [Ruby trunk Bug#15304] Package build with extensions is not reproducible
From:
nobu@...
Date:
2018-11-16 14:13:18 UTC
List:
ruby-core #89837
Issue #15304 has been updated by nobu (Nobuyoshi Nakada). Regarding files under `usr/lib/ruby/gems/2.5.0/extensions/x86_64-linux/2.5.0/msgpack-1.2.4/`, I think that rubygems is lazy not to select files properly. And `./usr/lib/ruby/gems/2.5.0/gems/msgpack-1.2.4/ext/msgpack/` is a working directory where is not expected to be packaged, I think. You may want to distclean there before packaging. ---------------------------------------- Bug #15304: Package build with extensions is not reproducible https://bugs.ruby-lang.org/issues/15304#change-74897 * 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>