From 6217cf0e2999f37b22295adc0a47838d2240ee91 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sun, 17 May 2015 00:17:15 -0400 Subject: bin/sisu , install name check (stable & git versions) --- bin/sisu | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'bin/sisu') diff --git a/bin/sisu b/bin/sisu index 6b18e592..011c1f4f 100755 --- a/bin/sisu +++ b/bin/sisu @@ -20,7 +20,7 @@ class Orient :full_path_to_sisu_bin_in_sisu_dir_tree elsif processing.sisu_runtime_path =~/\/gems\// \ and processing.sisu_runtime_path \ - =~ /\/sisu-(?:\d+|[a-z])\.(?:\d+|[a-z])\.(?:\d+|[a-z])\// + =~ processing.gem_regex :gem_install else :system_install @@ -43,7 +43,7 @@ class Orient %r{\bsisu$} end def gem_regex - %r{\/sisu-(?:\d+|[a-z])\.(?:\d+|[a-z])\.(?:\d+|[a-z])\/} + %r{\/sisu-[0-9]+\.[0-9]+\.[0-9]+(?:\.r[0-9]+\.g[0-9a-f]{7})?\/} end self end @@ -114,13 +114,7 @@ class Orient end end def sisu_this_lib - if processing.sisu_runtime_path =~/\/gems\// \ - and processing.sisu_runtime_path \ - =~ /\/sisu-(?:\d+|[a-z])\.(?:\d+|[a-z])\.(?:\d+|[a-z])\// - # gem sought - processing.sisu_runtime_path. - gsub(/\/bin\/sisu[a-z0-7_-]*$/,'/lib/sisu') - elsif (processing.called_as \ + if (processing.called_as \ !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/) # called off file system, project directory tree File.expand_path(processing.called_as). @@ -128,12 +122,12 @@ class Orient else # distro installation sisulib={ - vendorlib: RbConfig::CONFIG['vendordir'] + '/sisu', + vendorlib: RbConfig::CONFIG['vendorlibdir'] + '/sisu', sitelib: RbConfig::CONFIG['sitelibdir'] + '/sisu', } - if FileTest.directory?(sisulib[:sitelib]) # Arch Linux; Debian local + if FileTest.directory?(sisulib[:sitelib]) # local install sisulib[:sitelib] - elsif FileTest.directory?(sisulib[:vendorlib]) # Debian GNU Linux system + elsif FileTest.directory?(sisulib[:vendorlib]) # system install sisulib[:vendorlib] else 'sisu' # assume lib paths work end -- cgit v1.2.3 From d020a0bd7f94aae9546fd503789c66b4499c4792 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sun, 17 May 2015 20:22:55 -0400 Subject: bin/sisu juggle multiple install & run options --- bin/sisu | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'bin/sisu') diff --git a/bin/sisu b/bin/sisu index 011c1f4f..7a69dc5d 100755 --- a/bin/sisu +++ b/bin/sisu @@ -20,7 +20,7 @@ class Orient :full_path_to_sisu_bin_in_sisu_dir_tree elsif processing.sisu_runtime_path =~/\/gems\// \ and processing.sisu_runtime_path \ - =~ processing.gem_regex + =~ /\/#{processing.gem_regex}\// :gem_install else :system_install @@ -43,7 +43,7 @@ class Orient %r{\bsisu$} end def gem_regex - %r{\/sisu-[0-9]+\.[0-9]+\.[0-9]+(?:\.r[0-9]+\.g[0-9a-f]{7})?\/} + %r{sisu-[0-9]+\.[0-9]+\.[0-9]+(?:\.r[0-9]+\.g[0-9a-f]{7})?} end self end @@ -109,12 +109,21 @@ class Orient File.expand_path(processing.called_as). sub(/\/bin\/sisu$/,'/data/sisu') when :set_path_gem - Gem::Specification.find_by_name("sisu").gem_dir + '/data/sisu' + Gem::Specification.find_by_name("sisu").gem_dir \ + + '/data/sisu' else nil end end def sisu_this_lib - if (processing.called_as \ + if not Gem::Specification.find_by_name("sisu").nil? \ + and processing.sisu_runtime_path =~/\/gems\// \ + and processing.sisu_runtime_path \ + =~ /\/#{processing.gem_regex}\// + # gem sought + processing.sisu_runtime_path. + gsub(/\/bin\/sisu[a-z0-9._-]*$/, + '/lib/sisu') + elsif (processing.called_as \ !~ /^#{RbConfig::CONFIG['bindir']}\/sisu$/) # called off file system, project directory tree File.expand_path(processing.called_as). -- cgit v1.2.3