Commit 432bcc4bcd455d00ae50d7442aadb2b0b5e94ea8

Authored by Jacob Vosmaer
2 parents 6dec05ff 20446118

Merge branch 'gitlab_shell_template' into 'master'

Gitlab Shell Template
config/software/gitlab-shell.rb
... ... @@ -28,18 +28,12 @@ build do
28 28 block do
29 29 env_shebang = "#!/usr/bin/env ruby"
30 30 `grep -r -l '^#{env_shebang}' #{project_dir}`.split("\n").each do |ruby_script|
31   - File.open(ruby_script, "r+") do |file|
32   - script = file.read
33   - file.rewind
34   - file.truncate(0)
35   - file.print <<-EOH
36   -#!/opt/gitlab/embedded/bin/ruby
37   -# Fix the PATH so that gitlab-shell can find git-upload-pack and friends.
38   -ENV['PATH'] = '/opt/gitlab/bin:/opt/gitlab/embedded/bin:' + ENV['PATH']
39   -
40   - EOH
41   - file.print script.gsub(/^#{env_shebang}\s*/, "")
42   - end
  31 + script = File.read(ruby_script)
  32 + next if script.start_with?("#!#{install_dir}") # Shebang looks good, skip this script
  33 + erb :dest => ruby_script,
  34 + :source => "ruby_script_wrapper.erb",
  35 + :mode => 0755,
  36 + :vars => {:script => script, :install_dir => install_dir}
43 37 end
44 38 end
45 39 command "mkdir -p #{install_dir}/embedded/service/gitlab-shell"
... ...
config/templates/gitlab-shell/ruby_script_wrapper.erb 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +#!<%= install_dir %>/embedded/bin/ruby
  2 +# Fix the PATH so that gitlab-shell can find git-upload-pack and friends.
  3 +ENV['PATH'] = '<%= install_dir %>/bin:<%= install_dir %>/embedded/bin:' + ENV['PATH']
  4 +
  5 +<%= script %>
... ...