lib/pbmenv.rb in pbmenv-0.1.3 vs lib/pbmenv.rb in pbmenv-0.1.4
- old
+ new
@@ -24,42 +24,53 @@
if File.exists?("/usr/share/pbm/v#{version}")
return false
end
download_src(version)
- system_with_puts <<~SHELL
+ system_and_puts <<~SHELL
mkdir -p #{PBM_DIR}/v#{version} && cp -r procon_bypass_man-#{version}/project_template/* #{PBM_DIR}/v#{version}/
SHELL
+
+ # sharedディレクトリを作成して、device_idへのシムリンクを作成する. device_idの中身はpbmで行う
+ unless File.exists?("#{PBM_DIR}/shared")
+ system_and_puts <<~SHELL
+ mkdir -p #{PBM_DIR}/shared
+ SHELL
+ end
+
+ system_and_puts <<~SHELL
+ ln -s #{PBM_DIR}/shared/device_id #{PBM_DIR}/v#{version}/device_id
+ SHELL
use version
rescue => e
- system_with_puts "rm -rf #{PBM_DIR}/v#{version}"
+ system_and_puts "rm -rf #{PBM_DIR}/v#{version}"
raise
ensure
- system_with_puts "rm -rf ./procon_bypass_man-#{version}"
+ system_and_puts "rm -rf ./procon_bypass_man-#{version}"
end
# TODO currentが挿しているバージョンはどうする?
def self.uninstall(version)
raise "Need a version" if version.nil?
unless File.exists?("/usr/share/pbm/v#{version}")
return false
end
- system_with_puts "rm -rf #{PBM_DIR}/v#{version}"
+ system_and_puts "rm -rf #{PBM_DIR}/v#{version}"
end
def self.use(version)
raise "Need a version" if version.nil?
unless File.exists?("/usr/share/pbm/v#{version}")
return false
end
if File.exists?("#{PBM_DIR}/current")
- system_with_puts "unlink #{PBM_DIR}/current"
+ system_and_puts "unlink #{PBM_DIR}/current"
end
- system_with_puts "ln -s #{PBM_DIR}/v#{version} #{PBM_DIR}/current"
+ system_and_puts "ln -s #{PBM_DIR}/v#{version} #{PBM_DIR}/current"
end
def self.download_src(version)
if ENV["DEBUG_INSTALL"]
shell = <<~SHELL
@@ -68,16 +79,16 @@
else
shell = <<~SHELL
curl -L https://github.com/splaplapla/procon_bypass_man/archive/refs/tags/v#{version}.tar.gz | tar xvz
SHELL
end
- system_with_puts(shell)
+ system_and_puts(shell)
unless File.exists?("procon_bypass_man-#{version}/project_template")
raise "This version is not support by pbmenv"
end
end
- def self.system_with_puts(shell)
+ def self.system_and_puts(shell)
puts "[SHELL] #{shell}"
system(shell)
end
end