From Fedora Project Wiki
This document outlines the steps to get Gitorious into Fedora and EPEL.
High Level Steps and Issues
- Get all Gitorious' dependencies into Fedora.
- Several Rubygems.
- mod_passenger. RHBZ#470696
- Get Gitorious into Fedora.
- Bundled libraries: Gitorious bundles several things, including Rails. Upstream bug for Rails
- Bundler issues: If we use different Gem versions than upstream, Bundler wants to write to Gemfile and Gemfile.lock. We must patch Gemfile
- Init scripts: Create equivalent systemd unit files for Fedora & RHEL 7.
- Ruby version: Upstream master works with Ruby 1.8; verify Ruby 1.9.x compatability.
- Gem versions: Upstream uses different Gem versions than Fedora has. The biggest difference is Rails, but others are documented below. Plan of attack is to ensure that the test suite passes with both.
- LDAP library: Upstream still uses ruby-net-ldap. This package has been obsoleted in Fedora by net-ldap. I don't know how much porting work this would involve.
EPEL
- Get all Gitorious's dependencies into EPEL.
- Rails. I don't have experience packaging Rails, and there's been questions about which version to put into EPEL.
- Various Rubygems must be branched for EPEL.
- mod_passenger. See "Fedora" above.
- Get Gitorious into EPEL.
- Ruby 1.8 may make things easier, since this is what upstream uses.
- EPEL has RSpec 1, but some gems (eg riddle) require RSpec 2.
Dependencies
- - The package is missing
- - The package is present and versions differ from upstream
- - The package is present and versions match upstream
(FYI, the ordering in this table matches upstream's Gemfile.)
Gem | Upstream Gemfile | Fedora 17 | EPEL 6 |
---|---|---|---|
chronic | 0.3.0 | ||
geoip | 0.8.9 | ||
daemons | 1.1.0 | ||
hoe | 2.8.0 | ||
echoe | 4.3.1 | ||
gemcutter | Dep for echoe | ||
ruby-yadis | 0.3.4 | ||
ruby-openid | 2.1.8 | ||
rdiscount | 1.3.1.1 | ||
mime-types | 1.16 | ||
diff-lcs | 1.1.2 | ||
oauth | 0.4.4 | ||
paperclip | 2.4.5 | ||
activesupport | Dep for paperclip (2.3.8) | ||
activerecord | Dep for paperclip (2.3.8) | ||
cocaine | Dep for paperclip | ||
state_machine | 0.9.4 | ||
rack | 1.0.1 | ||
riddle | 1.2.2 | ||
yard | Dep for riddle | ||
rspec-core | Dep for yard | ||
rspec-expectations | Dep for rspec-core | ||
rspec-mocks | Dep for rspec-core | ||
builder | 3.0.0 | ||
mysql | 2.8.1 | ||
validates_url_format_of | 0.1.1 | ||
acts-as-taggable-on | 2.0.6 | ||
will_paginate | 2.3.15 | ||
hodel_3000_compliant_logger | 0.1.0 | ||
ruby-net-ldap | 0.0.4 | ||
capillary | 1.0.0 | ||
nokogiri | 1.5.0 | ||
exception_notification | 1.0.20090728 | ||
rubygem-revo-ssl_requirement | 1.1.0 | ||
rubygem-ruby-hmac | 0.4.0 | ||
foreman* | 0.41.0 | ||
stompserver* | 0.9 | ||
thin* | 1.2 | ||
proxymachine* | 1.2 | ||
rake* | 0.8.7 | ||
json | 1.5.4 | ||
resque | 1.9.8 | ||
SystemTimer | 1.2.3 | ||
stomp | 1.1 | ||
activemessaging | 0.7.1 | (gone from rails?) |
Other deps, not explicitly listed in Gemfile
Gem | Upstream Gemfile | Fedora 17 | EPEL 6 |
---|---|---|---|
ffi | 1.0.9 | ||
childprocess | 0.2.1 | ||
json_pure | 1.5.0 | ||
rubyzip | 0.9.4 | ||
selenium-webdriver | 2.4.0 | ||
xpath | 0.1.4 | ||
capybara | 1.0.1 | ||
rack-test | Dep for capybara (0.6.1) | ||
rubyforge | 2.0.4 | ||
eventmachine | 0.12.10 | ||
factory_girl | 1.3.3 | ||
thor | 0.14.6 | ||
launchy | 2.0.5 | ||
addressable | Dep for launchy (2.2.6) | ||
mocha | 0.9.10 | ||
proxymachine | 1.2.4 | ||
redis | 2.2.0 | ||
redis-namespace | 0.7.0 | ||
sinatra | 1.0 |