On Fri, Mar 02, 2018 at 12:02:37PM +0000, John Leach wrote: > Hi, > > tested with 2.5.0-5 from unstable > > ruby2.5 -r rbconfig -e 'puts RbConfig::CONFIG["sysconfdir"]' > /usr/etc > > but on stable, ruby2.3 returns: > > ruby2.3 -r rbconfig -e 'puts RbConfig::CONFIG["sysconfdir"]' > /etc > > it means things like the gem command looks for /usr/etc/gemrc rather > than /etc/gemrc - which is definitely wrong. > > > A diff of RbConfig::CONFIG between 2.3 and 2.5 reveals other broken > looking paths: > > -runstatedir: /var/run > -localstatedir: /var > +runstatedir: /usr/var/run > +localstatedir: /usr/var > -sysconfdir: /etc > +sysconfdir: /usr/etc > -libexecdir: /usr/lib/ruby2.3 > +libexecdir: /usr/libexec > > I can't see anything that's changed in the Debian package recipes that > looks relevant so I guess this is a change in Ruby. > > This commit back in October 2017 looks related, as it changes the code > to define sysconfgdir and adds prefixes to localstatedir and > sharedstatedir: > > https://github.com/ruby/ruby/commit/8fc8587e05163f0002915d06fbb20386cbc > bb2ef > > Not sure if this should be fixed in Ruby or Debian though. Any ideas? Thanks for raising this. ruby2.3 used dh_auto_configure, while ruby2.5 calls ./configure directly due to some incompatibilities between dh_auto_configure in debhelper compatibility level 10+ and the way multi-arch is handled in Ruby upstream. Those paths are usually passed in to ./configure by dh_auto_configure, but are missing from the direct call to /configure. I have just uploaded ruby2.5 2.5.0-6 fixing this.
Attachment:
signature.asc
Description: PGP signature