[Bug 247817] lang/ruby26 and lang/ruby27: fails to build with poudriere when 127.0.0.1 unavailable

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 29 Dec 2021 07:09:32 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247817

Sean Champ <lab+bsd@thinkum.space> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lab+bsd@thinkum.space

--- Comment #4 from Sean Champ <lab+bsd@thinkum.space> ---
If it might serve towards any workaround, perhaps the loopback address in
ext/socket/extconf.rb could be patched during the build, to set it to some
unique token e.g "@@LOOPBACK@@". After the diff for that patch would be applied
in the port build, the patched file could then be processed with sed -perhaps
it could be done during post-patch - such as to use some address provided with
a variable in the port build.

That variable's definition could be provided to the port build via make.conf,
for site-local configuration. The port could provide a default value e.g
`RUBY_LOOPBACK_IPV4?=127.0.0.1` in the port Makefile. An IPv6 option could be
provided, too. if the variable was substituted during patch and post-patch, it
may not need any changes for the configuration of the build environment?

If the build contains a dependency on a specific networking configuration - as
it seems to, in how that's been approached in that file - at least it might
serve to make the loopback address (IPv4 or IPv6) a configurable feature for
the port build?

They've used that address a lot, and then there's the IPv6 version - looking at
a recent changeset under Ruby 3. 

For purposes of supporting this under 'make test', perhaps more files would
need to be patched/sed-subst'ed, not only this extconf.rb. 

While it may not serve to address any questions about the design of these
tests, the patch/subst approach might at least serve to provide a portable
workaround for the port build?

-- 
You are receiving this mail because:
You are the assignee for the bug.