From Fedora Project Wiki
(→Gitorious Web Application: mark riddle as "in progress". Remove notes about rake and rspec, because 1) we don't use rake, and 2) the rspec tests are not vital) |
(→Gitorious Web Application: v_u_f_o "in progress") |
||
Line 95: | Line 95: | ||
| mysql || 2.8.1 || {{result|warn}} 2.8.2? || {{result|warn}} 2.8.2? | | mysql || 2.8.1 || {{result|warn}} 2.8.2? || {{result|warn}} 2.8.2? | ||
|- | |- | ||
| validates_url_format_of || 0.1.1 || {{result| | | validates_url_format_of || 0.1.1 || {{result|inprogress}} 0.3.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-validates_url_format_of.git git] || {{result|fail}} | ||
|- | |- | ||
| acts-as-taggable-on || 2.0.6 || {{result|fail}} || {{result|fail}} | | acts-as-taggable-on || 2.0.6 || {{result|fail}} || {{result|fail}} |
Revision as of 20:16, 4 August 2012
This document outlines the steps to get Gitorious into Fedora and EPEL.
High Level Steps and Issues
Fedora
- 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 upstream's Gemfile/Gemfile.lock to make this work.
- 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.
- Javascript libs: There are a couple Git submodules in upstream (buster-core, capillary-js, raphael, spin.js). We should find a way to unbundle these and package them separately.
- FHS considerations: for the Gitorious web application itself, we need to discover how to split up the package to fit the FHS conventions of /etc/, /usr/, and so on.
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 not in Fedora/EPEL
- - The package spec is written, but not yet accepted into Fedora/EPEL
- - The package is present in Fedora/EPEL and versions differ from upstream
- - The package is present in Fedora/EPEL and versions match upstream
(FYI, the ordering in these tables matches upstream's Gemfile.)
Gitorious Web Application
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 | ||
rubyforge | Dep for echoe (2.0.4) | ||
json_pure | 1.5.0 | ||
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 | ||
bourne | Dep for cocaine | ||
state_machine | 0.9.4 | ||
rack | 1.0.1 | ||
riddle | 1.2.2 | ||
mysql2 | Dep for riddle | ||
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.1 | ||
nokogiri | 1.5.0 | ||
exception_notification | 1.0.20090728 | ||
revo-ssl_requirement | 1.1.0 | ||
ruby-hmac | 0.4.0 | ||
json | 1.5.4 |
Test suite dependencies
Gem | Upstream Gemfile | Fedora 17 | EPEL 6 |
---|---|---|---|
mocha | 0.9.10 | ||
factory_girl | 1.3.3 | ||
shoulda | 2.9.1 | ||
tuxml | 0.0.1 | ||
rots | git clone (!) | ||
capybara | 1.0.1 | ||
rack-test | Dep for capybara (0.6.1) | ||
selenium-webdriver | Dep for capybara (2.4.0) | ||
childprocess | Dep for selenium-webdriver (0.2.1) | ||
ffi | Dep for selenium-webdriver (1.0.9) | ||
multi_json | Dep for selenium-webdriver (1.0.4) | ||
rubyzip | Dep for selenium-webdriver (0.9.4) | ||
xpath | Dep for capybara (0.1.4) | ||
launchy | 2.0.5 | ||
addressable | Dep for launchy (2.2.6) |
Possibly optional dependencies
Gem | Upstream Gemfile | Fedora 17 | EPEL 6 |
---|---|---|---|
foreman (for dev) | 0.41.0 | ||
thor (for dev) | Dep for foreman (0.14.6) | ||
stompserver (for dev) | 0.9 | ||
thin (for dev) | 1.2 | ||
proxymachine (for dev, and git proxy) | 1.2.4 | ||
eventmachine | Dep for proxymachine (0.12.10) | ||
rake (for git proxy) | 0.8.7 | ||
resque (for resque) | 1.9.8 | ||
redis (for resque) | 2.2.0 | ||
redis-namespace (for resque) | 0.7.0 | ||
sinatra | 1.0 | ||
vegas (for resque) | 0.1.11 | ||
SystemTimer (for resque) | 1.2.3 | ||
stomp (for stomp) | 1.1 | ||
activemessaging (for active messaging) | 0.7.1 | (gone from rails?) |