#!/usr/bin/env ruby
require 'webrick'
require 'logger'
options = {
  :Port => 2880,
  :DocumentRoot => "/usr/share/gitweb",
  :Logger => Logger.new('/home/brad/configs/.git/gitweb/error.log'),
  :AccessLog => [
    [ Logger.new('/home/brad/configs/.git/gitweb/access.log'),
      WEBrick::AccessLog::COMBINED_LOG_FORMAT ]
  ],
  :DirectoryIndex => ["gitweb.cgi"],
  :CGIInterpreter => "/home/brad/configs/.git/gitweb/webrick/wrapper.sh",
  :StartCallback => lambda do
    File.open("/home/brad/configs/.git/pid", "w") { |f| f.puts Process.pid }
  end,
  :ServerType => WEBrick::Daemon,
}
options[:BindAddress] = '127.0.0.1' if "" == "true"
server = WEBrick::HTTPServer.new(options)
['INT', 'TERM'].each do |signal|
  trap(signal) {server.shutdown}
end
server.start
