[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Regarding gitlab



On Mon, Jan 21, 2013 at 12:35:31AM +0100, Cédric Boutillier wrote:
> Hi,
> 
> On Sun, Jan 20, 2013 at 11:26:44PM +0100, Daniel Martí wrote:
> > On Sun, Jan 20, 2013 at 10:59:02PM +0100, Per Andersson wrote:
> 
> > > I have attached the script and it's output. Maybe someone more
> > > knowledgable in Ruby and Gemfile land can take a peek at it?
> 
> > Thank you, it seems to run just fine!
> 
> To complete the picture, I add a link to a graph [0] showing
> dependencies scrapped from rubygems.org, using a poor homemade
> script [1] I wrote for diaspora, and quickly adapted to gitlab.
> I started from _all_ gems listed in the Gemfile, though.
> 
>   0: http://people.debian.org/~boutil/gitlab/gitlab_deps20130120.pdf
>   1: https://gitorious.org/debian-diaspora/gemdeps
> 
> green is in Debian
> yellow is waiting in NEW
> orange is ITP
> purple is RFP

That seems intimidating! :-/

I tried to mark which dependencies in the Gemfile should not be
strictly required (mainly development tools) to try achieving a more
tractable dependency graph.

I tried to re-generate the graph myself but failed miserably. Cédric,
could you give a hand with this?

Attached you will find an annotated version of gitlab Gemfile, where the
lines marked with @debian indicate dependencies that should not be
needed for a Debian package (Gemfile.debian); and a "clean" Gemfile
resulting from `grep -v debian Gemfile.debian` (Gemfile), that could be
a base for a reduced dependency graph.

-- 
Antonio Terceiro <terceiro@debian.org>
source "http://rubygems.org";

def darwin_only(require_as)
  RUBY_PLATFORM.include?('darwin') && require_as
end

def linux_only(require_as)
  RUBY_PLATFORM.include?('linux') && require_as
end

gem "rails", "3.2.11"

# Supported DBs
gem "mysql2", group: :mysql
gem "pg", group: :postgres

# Auth
gem "devise", "~> 2.1.0"
gem 'omniauth', "~> 1.1.1"
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'

# GITLAB patched libs
gem "grit",          git: "https://github.com/gitlabhq/grit.git";,           ref: '7f35cb98ff17d534a07e3ce6ec3d580f67402837'
gem 'grack',         git: "https://github.com/gitlabhq/grack.git";,          ref: 'ba46f3b0845c6a09d488ae6abdce6ede37e227e8'
gem 'grit_ext',      git: "https://github.com/gitlabhq/grit_ext.git";,       ref: '8e6afc2da821354774aa4d1ee8a1aa2082f84a3e'

# LDAP Auth
gem 'gitlab_omniauth-ldap', '1.0.2', require: "omniauth-ldap"

# Dump db to yml file. Mostly used to migrate from sqlite to mysql
gem 'gitlab_yaml_db', '1.0.0', require: "yaml_db" # @debian maybe not needed

# Gitolite client (for work with gitolite-admin repo)
gem "gitolite", '1.1.0'

# Syntax highlighter
gem "pygments.rb",  git: "https://github.com/gitlabhq/pygments.rb.git";, branch: "master"

# Language detection
gem "github-linguist", "~> 2.3.4" , require: "linguist"

# API
gem "grape", "~> 0.2.1"

# Format dates and times
# based on human-friendly examples
gem "stamp"

# Pagination
gem "kaminari", "~> 0.14.1"

# HAML
gem "haml-rails", "~> 0.3.5"

# Files attachments
gem "carrierwave", "~> 0.7.1"

# Authorization
gem "six"

# Generate Fake data
gem "ffaker"

# Seed data
gem "seed-fu"

# Markdown to HTML
gem "redcarpet",     "~> 2.2.2"
gem "github-markup", "~> 0.7.4", require: 'github/markup'

# Servers
gem "unicorn", "~> 4.4.0"

# Issue tags
gem "acts-as-taggable-on", "2.3.3"

# Decorators
gem "draper", "~> 0.18.0"

# Background jobs
gem 'slim'
gem 'sinatra', :require => nil
gem 'sidekiq', '2.6.4'

# HTTP requests
gem "httparty"

# Colored output to console
gem "colored" # @debian probably not stricly required

# GitLab settings
gem 'settingslogic'

# Misc
gem "foreman"
gem "git"

group :assets do
  gem "sass-rails",   "~> 3.2.5"
  gem "coffee-rails", "~> 3.2.2"
  gem "uglifier",     "~> 1.3.0"

  gem "therubyracer" # @debian maybe not needed - ruby-execjs should work with nodejs

  gem 'chosen-rails',     "0.9.8"
  gem 'jquery-atwho-rails', "0.1.7"
  gem "jquery-rails",     "2.1.3"
  gem "jquery-ui-rails",  "2.0.2"
  gem "modernizr",        "2.6.2"
  gem "raphael-rails",    git: "https://github.com/gitlabhq/raphael-rails.git";
  gem 'bootstrap-sass',   "2.2.1.1"
  gem "font-awesome-sass-rails", "~> 3.0.0"
  gem "gemoji", "~> 1.2.1", require: 'emoji/railtie'
end


group :development do
  gem "annotate", git: "https://github.com/ctran/annotate_models.git"; # @debian probably not needed
  gem "letter_opener" # @debian probably not needed
  gem 'quiet_assets', '~> 1.0.1' # @debian probably not needed
  gem 'rack-mini-profiler' # @debian probably not needed
  # Better errors handler
  gem 'better_errors' # @debian probably not needed
  gem 'binding_of_caller' # @debian probably not needed

  gem 'rails_best_practices' # @debian probably not needed

  # Docs generator
  gem "sdoc" # @debian probably not needed

  # thin instead webrick
  gem 'thin' # @debian probably not needed
end

group :development, :test do
  gem 'rails-dev-tweaks' # @debian probably not needed
  gem 'spinach-rails'
  gem "rspec-rails"
  gem "capybara"
  gem "pry" # @debian should not be not needed
  gem "awesome_print" # @debian should not be not needed
  gem "database_cleaner", ref: "f89c34300e114be99532f14c115b2799a3380ac6", git: "https://github.com/bmabey/database_cleaner.git";
  gem "launchy"
  gem 'factory_girl_rails'

  # Guard
  gem 'guard-rspec' # @debian not needed
  gem 'guard-spinach' # @debian not needed

  # Notification
  gem 'rb-fsevent', require: darwin_only('rb-fsevent') # @debian not needed
  gem 'growl',      require: darwin_only('growl') # @debian not needed
  gem 'rb-inotify', require: linux_only('rb-inotify') # @debian not needed

  # PhantomJS driver for Capybara
  gem 'poltergeist', git: 'https://github.com/jonleighton/poltergeist.git', ref: '5c2e092001074a8cf09f332d3714e9ba150bc8ca'
end

group :test do
  gem "simplecov", require: false # @debian not needed
  gem "shoulda-matchers", "1.3.0"
  gem 'email_spec'
  gem "webmock"
  gem 'test_after_commit' # @debian probably not needed
end

group :production do
  gem "gitlab_meta", '4.0'
end
source "http://rubygems.org";

def darwin_only(require_as)
  RUBY_PLATFORM.include?('darwin') && require_as
end

def linux_only(require_as)
  RUBY_PLATFORM.include?('linux') && require_as
end

gem "rails", "3.2.11"

# Supported DBs
gem "mysql2", group: :mysql
gem "pg", group: :postgres

# Auth
gem "devise", "~> 2.1.0"
gem 'omniauth', "~> 1.1.1"
gem 'omniauth-google-oauth2'
gem 'omniauth-twitter'
gem 'omniauth-github'

# GITLAB patched libs
gem "grit",          git: "https://github.com/gitlabhq/grit.git";,           ref: '7f35cb98ff17d534a07e3ce6ec3d580f67402837'
gem 'grack',         git: "https://github.com/gitlabhq/grack.git";,          ref: 'ba46f3b0845c6a09d488ae6abdce6ede37e227e8'
gem 'grit_ext',      git: "https://github.com/gitlabhq/grit_ext.git";,       ref: '8e6afc2da821354774aa4d1ee8a1aa2082f84a3e'

# LDAP Auth
gem 'gitlab_omniauth-ldap', '1.0.2', require: "omniauth-ldap"

# Dump db to yml file. Mostly used to migrate from sqlite to mysql

# Gitolite client (for work with gitolite-admin repo)
gem "gitolite", '1.1.0'

# Syntax highlighter
gem "pygments.rb",  git: "https://github.com/gitlabhq/pygments.rb.git";, branch: "master"

# Language detection
gem "github-linguist", "~> 2.3.4" , require: "linguist"

# API
gem "grape", "~> 0.2.1"

# Format dates and times
# based on human-friendly examples
gem "stamp"

# Pagination
gem "kaminari", "~> 0.14.1"

# HAML
gem "haml-rails", "~> 0.3.5"

# Files attachments
gem "carrierwave", "~> 0.7.1"

# Authorization
gem "six"

# Generate Fake data
gem "ffaker"

# Seed data
gem "seed-fu"

# Markdown to HTML
gem "redcarpet",     "~> 2.2.2"
gem "github-markup", "~> 0.7.4", require: 'github/markup'

# Servers
gem "unicorn", "~> 4.4.0"

# Issue tags
gem "acts-as-taggable-on", "2.3.3"

# Decorators
gem "draper", "~> 0.18.0"

# Background jobs
gem 'slim'
gem 'sinatra', :require => nil
gem 'sidekiq', '2.6.4'

# HTTP requests
gem "httparty"

# Colored output to console

# GitLab settings
gem 'settingslogic'

# Misc
gem "foreman"
gem "git"

group :assets do
  gem "sass-rails",   "~> 3.2.5"
  gem "coffee-rails", "~> 3.2.2"
  gem "uglifier",     "~> 1.3.0"


  gem 'chosen-rails',     "0.9.8"
  gem 'jquery-atwho-rails', "0.1.7"
  gem "jquery-rails",     "2.1.3"
  gem "jquery-ui-rails",  "2.0.2"
  gem "modernizr",        "2.6.2"
  gem "raphael-rails",    git: "https://github.com/gitlabhq/raphael-rails.git";
  gem 'bootstrap-sass',   "2.2.1.1"
  gem "font-awesome-sass-rails", "~> 3.0.0"
  gem "gemoji", "~> 1.2.1", require: 'emoji/railtie'
end


group :development do
  # Better errors handler


  # Docs generator

  # thin instead webrick
end

group :development, :test do
  gem 'spinach-rails'
  gem "rspec-rails"
  gem "capybara"
  gem "database_cleaner", ref: "f89c34300e114be99532f14c115b2799a3380ac6", git: "https://github.com/bmabey/database_cleaner.git";
  gem "launchy"
  gem 'factory_girl_rails'

  # Guard

  # Notification

  # PhantomJS driver for Capybara
  gem 'poltergeist', git: 'https://github.com/jonleighton/poltergeist.git', ref: '5c2e092001074a8cf09f332d3714e9ba150bc8ca'
end

group :test do
  gem "shoulda-matchers", "1.3.0"
  gem 'email_spec'
  gem "webmock"
end

group :production do
  gem "gitlab_meta", '4.0'
end

Attachment: signature.asc
Description: Digital signature


Reply to: