[Bug 249083] devel/ruby-gems fails to install if /usr/local is a symlink
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 09 Dec 2022 10:59:11 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249083
titus m <titus@edc.ro> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |titus@edc.ro
--- Comment #3 from titus m <titus@edc.ro> ---
if setup.rb is run without --prefix then bindir is taken from ruby config
and then it prepends the destdir
problem is that bindir from config is canonic (with symlinks resolved)
so you end up with a stage dir containing ..../usr/local/stuff
and ..../usr/reallocal/stuff
--- /tmp/Makefile 2022-12-09 12:01:45.050912000 +0200
+++ Makefile 2022-12-09 12:24:40.557735000 +0200
@@ -6,6 +6,8 @@
DISTNAME= rubygems-${PORTVERSION}
DIST_SUBDIR= ruby
+
+
MAINTAINER= ruby@FreeBSD.org
COMMENT= Package management framework for the Ruby language
WWW= https://rubygems.org/
@@ -72,3 +74,7 @@
cd ${STAGEDIR}${PREFIX}/ && ${FIND} -ds ${DOC_DIR}/ ! -type d >>
${TMPPLIST}
.include <bsd.port.mk>
+REAL_PREFIX!= realpath ${PREFIX}
+.if ${REAL_PREFIX} != ${PREFIX}
+ GEMS_ENV+= GEM_XXX_BIN=${PREFIX}/bin
+.endif
=========================================================
and add this diff file in files/patch-fix-linked-local
Code:
--- lib/rubygems/commands/setup_command.rb.orig 2022-12-09
12:22:16.123948000 +0200
+++ lib/rubygems/commands/setup_command.rb 2022-12-09 12:22:34.331107000
+0200
@@ -448,10 +448,14 @@
def generate_default_dirs
prefix = options[:prefix]
site_or_vendor = options[:site_or_vendor]
+ xxx_bin = ENV["GEM_XXX_BIN"]
if prefix.empty?
lib_dir = RbConfig::CONFIG[site_or_vendor]
bin_dir = RbConfig::CONFIG["bindir"]
+ if xxx_bin && !xxx_bin.empty?
+ bin_dir = xxx_bin
+ end
else
lib_dir = File.join prefix, "lib"
bin_dir = File.join prefix, "bin"
--
You are receiving this mail because:
You are the assignee for the bug.