diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 4505c5ceb84f..949357ab20f4 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -27,6 +27,7 @@ let http_settings: self_signed_cert: false repos_path: "${cfg.stateDir}/repositories" + secret_file: "${cfg.stateDir}/config/gitlab_shell_secret" log_file: "${cfg.stateDir}/log/gitlab-shell.log" redis: bin: ${pkgs.redis}/bin/redis-cli @@ -142,7 +143,7 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ gitlab-runner pkgs.gitlab-shell ]; + environment.systemPackages = [ pkgs.git gitlab-runner pkgs.gitlab-shell ]; assertions = [ { assertion = cfg.databasePassword != ""; @@ -154,7 +155,6 @@ in { services.redis.enable = mkDefault true; # We use postgres as the main data store. services.postgresql.enable = mkDefault true; - services.postgresql.package = mkDefault pkgs.postgresql; # Use postfix to send out mails. services.postfix.enable = mkDefault true; @@ -209,6 +209,23 @@ in { }; }; + systemd.services.gitlab-git-http-server = { + after = [ "network.target" "gitlab.service" ]; + wantedBy = [ "multi-user.target" ]; + environment.HOME = "${cfg.stateDir}/home"; + path = with pkgs; [ + gitAndTools.git + openssh + ]; + serviceConfig = { + Type = "simple"; + User = "gitlab"; + Group = "gitlab"; + TimeoutSec = "300"; + ExecStart = "${pkgs.gitlab-git-http-server}/bin/gitlab-git-http-server -listenUmask 0 -listenNetwork unix -listenAddr ${cfg.stateDir}/tmp/sockets/gitlab-git-http-server.socket -authBackend http://localhost:8080 ${cfg.stateDir}/repositories"; + }; + }; + systemd.services.gitlab = { after = [ "network.target" "postgresql.service" "redis.service" ]; wantedBy = [ "multi-user.target" ]; @@ -219,6 +236,8 @@ in { environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log"; environment.GITLAB_SATELLITES_PATH = "${cfg.stateDir}/satellites"; environment.GITLAB_SHELL_PATH = "${pkgs.gitlab-shell}"; + environment.GITLAB_SHELL_CONFIG_PATH = "${cfg.stateDir}/shell/config.yml"; + environment.GITLAB_SHELL_SECRET_PATH = "${cfg.stateDir}/config/gitlab_shell_secret"; environment.GITLAB_REPOSITORIES_PATH = "${cfg.stateDir}/repositories"; environment.GITLAB_SHELL_HOOKS_PATH = "${cfg.stateDir}/shell/hooks"; environment.BUNDLE_GEMFILE = "${pkgs.gitlab}/share/gitlab/Gemfile"; @@ -247,7 +266,7 @@ in { rm -rf ${cfg.stateDir}/config mkdir -p ${cfg.stateDir}/config # TODO: What exactly is gitlab-shell doing with the secret? - head -c 20 /dev/urandom > ${cfg.stateDir}/config/gitlab_shell_secret + tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c 20 > ${cfg.stateDir}/config/gitlab_shell_secret mkdir -p ${cfg.stateDir}/home/.ssh touch ${cfg.stateDir}/home/.ssh/authorized_keys @@ -272,6 +291,7 @@ in { fi fi + ${bundler}/bin/bundle exec rake -f ${pkgs.gitlab}/share/gitlab/Rakefile db:migrate RAILS_ENV=production # Install the shell required to push repositories ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} ${cfg.stateDir}/shell/config.yml export GITLAB_SHELL_CONFIG_PATH=""${cfg.stateDir}/shell/config.yml @@ -296,5 +316,4 @@ in { }; }; - } diff --git a/pkgs/applications/version-management/gitlab-git-http-server/default.nix b/pkgs/applications/version-management/gitlab-git-http-server/default.nix new file mode 100644 index 000000000000..98b14d2ce86a --- /dev/null +++ b/pkgs/applications/version-management/gitlab-git-http-server/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchgit, git, go }: + +stdenv.mkDerivation rec { + version = "0.2.14"; + name = "gitlab-git-http-server-${version}"; + + srcs = fetchgit { + url = "https://gitlab.com/gitlab-org/gitlab-git-http-server.git"; + rev = "7c63f08f7051348e56b903fc0bbefcfed398fc1c"; + sha256 = "557d63a90c61371598b971a06bc056993610b58c2ef5762d9ef145ec2fdada78"; + }; + + buildInputs = [ git go ]; + + buildPhase = '' + make PREFIX=$out + ''; + + installPhase = '' + mkdir -p $out/bin + make install PREFIX=$out + ''; +} diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix index 467e39f7141e..5ee59c1e2550 100644 --- a/pkgs/applications/version-management/gitlab-shell/default.nix +++ b/pkgs/applications/version-management/gitlab-shell/default.nix @@ -6,8 +6,8 @@ stdenv.mkDerivation rec { srcs = fetchgit { url = "https://gitlab.com/gitlab-org/gitlab-shell.git"; - rev = "823aba63e444afa2f45477819770fec3cb5f0159"; - sha256 = "0ppf547xs9pvmk49v4h043d0j93k5n4q0yx3b9ssrc4qf2smflgq"; + rev = "ebbb9d80811c23d49a7d1b75d7a7d2b8ffe7437b"; + sha256 = "fe69ab85d75a3871b4afa11ebc17f43008d135bbdbd6c581f6bebee2a4a3c75d"; }; buildInputs = [ @@ -31,16 +31,13 @@ stdenv.mkDerivation rec { substituteInPlace lib/gitlab_config.rb --replace\ "File.join(ROOT_PATH, 'config.yml')"\ "ENV['GITLAB_SHELL_CONFIG_PATH']" - substituteInPlace lib/gitlab_net.rb --replace\ - "File.read File.join(ROOT_PATH, '.gitlab_shell_secret')"\ - "File.read ENV['GITLAB_SHELL_SECRET_PATH']" # Note that we're running gitlab-shell from current-system/sw # because otherwise updating gitlab-shell won't be reflected in # the hardcoded path of the authorized-keys file: substituteInPlace lib/gitlab_keys.rb --replace\ - "auth_line = \"command=\\\"#{ROOT_PATH}/bin/gitlab-shell"\ - "auth_line = \"command=\\\"GITLAB_SHELL_CONFIG_PATH=#{ENV['GITLAB_SHELL_CONFIG_PATH']} GITLAB_SHELL_SECRET_PATH=#{ENV['GITLAB_SHELL_SECRET_PATH']} /run/current-system/sw/bin/gitlab-shell" + "\"#{ROOT_PATH}/bin/gitlab-shell"\ + "\"GITLAB_SHELL_CONFIG_PATH=#{ENV['GITLAB_SHELL_CONFIG_PATH']} /run/current-system/sw/bin/gitlab-shell" # We're setting GITLAB_SHELL_CONFIG_PATH in the ssh authorized key # environment because we need it in gitlab_configrb diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile index f6f3607cbd1b..66261426c014 100644 --- a/pkgs/applications/version-management/gitlab/Gemfile +++ b/pkgs/applications/version-management/gitlab/Gemfile @@ -8,145 +8,174 @@ def linux_only(require_as) RUBY_PLATFORM.include?('linux') && require_as end -gem "rails", "~> 4.1.0" +gem 'rails', '4.1.12' -# Make links from text -gem 'rails_autolink', '~> 1.1' +# Specify a sprockets version due to security issue +# See https://groups.google.com/forum/#!topic/rubyonrails-security/doAVp0YaTqY +gem 'sprockets', '~> 2.12.3' # Default values for AR models gem "default_value_for", "~> 3.0.0" # Supported DBs -gem "mysql2", group: :mysql -gem "pg", group: :postgres +gem "mysql2", '~> 0.3.16', group: :mysql +gem "pg", '~> 0.18.2', group: :postgres -# Auth -gem "devise", '3.2.4' -gem "devise-async", '0.9.0' -gem 'omniauth', "~> 1.1.3" -gem 'omniauth-google-oauth2' -gem 'omniauth-twitter' -gem 'omniauth-github' -gem 'omniauth-shibboleth' +# Authentication libraries +gem "devise", '~> 3.5.2' +gem "devise-async", '~> 0.9.0' +gem 'omniauth', "~> 1.2.2" +gem 'omniauth-google-oauth2', '~> 0.2.5' +gem 'omniauth-twitter', '~> 1.0.1' +gem 'omniauth-github', '~> 1.1.1' +gem 'omniauth-shibboleth', '~> 1.1.1' +gem 'omniauth-kerberos', '~> 0.2.0', group: :kerberos +gem 'omniauth-gitlab', '~> 1.0.0' +gem 'omniauth-bitbucket', '~> 0.0.2' +gem 'omniauth-saml', '~> 1.4.0' +gem 'doorkeeper', '~> 2.1.3' +gem 'omniauth_crowd' +gem "rack-oauth2", "~> 1.0.5" + +# Two-factor authentication +gem 'devise-two-factor', '~> 2.0.0' +gem 'rqrcode-rails3', '~> 0.1.7' +gem 'attr_encrypted', '~> 1.3.4' + +# Browser detection +gem "browser", '~> 1.0.0' # Extracting information from a git repository # Provide access to Gitlab::Git library -gem "gitlab_git", '7.0.0.rc10' - -# Ruby/Rack Git Smart-HTTP Server Handler -gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack' +gem "gitlab_git", '~> 7.2.15' # LDAP Auth -gem 'gitlab_omniauth-ldap', '1.1.0', require: "omniauth-ldap" +# GitLab fork with several improvements to original library. For full list of changes +# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master +gem 'gitlab_omniauth-ldap', '~> 1.2.1', require: "omniauth-ldap" # Git Wiki -gem 'gollum-lib', '~> 3.0.0' +gem 'gollum-lib', '~> 4.0.2' # Language detection -gem "gitlab-linguist", "~> 3.0.0", require: "linguist" +# GitLab fork of linguist does not require pygments/python dependency. +# New version of original gem also dropped pygments support but it has strict +# dependency to unstable rugged version. We have internal issue for replacing +# fork with original gem when we meet on same rugged version - https://dev.gitlab.org/gitlab/gitlabhq/issues/2052. +gem "gitlab-linguist", "~> 3.0.1", require: "linguist" # API gem "grape", "~> 0.6.1" gem "grape-entity", "~> 0.4.2" -gem 'rack-cors', require: 'rack/cors' +gem 'rack-cors', '~> 0.2.9', require: 'rack/cors' # Format dates and times # based on human-friendly examples -gem "stamp" +gem "stamp", '~> 0.5.0' # Enumeration fields -gem 'enumerize' +gem 'enumerize', '~> 0.7.0' # Pagination gem "kaminari", "~> 0.15.1" # HAML -gem "haml-rails" +gem "haml-rails", '~> 0.5.3' # Files attachments -gem "carrierwave" +gem "carrierwave", '~> 0.9.0' # Drag and Drop UI -gem 'dropzonejs-rails' +gem 'dropzonejs-rails', '~> 0.7.1' # for aws storage -gem "fog", "~> 1.14" -gem "unf" +gem "fog", "~> 1.25.0" +gem "unf", '~> 0.1.4' # Authorization -gem "six" +gem "six", '~> 0.2.0' # Seed data -gem "seed-fu" +gem "seed-fu", '~> 2.3.5' -# Markup pipeline for GitLab -gem 'html-pipeline-gitlab', '~> 0.1.0' - -# Markdown to HTML -gem "github-markup" - -# Required markup gems by github-markdown -gem 'redcarpet', '~> 3.1.2' -gem 'RedCloth' -gem 'rdoc', '~>3.6' -gem 'org-ruby', '= 0.9.9' -gem 'creole', '~>0.3.6' -gem 'wikicloth', '=0.8.1' -gem 'asciidoctor', '= 0.1.4' +# Markdown and HTML processing +gem 'html-pipeline', '~> 1.11.0' +gem 'task_list', '~> 1.0.2', require: 'task_list/railtie' +gem 'github-markup', '~> 1.3.1' +gem 'redcarpet', '~> 3.3.2' +gem 'RedCloth', '~> 4.2.9' +gem 'rdoc', '~>3.6' +gem 'org-ruby', '~> 0.9.12' +gem 'creole', '~>0.3.6' +gem 'wikicloth', '0.8.1' +gem 'asciidoctor', '~> 1.5.2' # Diffs gem 'diffy', '~> 3.0.3' # Application server group :unicorn do - gem "unicorn", '~> 4.6.3' - gem 'unicorn-worker-killer' + gem "unicorn", '~> 4.8.2' + gem 'unicorn-worker-killer', '~> 0.4.2' end # State machine -gem "state_machine" +gem "state_machine", '~> 1.2.0' +# Run events after state machine commits +gem 'after_commit_queue' # Issue tags -gem "acts-as-taggable-on" +gem 'acts-as-taggable-on', '~> 3.4' # Background jobs -gem 'slim' -gem 'sinatra', require: nil -gem 'sidekiq', '2.17.0' +gem 'slim', '~> 2.0.2' +gem 'sinatra', '~> 1.4.4', require: nil +gem 'sidekiq', '3.3.0' +gem 'sidetiq', '~> 0.6.3' # HTTP requests -gem "httparty" +gem "httparty", '~> 0.13.3' # Colored output to console -gem "colored" +gem "colored", '~> 1.2' +gem "colorize", '~> 0.5.8' # GitLab settings -gem 'settingslogic' +gem 'settingslogic', '~> 2.0.9' # Misc -gem "foreman" -gem 'version_sorter' + +gem 'version_sorter', '~> 2.0.0' # Cache -gem "redis-rails" +gem "redis-rails", '~> 4.0.0' # Campfire integration gem 'tinder', '~> 1.9.2' # HipChat integration -gem "hipchat", "~> 0.14.0" +gem 'hipchat', '~> 1.5.0' # Flowdock integration -gem "gitlab-flowdock-git-hook", "~> 0.4.2" +gem "gitlab-flowdock-git-hook", "~> 1.0.1" # Gemnasium integration gem "gemnasium-gitlab-service", "~> 0.2" # Slack integration -gem "slack-notifier", "~> 0.3.2" +gem "slack-notifier", "~> 1.0.0" + +# Asana integration +gem 'asana', '~> 0.0.6' + +# FogBugz integration +gem 'ruby-fogbugz', '~> 0.2.1' # d3 -gem "d3_rails", "~> 3.1.4" +gem 'd3_rails', '~> 3.5.5' + +#cal-heatmap +gem "cal-heatmap-rails", "~> 0.0.1" # underscore-rails gem "underscore-rails", "~> 1.4.4" @@ -155,104 +184,133 @@ gem "underscore-rails", "~> 1.4.4" gem "sanitize", '~> 2.0' # Protect against bruteforcing -gem "rack-attack" +gem "rack-attack", '~> 4.3.0' # Ace editor -gem 'ace-rails-ap' +gem 'ace-rails-ap', '~> 2.0.1' # Keyboard shortcuts -gem 'mousetrap-rails' +gem 'mousetrap-rails', '~> 1.4.6' -# Semantic UI Sass for Sidebar -gem 'semantic-ui-sass', '~> 0.16.1.0' +# Detect and convert string character encoding +gem 'charlock_holmes', '~> 0.6.9.4' -gem "sass-rails", '~> 4.0.2' -gem "coffee-rails" -gem "uglifier" -gem "therubyracer" -gem 'turbolinks' -gem 'jquery-turbolinks' +gem "sass-rails", '~> 4.0.5' +gem "coffee-rails", '~> 4.1.0' +gem "uglifier", '~> 2.3.2' +gem 'turbolinks', '~> 2.5.0' +gem 'jquery-turbolinks', '~> 2.0.1' -gem 'select2-rails' -gem 'jquery-atwho-rails', "~> 0.3.3" -gem "jquery-rails" -gem "jquery-ui-rails" -gem "jquery-scrollto-rails" -gem "raphael-rails", "~> 2.1.2" -gem 'bootstrap-sass', '~> 3.0' -gem "font-awesome-rails", '~> 4.2' -gem "gitlab_emoji", "~> 0.0.1.1" -gem "gon", '~> 5.0.0' -gem 'nprogress-rails' -gem 'request_store' -gem "virtus" +gem 'addressable', '~> 2.3.8' +gem 'bootstrap-sass', '~> 3.0' +gem 'font-awesome-rails', '~> 4.2' +gem 'gitlab_emoji', '~> 0.1' +gem 'gon', '~> 5.0.0' +gem 'jquery-atwho-rails', '~> 1.0.0' +gem 'jquery-rails', '~> 3.1.3' +gem 'jquery-scrollto-rails', '~> 1.4.3' +gem 'jquery-ui-rails', '~> 4.2.1' +gem 'nprogress-rails', '~> 0.1.2.3' +gem 'raphael-rails', '~> 2.1.2' +gem 'request_store', '~> 1.2.0' +gem 'select2-rails', '~> 3.5.9' +gem 'virtus', '~> 1.0.1' group :development do - gem "annotate", "~> 2.6.0.beta2" - gem "letter_opener" - gem 'quiet_assets', '~> 1.0.1' - gem 'rack-mini-profiler', require: false + gem "foreman" + gem 'brakeman', '3.0.1', require: false + + gem "annotate", "~> 2.6.0" + gem "letter_opener", '~> 1.1.2' + gem 'quiet_assets', '~> 1.0.2' + gem 'rack-mini-profiler', '~> 0.9.0', require: false + gem 'rerun', '~> 0.10.0' # Better errors handler - gem 'better_errors' - gem 'binding_of_caller' - - gem 'rails_best_practices' + gem 'better_errors', '~> 1.0.1' + gem 'binding_of_caller', '~> 0.7.2' # Docs generator - gem "sdoc" + gem "sdoc", '~> 0.3.20' # thin instead webrick - gem 'thin' + gem 'thin', '~> 1.6.1' end group :development, :test do - gem 'coveralls', require: false - # gem 'rails-dev-tweaks' - gem 'spinach-rails' - gem "rspec-rails" - gem "capybara", '~> 2.2.1' - gem "pry" - gem "awesome_print" - gem "database_cleaner" - gem "launchy" - gem 'factory_girl_rails' + gem 'byebug', platform: :mri + gem 'pry-rails' + + gem 'awesome_print', '~> 1.2.0' + gem 'fuubar', '~> 2.0.0' + + gem 'database_cleaner', '~> 1.4.0' + gem 'factory_girl_rails', '~> 4.3.0' + gem 'rspec-rails', '~> 3.3.0' + gem 'spinach-rails', '~> 0.2.1' # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) - gem 'minitest', '~> 5.3.0' + gem 'minitest', '~> 5.7.0' # Generate Fake data - gem "ffaker" + gem 'ffaker', '~> 2.0.0' - # Guard - gem 'guard-rspec' - gem 'guard-spinach' + gem 'capybara', '~> 2.4.0' + gem 'capybara-screenshot', '~> 1.0.0' + gem 'poltergeist', '~> 1.6.0' - # Notification - gem 'rb-fsevent', require: darwin_only('rb-fsevent') - gem 'growl', require: darwin_only('growl') - gem 'rb-inotify', require: linux_only('rb-inotify') + gem 'teaspoon', '~> 1.0.0' + gem 'teaspoon-jasmine', '~> 2.2.0' - # PhantomJS driver for Capybara - gem 'poltergeist', '~> 1.5.1' + gem 'spring', '~> 1.3.6' + gem 'spring-commands-rspec', '~> 1.0.4' + gem 'spring-commands-spinach', '~> 1.0.0' + gem 'spring-commands-teaspoon', '~> 0.0.2' - gem 'jasmine', '2.0.2' - - gem "spring", '1.1.3' - gem "spring-commands-rspec", '1.0.1' - gem "spring-commands-spinach", '1.0.0' + gem 'rubocop', '~> 0.28.0', require: false + gem 'coveralls', '~> 0.8.2', require: false + gem 'simplecov', '~> 0.10.0', require: false end group :test do - gem "simplecov", require: false - gem "shoulda-matchers", "~> 2.1.0" - gem 'email_spec' - gem "webmock" - gem 'test_after_commit' + gem 'shoulda-matchers', '~> 2.8.0', require: false + gem 'email_spec', '~> 1.6.0' + gem 'webmock', '~> 1.21.0' + gem 'test_after_commit', '~> 0.2.2' + gem 'sham_rack' end group :production do gem "gitlab_meta", '7.0' end -gem "newrelic_rpm" +gem "newrelic_rpm", '~> 3.9.4.245' +gem 'newrelic-grape' + +gem 'octokit', '~> 3.7.0' + +gem "mail_room", "~> 0.5.2" + +gem 'email_reply_parser', '~> 0.5.8' + +## CI +gem 'activerecord-deprecated_finders', '~> 1.0.3' +gem 'activerecord-session_store', '~> 0.1.0' +gem "nested_form", '~> 0.3.2' + +# Scheduled +gem 'whenever', '~> 0.8.4', require: false + +# OAuth +gem 'oauth2', '~> 1.0.0' + +# Soft deletion +gem "paranoia", "~> 2.0" + +group :development, :test do + gem 'guard-rspec', '~> 4.2.0' + + gem 'rb-fsevent', require: darwin_only('rb-fsevent') + gem 'growl', require: darwin_only('growl') + gem 'rb-inotify', require: linux_only('rb-inotify') +end diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock index c7db793060ed..56db3f619850 100644 --- a/pkgs/applications/version-management/gitlab/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/Gemfile.lock @@ -1,203 +1,304 @@ GEM remote: https://rubygems.org/ specs: + CFPropertyList (2.3.1) RedCloth (4.2.9) ace-rails-ap (2.0.1) - actionmailer (4.1.1) - actionpack (= 4.1.1) - actionview (= 4.1.1) - mail (~> 2.5.4) - actionpack (4.1.1) - actionview (= 4.1.1) - activesupport (= 4.1.1) + actionmailer (4.1.12) + actionpack (= 4.1.12) + actionview (= 4.1.12) + mail (~> 2.5, >= 2.5.4) + actionpack (4.1.12) + actionview (= 4.1.12) + activesupport (= 4.1.12) rack (~> 1.5.2) rack-test (~> 0.6.2) - actionview (4.1.1) - activesupport (= 4.1.1) + actionview (4.1.12) + activesupport (= 4.1.12) builder (~> 3.1) erubis (~> 2.7.0) - activemodel (4.1.1) - activesupport (= 4.1.1) + activemodel (4.1.12) + activesupport (= 4.1.12) builder (~> 3.1) - activerecord (4.1.1) - activemodel (= 4.1.1) - activesupport (= 4.1.1) + activerecord (4.1.12) + activemodel (= 4.1.12) + activesupport (= 4.1.12) arel (~> 5.0.0) - activesupport (4.1.1) + activerecord-deprecated_finders (1.0.4) + activerecord-session_store (0.1.1) + actionpack (>= 4.0.0, < 5) + activerecord (>= 4.0.0, < 5) + railties (>= 4.0.0, < 5) + activeresource (4.0.0) + activemodel (~> 4.0) + activesupport (~> 4.0) + rails-observers (~> 0.1.1) + activesupport (4.1.12) i18n (~> 0.6, >= 0.6.9) json (~> 1.7, >= 1.7.7) minitest (~> 5.1) thread_safe (~> 0.1) tzinfo (~> 1.1) - acts-as-taggable-on (2.4.1) - rails (>= 3, < 5) - addressable (2.3.5) - annotate (2.6.0) - activerecord (>= 2.3.0) - rake (>= 0.8.7) + acts-as-taggable-on (3.5.0) + activerecord (>= 3.2, < 5) + addressable (2.3.8) + after_commit_queue (1.1.0) + rails (>= 3.0) + annotate (2.6.10) + activerecord (>= 3.2, <= 4.3) + rake (~> 10.4) arel (5.0.1.20140414130214) - asciidoctor (0.1.4) + asana (0.0.6) + activeresource (>= 3.2.3) + asciidoctor (1.5.2) + ast (2.1.0) + astrolabe (1.3.1) + parser (~> 2.2) + attr_encrypted (1.3.4) + encryptor (>= 1.3.0) + attr_required (1.0.0) + autoprefixer-rails (5.2.1.2) + execjs + json awesome_print (1.2.0) - axiom-types (0.0.5) - descendants_tracker (~> 0.0.1) - ice_nine (~> 0.9) - bcrypt (3.1.7) + axiom-types (0.1.1) + descendants_tracker (~> 0.0.4) + ice_nine (~> 0.11.0) + thread_safe (~> 0.3, >= 0.3.1) + bcrypt (3.1.10) better_errors (1.0.1) coderay (>= 1.0.0) erubis (>= 2.6.6) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) - bootstrap-sass (3.0.3.0) - sass (~> 3.2) + bootstrap-sass (3.3.5) + autoprefixer-rails (>= 5.0.0.1) + sass (>= 3.2.19) + brakeman (3.0.1) + erubis (~> 2.6) + fastercsv (~> 1.5) + haml (>= 3.0, < 5.0) + highline (~> 1.6.20) + multi_json (~> 1.2) + ruby2ruby (~> 2.1.1) + ruby_parser (~> 3.5.0) + sass (~> 3.0) + terminal-table (~> 1.4) + browser (1.0.0) builder (3.2.2) - capybara (2.2.1) + byebug (6.0.2) + cal-heatmap-rails (0.0.1) + capybara (2.4.4) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) + capybara-screenshot (1.0.11) + capybara (>= 1.0, < 3) + launchy carrierwave (0.9.0) activemodel (>= 3.2.0) activesupport (>= 3.2.0) json (>= 1.7) - celluloid (0.15.2) - timers (~> 1.1.0) + celluloid (0.16.0) + timers (~> 4.0.0) charlock_holmes (0.6.9.4) + chronic (0.10.2) + chunky_png (1.3.4) cliver (0.3.2) - code_analyzer (0.4.3) - sexp_processor coderay (1.1.0) coercible (1.0.0) descendants_tracker (~> 0.0.1) - coffee-rails (4.0.1) + coffee-rails (4.1.0) coffee-script (>= 2.2.0) railties (>= 4.0.0, < 5.0) - coffee-script (2.2.0) + coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.6.3) + coffee-script-source (1.9.1.1) colored (1.2) colorize (0.5.8) - connection_pool (1.2.0) - coveralls (0.7.0) - multi_json (~> 1.3) - rest-client - simplecov (>= 0.7) - term-ansicolor - thor - crack (0.4.1) - safe_yaml (~> 0.9.0) + connection_pool (2.2.0) + coveralls (0.8.2) + json (~> 1.8) + rest-client (>= 1.6.8, < 2) + simplecov (~> 0.10.0) + term-ansicolor (~> 1.3) + thor (~> 0.19.1) + crack (0.4.2) + safe_yaml (~> 1.0.0) creole (0.3.8) - d3_rails (3.1.10) + d3_rails (3.5.6) railties (>= 3.1.0) - daemons (1.1.9) - database_cleaner (1.3.0) + daemons (1.2.3) + database_cleaner (1.4.1) debug_inspector (0.0.2) - default_value_for (3.0.0) + default_value_for (3.0.1) activerecord (>= 3.2.0, < 5.0) - descendants_tracker (0.0.3) - devise (3.2.4) + descendants_tracker (0.0.4) + thread_safe (~> 0.3, >= 0.3.1) + devise (3.5.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 3.2.6, < 5) + responders thread_safe (~> 0.1) warden (~> 1.2.3) devise-async (0.9.0) devise (~> 3.2) + devise-two-factor (2.0.0) + activesupport + attr_encrypted (~> 1.3.2) + devise (~> 3.5.0) + railties + rotp (~> 2) diff-lcs (1.2.5) - diffy (3.0.3) + diffy (3.0.7) docile (1.1.5) - dotenv (0.9.0) - dropzonejs-rails (0.4.14) + domain_name (0.5.24) + unf (>= 0.0.5, < 1.0.0) + doorkeeper (2.1.4) + railties (>= 3.2) + dropzonejs-rails (0.7.1) rails (> 3.1) - email_spec (1.5.0) + email_reply_parser (0.5.8) + email_spec (1.6.0) launchy (~> 2.1) mail (~> 2.2) - emoji (1.0.1) - json + encryptor (1.3.0) enumerize (0.7.0) activesupport (>= 3.2) - equalizer (0.0.8) + equalizer (0.0.11) erubis (2.7.0) escape_utils (0.2.4) - eventmachine (1.0.3) - excon (0.32.1) - execjs (2.0.2) + eventmachine (1.0.8) + excon (0.45.4) + execjs (2.6.0) expression_parser (0.9.0) factory_girl (4.3.0) activesupport (>= 3.0.0) factory_girl_rails (4.3.0) factory_girl (~> 4.3.0) railties (>= 3.0.0) - faraday (0.8.9) + faraday (0.8.10) multipart-post (~> 1.2.0) - faraday_middleware (0.9.0) - faraday (>= 0.7.4, < 0.9) - ffaker (1.22.1) - ffi (1.9.3) - fog (1.21.0) - fog-brightbox - fog-core (~> 1.21, >= 1.21.1) + faraday_middleware (0.10.0) + faraday (>= 0.7.4, < 0.10) + fastercsv (1.5.5) + ffaker (2.0.0) + ffi (1.9.10) + fission (0.5.0) + CFPropertyList (~> 2.2) + flowdock (0.7.0) + httparty (~> 0.7) + multi_json + fog (1.25.0) + fog-brightbox (~> 0.4) + fog-core (~> 1.25) fog-json + fog-profitbricks + fog-radosgw (>= 0.0.2) + fog-sakuracloud (>= 0.0.4) + fog-softlayer + fog-terremark + fog-vmfusion + fog-voxel + fog-xml (~> 0.1.1) + ipaddress (~> 0.5) nokogiri (~> 1.5, >= 1.5.11) - fog-brightbox (0.0.1) - fog-core + opennebula + fog-brightbox (0.9.0) + fog-core (~> 1.22) fog-json - fog-core (1.21.1) + inflecto (~> 0.0.2) + fog-core (1.32.1) builder - excon (~> 0.32) - formatador (~> 0.2.0) + excon (~> 0.45) + formatador (~> 0.2) mime-types net-scp (~> 1.1) net-ssh (>= 2.1.3) - fog-json (1.0.0) - multi_json (~> 1.0) - font-awesome-rails (4.2.0.0) + fog-json (1.0.2) + fog-core (~> 1.0) + multi_json (~> 1.10) + fog-profitbricks (0.0.5) + fog-core + fog-xml + nokogiri + fog-radosgw (0.0.4) + fog-core (>= 1.21.0) + fog-json + fog-xml (>= 0.0.1) + fog-sakuracloud (1.0.1) + fog-core + fog-json + fog-softlayer (0.4.7) + fog-core + fog-json + fog-terremark (0.1.0) + fog-core + fog-xml + fog-vmfusion (0.1.0) + fission + fog-core + fog-voxel (0.1.0) + fog-core + fog-xml + fog-xml (0.1.2) + fog-core + nokogiri (~> 1.5, >= 1.5.11) + font-awesome-rails (4.4.0.0) railties (>= 3.2, < 5.0) - foreman (0.63.0) - dotenv (>= 0.7) - thor (>= 0.13.6) - formatador (0.2.4) - gemnasium-gitlab-service (0.2.2) - rugged (~> 0.19) - gherkin-ruby (0.3.1) - racc - github-markup (1.1.0) - gitlab-flowdock-git-hook (0.4.2.2) + foreman (0.78.0) + thor (~> 0.19.1) + formatador (0.2.5) + fuubar (2.0.0) + rspec (~> 3.0) + ruby-progressbar (~> 1.4) + gemnasium-gitlab-service (0.2.6) + rugged (~> 0.21) + gemojione (2.0.1) + json + get_process_mem (0.2.0) + gherkin-ruby (0.3.2) + github-markup (1.3.3) + gitlab-flowdock-git-hook (1.0.1) + flowdock (~> 0.7) gitlab-grit (>= 2.4.1) multi_json - gitlab-grack (2.0.0.pre) - rack (~> 1.5.1) - gitlab-grit (2.6.12) + gitlab-grit (2.7.3) charlock_holmes (~> 0.6) diff-lcs (~> 1.1) mime-types (~> 1.15) posix-spawn (~> 0.3) - gitlab-linguist (3.0.0) + gitlab-linguist (3.0.1) charlock_holmes (~> 0.6.6) escape_utils (~> 0.2.4) mime-types (~> 1.19) - gitlab_emoji (0.0.1.1) - emoji (~> 1.0.1) - gitlab_git (7.0.0.rc10) + gitlab_emoji (0.1.1) + gemojione (~> 2.0) + gitlab_git (7.2.15) activesupport (~> 4.0) charlock_holmes (~> 0.6) gitlab-linguist (~> 3.0) - rugged (~> 0.21.0) + rugged (~> 0.22.2) gitlab_meta (7.0) - gitlab_omniauth-ldap (1.1.0) - net-ldap (~> 0.7.0) + gitlab_omniauth-ldap (1.2.1) + net-ldap (~> 0.9) omniauth (~> 1.0) pyu-ruby-sasl (~> 0.0.3.1) - rubyntlm (~> 0.1.1) - gollum-lib (3.0.0) - github-markup (~> 1.1.0) - gitlab-grit (~> 2.6.5) - nokogiri (~> 1.6.1) - rouge (~> 1.3.3) + rubyntlm (~> 0.3) + gollum-grit_adapter (1.0.0) + gitlab-grit (~> 2.7, >= 2.7.1) + gollum-lib (4.0.3) + github-markup (~> 1.3.3) + gollum-grit_adapter (~> 1.0) + nokogiri (~> 1.6.4) + rouge (~> 1.10.1) sanitize (~> 2.1.0) stringex (~> 2.5.1) - gon (5.0.1) + gon (5.0.4) actionpack (>= 2.3.0) json grape (0.6.1) @@ -210,23 +311,23 @@ GEM rack-accept rack-mount virtus (>= 1.0.0) - grape-entity (0.4.2) + grape-entity (0.4.8) activesupport multi_json (>= 1.3.2) growl (1.0.3) - guard (2.2.4) + guard (2.13.0) formatador (>= 0.2.4) - listen (~> 2.1) + listen (>= 2.7, <= 4.0) lumberjack (~> 1.0) + nenv (~> 0.1) + notiffany (~> 0.0) pry (>= 0.9.12) + shellany (~> 0.0) thor (>= 0.18.1) - guard-rspec (4.2.0) - guard (>= 2.1.1) + guard-rspec (4.2.10) + guard (~> 2.1) rspec (>= 2.14, < 4.0) - guard-spinach (0.0.2) - guard (>= 1.1) - spinach - haml (4.0.5) + haml (4.0.7) tilt haml-rails (0.5.3) actionpack (>= 4.0.1) @@ -234,185 +335,222 @@ GEM haml (>= 3.1, < 5.0) railties (>= 4.0.1) hashie (2.1.2) + highline (1.6.21) hike (1.2.3) - hipchat (0.14.0) - httparty + hipchat (1.5.2) httparty + mimemagic + hitimes (1.2.3) html-pipeline (1.11.0) activesupport (>= 2) nokogiri (~> 1.4) - html-pipeline-gitlab (0.1.5) - actionpack (~> 4) - gitlab_emoji (~> 0.0.1) - html-pipeline (~> 1.11.0) - sanitize (~> 2.1) + http-cookie (1.0.2) + domain_name (~> 0.5) http_parser.rb (0.5.3) - httparty (0.13.0) + httparty (0.13.5) json (~> 1.8) multi_xml (>= 0.5.2) - httpauth (0.2.1) - i18n (0.6.11) - ice_nine (0.10.0) - jasmine (2.0.2) - jasmine-core (~> 2.0.0) - phantomjs - rack (>= 1.2.1) - rake - jasmine-core (2.0.0) - jquery-atwho-rails (0.3.3) - jquery-rails (3.1.0) + httpclient (2.6.0.1) + i18n (0.7.0) + ice_cube (0.11.1) + ice_nine (0.11.1) + inflecto (0.0.2) + ipaddress (0.8.0) + jquery-atwho-rails (1.0.1) + jquery-rails (3.1.3) railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) jquery-scrollto-rails (1.4.3) railties (> 3.1, < 5.0) - jquery-turbolinks (2.0.1) + jquery-turbolinks (2.0.2) railties (>= 3.1.0) turbolinks jquery-ui-rails (4.2.1) railties (>= 3.2.16) - json (1.8.1) - jwt (0.1.13) - multi_json (>= 1.5) + json (1.8.3) + jwt (1.5.1) kaminari (0.15.1) actionpack (>= 3.0.0) activesupport (>= 3.0.0) - kgio (2.8.1) - launchy (2.4.2) + kgio (2.9.3) + launchy (2.4.3) addressable (~> 2.3) letter_opener (1.1.2) launchy (~> 2.2) - libv8 (3.16.14.11) - listen (2.3.1) - celluloid (>= 0.15.2) + listen (2.10.1) + celluloid (~> 0.16.0) rb-fsevent (>= 0.9.3) rb-inotify (>= 0.9) - lumberjack (1.0.4) - mail (2.5.4) - mime-types (~> 1.16) - treetop (~> 1.4.8) + lumberjack (1.0.9) + macaddr (1.7.1) + systemu (~> 2.6.2) + mail (2.6.3) + mime-types (>= 1.16, < 3) + mail_room (0.5.2) method_source (0.8.2) mime-types (1.25.1) - mini_portile (0.6.0) - minitest (5.3.5) + mimemagic (0.3.0) + mini_portile (0.6.2) + minitest (5.7.0) mousetrap-rails (1.4.6) - multi_json (1.10.1) + multi_json (1.11.2) multi_xml (0.5.5) multipart-post (1.2.0) - mysql2 (0.3.16) - net-ldap (0.7.0) - net-scp (1.1.2) + mysql2 (0.3.20) + nenv (0.2.0) + nested_form (0.3.2) + net-ldap (0.11) + net-scp (1.2.1) net-ssh (>= 2.6.5) - net-ssh (2.8.0) + net-ssh (2.9.2) + netrc (0.10.3) + newrelic-grape (2.0.0) + grape + newrelic_rpm newrelic_rpm (3.9.4.245) - nokogiri (1.6.2.1) - mini_portile (= 0.6.0) + nokogiri (1.6.6.2) + mini_portile (~> 0.6.0) + notiffany (0.0.7) + nenv (~> 0.1) + shellany (~> 0.0) nprogress-rails (0.1.2.3) oauth (0.4.7) - oauth2 (0.8.1) - faraday (~> 0.8) - httpauth (~> 0.1) - jwt (~> 0.1.4) - multi_json (~> 1.0) + oauth2 (1.0.0) + faraday (>= 0.8, < 0.10) + jwt (~> 1.0) + multi_json (~> 1.3) + multi_xml (~> 0.5) rack (~> 1.2) - omniauth (1.1.4) - hashie (>= 1.2, < 3) - rack - omniauth-github (1.1.1) + octokit (3.7.1) + sawyer (~> 0.6.0, >= 0.5.3) + omniauth (1.2.2) + hashie (>= 1.2, < 4) + rack (~> 1.0) + omniauth-bitbucket (0.0.2) + multi_json (~> 1.7) + omniauth (~> 1.1) + omniauth-oauth (~> 1.0) + omniauth-github (1.1.2) omniauth (~> 1.0) omniauth-oauth2 (~> 1.1) - omniauth-google-oauth2 (0.2.5) + omniauth-gitlab (1.0.0) + omniauth (~> 1.0) + omniauth-oauth2 (~> 1.0) + omniauth-google-oauth2 (0.2.6) omniauth (> 1.0) omniauth-oauth2 (~> 1.1) - omniauth-oauth (1.0.1) + omniauth-kerberos (0.2.0) + omniauth-multipassword + timfel-krb5-auth (~> 0.8) + omniauth-multipassword (0.4.2) + omniauth (~> 1.0) + omniauth-oauth (1.1.0) oauth omniauth (~> 1.0) - omniauth-oauth2 (1.1.1) - oauth2 (~> 0.8.0) - omniauth (~> 1.0) - omniauth-shibboleth (1.1.1) + omniauth-oauth2 (1.3.1) + oauth2 (~> 1.0) + omniauth (~> 1.2) + omniauth-saml (1.4.1) + omniauth (~> 1.1) + ruby-saml (~> 1.0.0) + omniauth-shibboleth (1.1.2) omniauth (>= 1.0.0) omniauth-twitter (1.0.1) multi_json (~> 1.3) omniauth-oauth (~> 1.0) - org-ruby (0.9.9) + omniauth_crowd (2.2.3) + activesupport + nokogiri (>= 1.4.4) + omniauth (~> 1.0) + opennebula (4.12.1) + json + nokogiri + rbvmomi + org-ruby (0.9.12) rubypants (~> 0.2) orm_adapter (0.5.0) - pg (0.15.1) - phantomjs (1.9.2.0) - poltergeist (1.5.1) + paranoia (2.1.3) + activerecord (~> 4.0) + parser (2.2.2.6) + ast (>= 1.1, < 3.0) + pg (0.18.2) + poltergeist (1.6.0) capybara (~> 2.1) cliver (~> 0.3.1) multi_json (~> 1.0) websocket-driver (>= 0.2.0) - polyglot (0.3.4) - posix-spawn (0.3.9) - pry (0.9.12.4) - coderay (~> 1.0) - method_source (~> 0.8) + posix-spawn (0.3.11) + powerpack (0.0.9) + pry (0.10.1) + coderay (~> 1.1.0) + method_source (~> 0.8.1) slop (~> 3.4) + pry-rails (0.3.4) + pry (>= 0.9.10) pyu-ruby-sasl (0.0.3.3) - quiet_assets (1.0.2) + quiet_assets (1.0.3) railties (>= 3.1, < 5.0) - racc (1.4.10) - rack (1.5.2) + rack (1.5.5) rack-accept (0.4.5) rack (>= 0.4) - rack-attack (2.3.0) + rack-attack (4.3.0) rack rack-cors (0.2.9) - rack-mini-profiler (0.9.0) + rack-mini-profiler (0.9.7) rack (>= 1.1.3) rack-mount (0.8.3) rack (>= 1.0.0) - rack-protection (1.5.1) + rack-oauth2 (1.0.10) + activesupport (>= 2.3) + attr_required (>= 0.0.5) + httpclient (>= 2.4) + multi_json (>= 1.3.6) + rack (>= 1.1) + rack-protection (1.5.3) rack - rack-test (0.6.2) + rack-test (0.6.3) rack (>= 1.0) - rails (4.1.1) - actionmailer (= 4.1.1) - actionpack (= 4.1.1) - actionview (= 4.1.1) - activemodel (= 4.1.1) - activerecord (= 4.1.1) - activesupport (= 4.1.1) + rails (4.1.12) + actionmailer (= 4.1.12) + actionpack (= 4.1.12) + actionview (= 4.1.12) + activemodel (= 4.1.12) + activerecord (= 4.1.12) + activesupport (= 4.1.12) bundler (>= 1.3.0, < 2.0) - railties (= 4.1.1) + railties (= 4.1.12) sprockets-rails (~> 2.0) - rails_autolink (1.1.6) - rails (> 3.1) - rails_best_practices (1.14.4) - activesupport - awesome_print - code_analyzer (>= 0.4.3) - colored - erubis - i18n - require_all - ruby-progressbar - railties (4.1.1) - actionpack (= 4.1.1) - activesupport (= 4.1.1) + rails-observers (0.1.2) + activemodel (~> 4.0) + railties (4.1.12) + actionpack (= 4.1.12) + activesupport (= 4.1.12) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) - raindrops (0.12.0) - rake (10.3.2) + rainbow (2.0.0) + raindrops (0.15.0) + rake (10.4.2) raphael-rails (2.1.2) - rb-fsevent (0.9.3) - rb-inotify (0.9.2) + rb-fsevent (0.9.5) + rb-inotify (0.9.5) ffi (>= 0.5.0) + rbvmomi (1.8.2) + builder + nokogiri (>= 1.4.1) + trollop rdoc (3.12.2) json (~> 1.4) - redcarpet (3.1.2) - redis (3.0.6) + redcarpet (3.3.2) + redis (3.2.1) redis-actionpack (4.0.0) actionpack (~> 4) redis-rack (~> 1.5.0) redis-store (~> 1.1.0) - redis-activesupport (4.0.0) + redis-activesupport (4.1.1) activesupport (~> 4) redis-store (~> 1.1.0) - redis-namespace (1.4.1) - redis (~> 3.0.4) + redis-namespace (1.5.2) + redis (~> 3.0, >= 3.0.4) redis-rack (1.5.0) rack (~> 1.5) redis-store (~> 1.1.0) @@ -420,132 +558,180 @@ GEM redis-actionpack (~> 4) redis-activesupport (~> 4) redis-store (~> 1.1.0) - redis-store (1.1.4) + redis-store (1.1.6) redis (>= 2.2) - ref (1.0.5) - request_store (1.0.5) - require_all (1.3.2) - rest-client (1.6.7) - mime-types (>= 1.16) + request_store (1.2.0) + rerun (0.10.0) + listen (~> 2.7, >= 2.7.3) + responders (1.1.2) + railties (>= 3.2, < 4.2) + rest-client (1.8.0) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 3.0) + netrc (~> 0.7) rinku (1.7.3) - rouge (1.3.3) - rspec (2.14.1) - rspec-core (~> 2.14.0) - rspec-expectations (~> 2.14.0) - rspec-mocks (~> 2.14.0) - rspec-core (2.14.7) - rspec-expectations (2.14.4) - diff-lcs (>= 1.1.3, < 2.0) - rspec-mocks (2.14.4) - rspec-rails (2.14.0) - actionpack (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 2.14.0) - rspec-expectations (~> 2.14.0) - rspec-mocks (~> 2.14.0) - ruby-progressbar (1.2.0) - rubyntlm (0.1.1) + rotp (2.1.1) + rouge (1.10.1) + rqrcode (0.7.0) + chunky_png + rqrcode-rails3 (0.1.7) + rqrcode (>= 0.4.2) + rspec (3.3.0) + rspec-core (~> 3.3.0) + rspec-expectations (~> 3.3.0) + rspec-mocks (~> 3.3.0) + rspec-core (3.3.2) + rspec-support (~> 3.3.0) + rspec-expectations (3.3.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.3.0) + rspec-mocks (3.3.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.3.0) + rspec-rails (3.3.3) + actionpack (>= 3.0, < 4.3) + activesupport (>= 3.0, < 4.3) + railties (>= 3.0, < 4.3) + rspec-core (~> 3.3.0) + rspec-expectations (~> 3.3.0) + rspec-mocks (~> 3.3.0) + rspec-support (~> 3.3.0) + rspec-support (3.3.0) + rubocop (0.28.0) + astrolabe (~> 1.3) + parser (>= 2.2.0.pre.7, < 3.0) + powerpack (~> 0.0.6) + rainbow (>= 1.99.1, < 3.0) + ruby-progressbar (~> 1.4) + ruby-fogbugz (0.2.1) + crack (~> 0.4) + ruby-progressbar (1.7.5) + ruby-saml (1.0.0) + nokogiri (>= 1.5.10) + uuid (~> 2.3) + ruby2ruby (2.1.4) + ruby_parser (~> 3.1) + sexp_processor (~> 4.0) + ruby_parser (3.5.0) + sexp_processor (~> 4.1) + rubyntlm (0.5.2) rubypants (0.2.0) - rugged (0.21.0) - safe_yaml (0.9.7) + rugged (0.22.2) + safe_yaml (1.0.4) sanitize (2.1.0) nokogiri (>= 1.4.4) sass (3.2.19) - sass-rails (4.0.3) + sass-rails (4.0.5) railties (>= 4.0.0, < 5.0) - sass (~> 3.2.0) - sprockets (~> 2.8, <= 2.11.0) + sass (~> 3.2.2) + sprockets (~> 2.8, < 3.0) sprockets-rails (~> 2.0) + sawyer (0.6.0) + addressable (~> 2.3.5) + faraday (~> 0.8, < 0.10) sdoc (0.3.20) json (>= 1.1.3) rdoc (~> 3.10) - seed-fu (2.3.1) - activerecord (>= 3.1, < 4.2) - activesupport (>= 3.1, < 4.2) - select2-rails (3.5.2) + seed-fu (2.3.5) + activerecord (>= 3.1, < 4.3) + activesupport (>= 3.1, < 4.3) + select2-rails (3.5.9.3) thor (~> 0.14) - semantic-ui-sass (0.16.1.0) - sass (~> 3.2) settingslogic (2.0.9) - sexp_processor (4.4.0) - shoulda-matchers (2.1.0) + sexp_processor (4.6.0) + sham_rack (1.3.6) + rack + shellany (0.0.1) + shoulda-matchers (2.8.0) activesupport (>= 3.0.0) - sidekiq (2.17.0) - celluloid (>= 0.15.2) - connection_pool (>= 1.0.0) + sidekiq (3.3.0) + celluloid (>= 0.16.0) + connection_pool (>= 2.0.0) json - redis (>= 3.0.4) + redis (>= 3.0.6) redis-namespace (>= 1.3.1) + sidetiq (0.6.3) + celluloid (>= 0.14.1) + ice_cube (= 0.11.1) + sidekiq (>= 3.0.0) simple_oauth (0.1.9) - simplecov (0.9.0) + simplecov (0.10.0) docile (~> 1.1.0) - multi_json - simplecov-html (~> 0.8.0) - simplecov-html (0.8.0) - sinatra (1.4.4) + json (~> 1.8) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.0) + sinatra (1.4.6) rack (~> 1.4) rack-protection (~> 1.4) - tilt (~> 1.3, >= 1.3.4) + tilt (>= 1.3, < 3) six (0.2.0) - slack-notifier (0.3.2) - slim (2.0.2) + slack-notifier (1.0.0) + slim (2.0.3) temple (~> 0.6.6) tilt (>= 1.3.3, < 2.1) - slop (3.4.7) - spinach (0.8.7) - colorize (= 0.5.8) - gherkin-ruby (>= 0.3.1) + slop (3.6.0) + spinach (0.8.10) + colorize + gherkin-ruby (>= 0.3.2) + json spinach-rails (0.2.1) capybara (>= 2.0.0) railties (>= 3) spinach (>= 0.4) - spring (1.1.3) - spring-commands-rspec (1.0.1) + spring (1.3.6) + spring-commands-rspec (1.0.4) spring (>= 0.9.1) spring-commands-spinach (1.0.0) spring (>= 0.9.1) - sprockets (2.11.0) + spring-commands-teaspoon (0.0.2) + spring (>= 0.9.1) + sprockets (2.12.4) hike (~> 1.2) multi_json (~> 1.0) rack (~> 1.0) tilt (~> 1.1, != 1.3.0) - sprockets-rails (2.1.3) + sprockets-rails (2.3.2) actionpack (>= 3.0) activesupport (>= 3.0) - sprockets (~> 2.8) + sprockets (>= 2.8, < 4.0) stamp (0.5.0) state_machine (1.2.0) - stringex (2.5.1) - temple (0.6.7) - term-ansicolor (1.2.2) - tins (~> 0.8) - test_after_commit (0.2.2) - therubyracer (0.12.0) - libv8 (~> 3.16.14.0) - ref - thin (1.6.1) - daemons (>= 1.0.9) - eventmachine (>= 1.0.0) - rack (>= 1.0.0) - thor (0.19.1) - thread_safe (0.3.4) - tilt (1.4.1) - timers (1.1.0) - tinder (1.9.3) + stringex (2.5.2) + systemu (2.6.5) + task_list (1.0.2) + html-pipeline + teaspoon (1.0.2) + railties (>= 3.2.5, < 5) + teaspoon-jasmine (2.2.0) + teaspoon (>= 1.0.0) + temple (0.6.10) + term-ansicolor (1.3.2) + tins (~> 1.0) + terminal-table (1.5.2) + test_after_commit (0.2.7) + activerecord (>= 3.2) + thin (1.6.3) + daemons (~> 1.0, >= 1.0.9) eventmachine (~> 1.0) - faraday (~> 0.8) + rack (~> 1.0) + thor (0.19.1) + thread_safe (0.3.5) + tilt (1.4.1) + timers (4.0.4) + hitimes + timfel-krb5-auth (0.8.3) + tinder (1.9.4) + eventmachine (~> 1.0) + faraday (~> 0.8.9) faraday_middleware (~> 0.9) hashie (>= 1.0, < 3) json (~> 1.8.0) mime-types (~> 1.19) multi_json (~> 1.7) twitter-stream (~> 0.1) - tins (0.13.1) - treetop (1.4.15) - polyglot - polyglot (>= 0.3.1) - turbolinks (2.0.0) + tins (1.6.0) + trollop (2.1.2) + turbolinks (2.5.3) coffee-rails twitter-stream (0.1.16) eventmachine (>= 0.12.8) @@ -553,31 +739,39 @@ GEM simple_oauth (~> 0.1.4) tzinfo (1.2.2) thread_safe (~> 0.1) - uglifier (2.3.2) + uglifier (2.3.3) execjs (>= 0.3.0) json (>= 1.8.0) underscore-rails (1.4.4) unf (0.1.4) unf_ext - unf_ext (0.0.6) - unicorn (4.6.3) + unf_ext (0.0.7.1) + unicorn (4.8.3) kgio (~> 2.6) rack raindrops (~> 0.7) - unicorn-worker-killer (0.4.2) + unicorn-worker-killer (0.4.3) + get_process_mem (~> 0) unicorn (~> 4) - version_sorter (1.1.0) - virtus (1.0.1) - axiom-types (~> 0.0.5) + uuid (2.3.8) + macaddr (~> 1.0) + version_sorter (2.0.0) + virtus (1.0.5) + axiom-types (~> 0.1) coercible (~> 1.0) - descendants_tracker (~> 0.0.1) - equalizer (~> 0.0.7) + descendants_tracker (~> 0.0, >= 0.0.3) + equalizer (~> 0.0, >= 0.0.9) warden (1.2.3) rack (>= 1.0) - webmock (1.16.0) - addressable (>= 2.2.7) + webmock (1.21.0) + addressable (>= 2.3.6) crack (>= 0.3.2) - websocket-driver (0.3.3) + websocket-driver (0.6.2) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + whenever (0.8.4) + activesupport (>= 2.3.4) + chronic (>= 0.6.3) wikicloth (0.8.1) builder expression_parser @@ -589,124 +783,157 @@ PLATFORMS ruby DEPENDENCIES - RedCloth - ace-rails-ap - acts-as-taggable-on - annotate (~> 2.6.0.beta2) - asciidoctor (= 0.1.4) - awesome_print - better_errors - binding_of_caller + RedCloth (~> 4.2.9) + ace-rails-ap (~> 2.0.1) + activerecord-deprecated_finders (~> 1.0.3) + activerecord-session_store (~> 0.1.0) + acts-as-taggable-on (~> 3.4) + addressable (~> 2.3.8) + after_commit_queue + annotate (~> 2.6.0) + asana (~> 0.0.6) + asciidoctor (~> 1.5.2) + attr_encrypted (~> 1.3.4) + awesome_print (~> 1.2.0) + better_errors (~> 1.0.1) + binding_of_caller (~> 0.7.2) bootstrap-sass (~> 3.0) - capybara (~> 2.2.1) - carrierwave - coffee-rails - colored - coveralls + brakeman (= 3.0.1) + browser (~> 1.0.0) + byebug + cal-heatmap-rails (~> 0.0.1) + capybara (~> 2.4.0) + capybara-screenshot (~> 1.0.0) + carrierwave (~> 0.9.0) + charlock_holmes (~> 0.6.9.4) + coffee-rails (~> 4.1.0) + colored (~> 1.2) + colorize (~> 0.5.8) + coveralls (~> 0.8.2) creole (~> 0.3.6) - d3_rails (~> 3.1.4) - database_cleaner + d3_rails (~> 3.5.5) + database_cleaner (~> 1.4.0) default_value_for (~> 3.0.0) - devise (= 3.2.4) - devise-async (= 0.9.0) + devise (~> 3.5.2) + devise-async (~> 0.9.0) + devise-two-factor (~> 2.0.0) diffy (~> 3.0.3) - dropzonejs-rails - email_spec - enumerize - factory_girl_rails - ffaker - fog (~> 1.14) + doorkeeper (~> 2.1.3) + dropzonejs-rails (~> 0.7.1) + email_reply_parser (~> 0.5.8) + email_spec (~> 1.6.0) + enumerize (~> 0.7.0) + factory_girl_rails (~> 4.3.0) + ffaker (~> 2.0.0) + fog (~> 1.25.0) font-awesome-rails (~> 4.2) foreman + fuubar (~> 2.0.0) gemnasium-gitlab-service (~> 0.2) - github-markup - gitlab-flowdock-git-hook (~> 0.4.2) - gitlab-grack (~> 2.0.0.pre) - gitlab-linguist (~> 3.0.0) - gitlab_emoji (~> 0.0.1.1) - gitlab_git (= 7.0.0.rc10) + github-markup (~> 1.3.1) + gitlab-flowdock-git-hook (~> 1.0.1) + gitlab-linguist (~> 3.0.1) + gitlab_emoji (~> 0.1) + gitlab_git (~> 7.2.15) gitlab_meta (= 7.0) - gitlab_omniauth-ldap (= 1.1.0) - gollum-lib (~> 3.0.0) + gitlab_omniauth-ldap (~> 1.2.1) + gollum-lib (~> 4.0.2) gon (~> 5.0.0) grape (~> 0.6.1) grape-entity (~> 0.4.2) growl - guard-rspec - guard-spinach - haml-rails - hipchat (~> 0.14.0) - html-pipeline-gitlab (~> 0.1.0) - httparty - jasmine (= 2.0.2) - jquery-atwho-rails (~> 0.3.3) - jquery-rails - jquery-scrollto-rails - jquery-turbolinks - jquery-ui-rails + guard-rspec (~> 4.2.0) + haml-rails (~> 0.5.3) + hipchat (~> 1.5.0) + html-pipeline (~> 1.11.0) + httparty (~> 0.13.3) + jquery-atwho-rails (~> 1.0.0) + jquery-rails (~> 3.1.3) + jquery-scrollto-rails (~> 1.4.3) + jquery-turbolinks (~> 2.0.1) + jquery-ui-rails (~> 4.2.1) kaminari (~> 0.15.1) - launchy - letter_opener - minitest (~> 5.3.0) - mousetrap-rails - mysql2 - newrelic_rpm - nprogress-rails - omniauth (~> 1.1.3) - omniauth-github - omniauth-google-oauth2 - omniauth-shibboleth - omniauth-twitter - org-ruby (= 0.9.9) - pg - poltergeist (~> 1.5.1) - pry - quiet_assets (~> 1.0.1) - rack-attack - rack-cors - rack-mini-profiler - rails (~> 4.1.0) - rails_autolink (~> 1.1) - rails_best_practices + letter_opener (~> 1.1.2) + mail_room (~> 0.5.2) + minitest (~> 5.7.0) + mousetrap-rails (~> 1.4.6) + mysql2 (~> 0.3.16) + nested_form (~> 0.3.2) + newrelic-grape + newrelic_rpm (~> 3.9.4.245) + nprogress-rails (~> 0.1.2.3) + oauth2 (~> 1.0.0) + octokit (~> 3.7.0) + omniauth (~> 1.2.2) + omniauth-bitbucket (~> 0.0.2) + omniauth-github (~> 1.1.1) + omniauth-gitlab (~> 1.0.0) + omniauth-google-oauth2 (~> 0.2.5) + omniauth-kerberos (~> 0.2.0) + omniauth-saml (~> 1.4.0) + omniauth-shibboleth (~> 1.1.1) + omniauth-twitter (~> 1.0.1) + omniauth_crowd + org-ruby (~> 0.9.12) + paranoia (~> 2.0) + pg (~> 0.18.2) + poltergeist (~> 1.6.0) + pry-rails + quiet_assets (~> 1.0.2) + rack-attack (~> 4.3.0) + rack-cors (~> 0.2.9) + rack-mini-profiler (~> 0.9.0) + rack-oauth2 (~> 1.0.5) + rails (= 4.1.12) raphael-rails (~> 2.1.2) rb-fsevent rb-inotify rdoc (~> 3.6) - redcarpet (~> 3.1.2) - redis-rails - request_store - rspec-rails + redcarpet (~> 3.3.2) + redis-rails (~> 4.0.0) + request_store (~> 1.2.0) + rerun (~> 0.10.0) + rqrcode-rails3 (~> 0.1.7) + rspec-rails (~> 3.3.0) + rubocop (~> 0.28.0) + ruby-fogbugz (~> 0.2.1) sanitize (~> 2.0) - sass-rails (~> 4.0.2) - sdoc - seed-fu - select2-rails - semantic-ui-sass (~> 0.16.1.0) - settingslogic - shoulda-matchers (~> 2.1.0) - sidekiq (= 2.17.0) - simplecov - sinatra - six - slack-notifier (~> 0.3.2) - slim - spinach-rails - spring (= 1.1.3) - spring-commands-rspec (= 1.0.1) - spring-commands-spinach (= 1.0.0) - stamp - state_machine - test_after_commit - therubyracer - thin + sass-rails (~> 4.0.5) + sdoc (~> 0.3.20) + seed-fu (~> 2.3.5) + select2-rails (~> 3.5.9) + settingslogic (~> 2.0.9) + sham_rack + shoulda-matchers (~> 2.8.0) + sidekiq (= 3.3.0) + sidetiq (~> 0.6.3) + simplecov (~> 0.10.0) + sinatra (~> 1.4.4) + six (~> 0.2.0) + slack-notifier (~> 1.0.0) + slim (~> 2.0.2) + spinach-rails (~> 0.2.1) + spring (~> 1.3.6) + spring-commands-rspec (~> 1.0.4) + spring-commands-spinach (~> 1.0.0) + spring-commands-teaspoon (~> 0.0.2) + sprockets (~> 2.12.3) + stamp (~> 0.5.0) + state_machine (~> 1.2.0) + task_list (~> 1.0.2) + teaspoon (~> 1.0.0) + teaspoon-jasmine (~> 2.2.0) + test_after_commit (~> 0.2.2) + thin (~> 1.6.1) tinder (~> 1.9.2) - turbolinks - uglifier + turbolinks (~> 2.5.0) + uglifier (~> 2.3.2) underscore-rails (~> 1.4.4) - unf - unicorn (~> 4.6.3) - unicorn-worker-killer - version_sorter - virtus - webmock + unf (~> 0.1.4) + unicorn (~> 4.8.2) + unicorn-worker-killer (~> 0.4.2) + version_sorter (~> 2.0.0) + virtus (~> 1.0.1) + webmock (~> 1.21.0) + whenever (~> 0.8.4) wikicloth (= 0.8.1) diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index 4f75bb94a299..8af64ce78e92 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,15 +1,8 @@ { stdenv, lib, bundler, fetchgit, bundlerEnv, defaultGemConfig, libiconv, ruby -, tzdata, git +, tzdata, git, nodejs, procps }: let - gitlab = fetchgit { - url = "https://github.com/gitlabhq/gitlabhq.git"; - rev = "477743a154e85c411e8a533980abce460b5669fc"; - fetchSubmodules = false; - sha256 = "1gk77j886w6zvw5cawpgja6f87qirmjx7y4g5i3psxm4j67llxdp"; - }; - env = bundlerEnv { name = "gitlab"; inherit ruby; @@ -28,18 +21,18 @@ in stdenv.mkDerivation rec { name = "gitlab-${version}"; - version = "7.4.2"; - buildInputs = [ ruby bundler tzdata git ]; - unpackPhase = '' - runHook preUnpack - cp -r ${gitlab}/* . - chmod -R +w . - cp ${./Gemfile} Gemfile - cp ${./Gemfile.lock} Gemfile.lock - runHook postUnpack - ''; + version = "8.0.5"; + buildInputs = [ ruby bundler tzdata git nodejs procps ]; + src = fetchgit { + url = "https://github.com/gitlabhq/gitlabhq.git"; + rev = "2866c501b5a5abb69d101cc07261a1d684b4bd4c"; + fetchSubmodules = false; + sha256 = "edc6bedd5e79940189355d8cb343d20b0781b69fcef56ccae5906fa5e81ed521"; + }; + patches = [ ./remove-hardcoded-locations.patch + ./disable-dump-schema-after-migration.patch ]; postPatch = '' # For reasons I don't understand "bundle exec" ignores the @@ -49,6 +42,10 @@ stdenv.mkDerivation rec { rm lib/tasks/test.rake mv config/gitlab.yml.example config/gitlab.yml + rm config/initializers/gitlab_shell_secret_token.rb + + substituteInPlace app/controllers/admin/background_jobs_controller.rb \ + --replace "ps -U" "${procps}/bin/ps -U" # required for some gems: cat > config/database.yml < + email_display_name: GitLab + email_reply_to: noreply@example.com - # Email server smtp settings are in [a separate file](initializers/smtp_settings.rb.sample). - -@@ -230,12 +230,12 @@ production: &base +@@ -298,12 +298,12 @@ production: &base # GitLab Satellites satellites: # Relative paths are relative to Rails.root (default: tmp/repo_satellites/) @@ -58,10 +62,10 @@ index e7a8d08..834ecaf 100644 backup: - path: "tmp/backups" # Relative paths are relative to Rails.root (default: tmp/backups/) + path: <%= ENV['GITLAB_BACKUP_PATH'] %> + # archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600) # keep_time: 604800 # default: 0 (forever) (in seconds) - # upload: - # # Fog storage connection settings, see http://fog.io/storage/ . -@@ -249,11 +249,11 @@ production: &base + # pg_schema: public # default: nil, it means that all schemas will be backed up +@@ -322,15 +322,15 @@ production: &base ## GitLab Shell settings gitlab_shell: @@ -74,9 +78,14 @@ index e7a8d08..834ecaf 100644 + repos_path: <%= ENV['GITLAB_REPOSITORIES_PATH'] %> + hooks_path: <%= ENV['GITLAB_SHELL_HOOKS_PATH'] %> + # File that contains the secret key for verifying access for gitlab-shell. + # Default is '.gitlab_shell_secret' relative to Rails.root (i.e. root of the GitLab app). +- # secret_file: /home/git/gitlab/.gitlab_shell_secret ++ secret_file: <%= ENV['GITLAB_SHELL_SECRET_PATH'] %> + # Git over HTTP upload_pack: true -@@ -266,7 +266,7 @@ production: &base +@@ -343,7 +343,7 @@ production: &base # CAUTION! # Use the default values unless you really know what you are doing git: @@ -85,7 +94,7 @@ index e7a8d08..834ecaf 100644 # The next value is the maximum memory size grit can use # Given in number of bytes per git object (e.g. a commit) # This value can be increased if you have very large commits -@@ -299,7 +299,7 @@ test: +@@ -388,7 +388,7 @@ test: gravatar: enabled: true gitlab: @@ -95,14 +104,14 @@ index e7a8d08..834ecaf 100644 # When you run tests we clone and setup gitlab-shell diff --git a/lib/gitlab/app_logger.rb b/lib/gitlab/app_logger.rb -index 8e4717b..abfe2e4 100644 +index dddcb25..d61f10a 100644 --- a/lib/gitlab/app_logger.rb +++ b/lib/gitlab/app_logger.rb @@ -1,7 +1,7 @@ module Gitlab class AppLogger < Gitlab::Logger - def self.file_name -- 'application.log' + def self.file_name_noext +- 'application' + ENV["GITLAB_APPLICATION_LOG_PATH"] end diff --git a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix index 3ae74057a54f..36925bcdf558 100644 --- a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix +++ b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix @@ -17,7 +17,7 @@ # This seperates "what to build" (the exact gem versions) from "how to build" # (to make gems behave if necessary). -{ lib, fetchurl, writeScript, ruby, libxml2, libxslt, python, stdenv, which +{ lib, fetchurl, writeScript, ruby, kerberos, libxml2, libxslt, python, stdenv, which , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick , pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi , cmake, libssh2, openssl, mysql, darwin @@ -105,6 +105,10 @@ in ''; }; + timfel-krb5-auth = attrs: { + buildInputs = [ kerberos ]; + }; + therubyracer = attrs: { buildFlags = [ "--with-v8-dir=${v8}" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ea857da8894..ac40fffbe53e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1594,13 +1594,15 @@ let gitinspector = callPackage ../applications/version-management/gitinspector { }; gitlab = callPackage ../applications/version-management/gitlab { - ruby = ruby_2_1_3; + ruby = ruby_2_2_2; }; gitlab-shell = callPackage ../applications/version-management/gitlab-shell { - ruby = ruby_2_1_3; + ruby = ruby_2_2_2; }; + gitlab-git-http-server = callPackage ../applications/version-management/gitlab-git-http-server { }; + glusterfs = callPackage ../tools/filesystems/glusterfs { }; glmark2 = callPackage ../tools/graphics/glmark2 { };