From Fedora Project Wiki
(→Gitorious Web Application Gems: bump rails to 2.3.17) |
(→Dependencies: move resque to its own section) |
||
(48 intermediate revisions by 2 users not shown) | |||
Line 11: | Line 11: | ||
#* 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. | #* 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 (bane, capillary-js, raphael, spin.js). We must unbundle these and [[JavaScript libraries packaging guideline draft|package them]] separately. | #* Javascript libs: There are a couple Git submodules in upstream (bane, capillary-js, raphael, spin.js). We must unbundle these and [[JavaScript libraries packaging guideline draft|package them]] separately. | ||
#* GeoIP data: Gitorious bundles GeoIP.dat, which is already available in Fedora as the "GeoIP" package. | |||
#* 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. | #* 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. | ||
Line 19: | Line 20: | ||
# Get Gitorious into EPEL. | # Get Gitorious into EPEL. | ||
#* Ruby 1.8 may make things easier, since this is what upstream currently uses (although this will change, eventually). | #* Ruby 1.8 may make things easier, since this is what upstream currently uses (although this will change, eventually). | ||
#* EPEL | #* riddle doesn't like the version of RSpec in EPEL 6. | ||
#* bundler is not in EPEL 6, so we may end up patching out bundler support. | |||
== Dependencies == | == Dependencies == | ||
Line 33: | Line 35: | ||
=== Gitorious Web Application Gems === | === Gitorious Web Application Gems === | ||
{|border="2" cellpadding="2" cellspacing="0" | {|border="2" cellpadding="2" cellspacing="0" | ||
! Gem !! Upstream Gemfile !! Fedora | ! Gem !! Upstream Gemfile !! Fedora !! EPEL 6 | ||
|- | |- | ||
| rails || 2.3. | | rails || 2.3.17 || {{result|warn}} 3.0/3.2 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-rails.git git] | ||
|- | |||
| activeresource || 2.3.17 || {{result|warn}} 3.0/3.2 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activeresource.git git] | |||
|- | |||
| actionmailer || 2.3.17 || {{result|warn}} 3.0/3.2 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-actionmailer.git git] | |||
|- | |- | ||
| chronic || 0.3.0<ref name="GoneInRails3">Gone in Gitorious's upstream/feature/rails3 branch</ref> || {{result|warn}} 0.6.6 || {{result|inprogress}} 0.3.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-chronic.git git] | | chronic || 0.3.0<ref name="GoneInRails3">Gone in Gitorious's upstream/feature/rails3 branch</ref> || {{result|warn}} 0.6.6 || {{result|inprogress}} 0.3.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-chronic.git git] | ||
|- | |- | ||
| geoip || 0.8.9 | | geoip || 0.8.9 || {{result|inprogress}} 1.2.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-geoip.git git] || {{result|inprogress}} 1.2.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-geoip.git git] | ||
|- | |- | ||
| daemons || 1.1.0 || {{result|warn}} 1.0.10<ref>RFE filed at https://bugzilla.redhat.com/906159</ref> || {{result|inprogress}} 1.1.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-daemons.git git] | | daemons || 1.1.0 || {{result|warn}} 1.0.10<ref>RFE filed at https://bugzilla.redhat.com/906159</ref> || {{result|inprogress}} 1.1.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-daemons.git git] | ||
Line 65: | Line 71: | ||
| actionpack || Buildreq for oauth || {{result|warn}} 3.2 || {{result|inprogress}} 2.3.17 [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-actionpack.git git] | | actionpack || Buildreq for oauth || {{result|warn}} 3.2 || {{result|inprogress}} 2.3.17 [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-actionpack.git git] | ||
|- | |- | ||
| paperclip || 2.7.4 || {{result|inprogress}} 3.1.4, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-paperclip.git git] || {{result| | | paperclip || 2.7.4 || {{result|inprogress}} 3.1.4, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-paperclip.git git] || {{result|inprogress}} 2.7.4, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-paperclip.git git] | ||
|- | |- | ||
| activesupport || Dep for paperclip (2.3.17) || {{result|warn}} 3.2.11 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activesupport.git git] | | activesupport || Dep for paperclip (2.3.17) || {{result|warn}} 3.2.11 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activesupport.git git] | ||
Line 71: | Line 77: | ||
| activerecord || Dep for paperclip (2.3.17) || {{result|warn}} 3.2.11 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activerecord.git git] | | activerecord || Dep for paperclip (2.3.17) || {{result|warn}} 3.2.11 in F18 || {{result|inprogress}} 2.3.17, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activerecord.git git] | ||
|- | |- | ||
| cocaine || Dep for paperclip || {{result|inprogress}} 0.2.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-cocaine.git git] || {{result| | | cocaine || Dep for paperclip || {{result|inprogress}} 0.2.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-cocaine.git git] || {{result|inprogress}} 0.3.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-cocaine.git git] | ||
|- | |- | ||
| bourne || Dep for cocaine || {{result|inprogress}} 1.1.2, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-bourne.git git] || {{result| | | bourne || Dep for cocaine || {{result|inprogress}} 1.1.2, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-bourne.git git] || {{result|inprogress}} 1.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-bourne.git git] | ||
|- | |- | ||
| state_machine || 0.9.4 || {{result|warn}} 1.1.2 || {{result|warn}} 1.1.2 | | state_machine || 0.9.4 || {{result|warn}} 1.1.2 || {{result|warn}} 1.1.2 | ||
Line 79: | Line 85: | ||
| rack || 1.0.1 || {{result|warn}} 1.4.0 || {{result|warn}} 1.1.0 | | rack || 1.0.1 || {{result|warn}} 1.4.0 || {{result|warn}} 1.1.0 | ||
|- | |- | ||
| | | thinking-sphinx || 1.4.13 || {{result|inprogress}} 1.4.13, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-thinking-sphinx.git git] || {{result|inprogress}} 1.4.13, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-thinking-sphinx.git git] | ||
|- | |||
| after_commit || Dep for thinking-sphinx || {{result|inprogress}} 1.5.3, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-after_commit.git git] || {{result|inprogress}} 1.5.3, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-after_commit.git git] | |||
|- | |- | ||
| mysql2 | | activerecord-mysql2-adapter || BuildReq for thinking-sphinx || {{result|inprogress}} 1.0.10 [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activerecord-mysql2-adapter.git git] || {{result|inprogress}} 1.0.10 [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-activerecord-mysql2-adapter.git git] | ||
|- | |- | ||
| | | riddle || Dep for thinking-sphinx (1.5.3) || {{result|inprogress}} 1.5.3, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-riddle.git git] || {{result|inprogress}} 1.5.3, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-riddle.git git] | ||
|- | |- | ||
| | | mysql2 || Dep for riddle || {{result|inprogress}} 0.3.11, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-mysql2.git git] || {{result|inprogress}} 0.3.11, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-mysql2.git git] | ||
|- | |- | ||
| | | yard || Dep for riddle || {{result|pass}} 0.8.2.1 in F19 || {{result|inprogress}} 0.8.2.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-yard.git git] | ||
|- | |- | ||
| rspec- | | rspec-core || Dep for yard || {{result|pass}} || {{result|pass}} | ||
|- | |- | ||
| builder || 3.0.0 || {{result|warn}} | | rspec-expectations || Dep for rspec-core || {{result|pass}} || {{result|pass}} | ||
|- | |||
| rspec-mocks || Dep for rspec-core || {{result|pass}} || {{result|pass}} | |||
|- | |||
| builder || 3.0.0 || {{result|warn}} 3.1.4 in F19 || {{result|inprogress}} 3.0.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-builder.git git] <ref>Request for EPEL 6 branch: https://bugzilla.redhat.com/723145</ref> | |||
|- | |- | ||
| 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|inprogress}} 0.3.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-validates_url_format_of.git git] || {{result|fail}} | | 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|inprogress}} 0.1.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-validates_url_format_of.git git] | ||
|- | |||
| acts-as-taggable-on || 2.0.6 || {{result|inprogress}} 2.3.3, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-acts-as-taggable-on.git git] || {{result|inprogress}} 2.0.6, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-acts-as-taggable-on.git git] | |||
|- | |||
| will_paginate || 2.3.15 || {{result|warn}} 3.0.2 || {{result|inprogress}} 2.3.15, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-will_paginate.git git] | |||
|- | |||
| just_paginate || 0.0.6 || {{result|fail}} || {{result|inprogress}} 0.0.6, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-just_paginate.git git] | |||
|- | |||
| shoulda-context || BR for just_paginate || {{result|fail}} || {{result|inprogress}} 1.0.2, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-shoulda-context.git git] | |||
|- | |||
| hodel_3000_compliant_logger || 0.1.0, gone in rails3 || {{result|inprogress}} 0.1.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-hodel_3000_compliant_logger.git git] || {{result|inprogress}} 0.1.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-hodel_3000_compliant_logger.git git] | |||
|- | |||
| net-ldap || 0.3.1 || {{result|pass}} 0.3.1 in F18 || {{result|inprogress}} 0.3.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-net-ldap.git git] | |||
|- | |||
| capillary || 1.0.2 || {{result|inprogress}} 1.0.2, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-capillary.git git] || {{result|inprogress}} 1.0.2, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-capillary.git git] | |||
|- | |||
| mini_shoulda || BR for capillary || {{result|inprogress}} 0.5.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-mini_shoulda.git git] || N/A<ref>EPEL 6's minitest 1.6.0 is too old for mini_shoulda, so we cannot run the test suite for mini_shoulda (and by extension, capillary).</ref> | |||
|- | |- | ||
| | | nokogiri || 1.5.0 || {{result|warn}} 1.5.5 || {{result|warn}} 1.4.3.1, <br /> 1.5.0 in [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-nokogiri.git git] | ||
|- | |- | ||
| | | unicorn || 4.3.1 || {{result|fail}}<ref>Unicorn package review request at https://bugzilla.redhat.com/786636</ref> || {{result|inprogress}} 4.3.1 in [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-unicorn.git git] | ||
|- | |- | ||
| | | kgio || Dep for unicorn (2.7.4) || {{result|warn}} 2.8.0 || {{result|warn}} 2.8.0 in epel-testing,<br /> 2.7.4 in [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-kgio.git git] | ||
|- | |- | ||
| | | raindrops || Dep for unicorn (0.10.0) || {{result|pass}} 0.10.0 || {{result|warn}} 0.10.0 in epel-testing | ||
|- | |- | ||
| | | exception_notification || 1.0.20090728 || {{result|inprogress}} 2.6.1, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-exception_notification.git git] || {{result|inprogress}} 1.0.20090728, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-exception_notification.git git] | ||
|- | |- | ||
| | | revo-ssl_requirement || 1.1.0 || {{result|warn}}unneeded?<ref name="ssl_requirement">[http://stackoverflow.com/questions/3634100/rails-3-ssl-deprecation SSL requirement is built into Rails 3]</ref> || {{result|inprogress}} 1.1.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-revo-ssl_requirement.git git] | ||
|- | |- | ||
| | | ruby-hmac || 0.4.0 || {{result|warn}} unneeded<ref>https://groups.google.com/d/topic/gitorious/yNDA9ipKe8I/discussion</ref> || {{result|inprogress}} 0.4.0 in [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-ruby-hmac.git git] | ||
|- | |- | ||
| | | json || 1.7.7 || {{result|warn}} 1.7.5 || {{result|warn}} 1.4.6, <br /> 1.7.7 in [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-json.git git] | ||
|} | |||
=== Queue Manager Gem dependencies === | |||
{|border="2" cellpadding="2" cellspacing="0" | |||
! Gem !! Upstream Gemfile !! Fedora !! EPEL 6 | |||
|- | |- | ||
| | | resque || 1.9.8 || {{result|fail}} || {{result|fail}} | ||
|- | |- | ||
| | | redis || 2.2.2 || {{result|fail}} || {{result|fail}} | ||
|- | |- | ||
| | | redis-namespace || 0.7.0 || {{result|fail}} || {{result|fail}} | ||
|- | |||
| sinatra || Dep for resque 1.2.8 || {{result|warn}} 1.3.2 in F19 || {{result|warn}} 1.0 | |||
|- | |||
| vegas || Dep for resque 0.1.11 || {{result|fail}} || {{result|fail}} | |||
|- | |||
| SystemTimer || Dep for resque 1.2.3 || {{result|warn}}(gone from Ruby<ref name="SystemTimer">does not build on Fedora 17</ref>) || {{result|fail}} | |||
|} | |} | ||
Line 123: | Line 163: | ||
{|border="2" cellpadding="2" cellspacing="0" | {|border="2" cellpadding="2" cellspacing="0" | ||
! Gem !! Upstream Gemfile !! Fedora | ! Gem !! Upstream Gemfile !! Fedora !! EPEL 6 | ||
|- | |- | ||
| mocha || 0.9.10 || {{result|warn}} 0.11.0 || {{result|warn}} 0.9.8 | | mocha || 0.9.10 || {{result|warn}} 0.11.0 || {{result|warn}} 0.9.8 | ||
|- | |- | ||
| factory_girl || 1.3.3 || {{result|warn}} 2.3.2 || {{result| | | factory_girl || 1.3.3, 2.6.4 in rails3 || {{result|warn}} 2.3.2 || {{result|inprogress}} 1.3.3, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-factory_girl.git git] | ||
|- | |- | ||
| shoulda || 2.9.2 || {{result|warn}} 2.11.3 || {{result|warn}} 2.11.3 | | shoulda || 2.9.2, 3.3.2 in rails3 || {{result|warn}} 2.11.3 || {{result|warn}} 2.11.3 | ||
|- | |- | ||
| tuxml || 0.0.1 || {{result|pass}}unneeded<ref>tuxml is apparently only needed for automated builds inside Hudson. In F17, Gitorious tests crash with "uninitialized constant Test::Unit::AutoRunner::RUNNERS", which comes from tuxml. Remove it and the tests succeed.</ref> || {{result|pass}} | | tuxml || 0.0.1, gone in rails3 || {{result|pass}}unneeded<ref>tuxml is apparently only needed for automated builds inside Hudson. In F17, Gitorious tests crash with "uninitialized constant Test::Unit::AutoRunner::RUNNERS", which comes from tuxml. Remove it and the tests succeed.</ref> || {{result|pass}} | ||
|- | |- | ||
| rots || git clone ( | | rots || git clone (babb555) || {{result|fail}} || {{result|inprogress}} babb555, [http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-rots.git git] | ||
|- | |- | ||
| capybara || 1.0.1 || {{result|warn}} 1.1.2 || {{result|fail}} | | capybara || 1.0.1 || {{result|warn}} 1.1.2 || {{result|fail}} | ||
|- | |- | ||
| rack-test || Dep for capybara (0.6. | | rack-test || Dep for capybara (0.6.2) || {{result|warn}} 0.6.0 || {{result|warn}} 0.5.4 | ||
|- | |- | ||
| selenium-webdriver || Dep for capybara (2. | | selenium-webdriver || Dep for capybara (2.25.0) || {{result|warn}} 2.3.2 || {{result|fail}} | ||
|- | |- | ||
| childprocess || Dep for selenium-webdriver (0. | | childprocess || Dep for selenium-webdriver (0.3.6) || {{result|warn}} 0.2.0 || {{result|fail}} | ||
|- | |- | ||
| ffi || Dep for selenium-webdriver (1.0. | | ffi || Dep for selenium-webdriver (1.0.11) || {{result|warn}} 1.0.9 || {{result|warn}} 1.0.9 | ||
|- | |- | ||
| multi_json || Dep for selenium-webdriver (1. | | multi_json || Dep for selenium-webdriver (1.3.6) || {{result|warn}} 1.0.3 || {{result|fail}} | ||
|- | |- | ||
| rubyzip || Dep for selenium-webdriver (0.9. | | rubyzip || Dep for selenium-webdriver (0.9.9) || {{result|pass}} 0.9.4 || {{result|fail}} | ||
|- | |- | ||
| xpath || Dep for capybara (0.1.4) || {{result|pass}} 0.1.4 || {{result|fail}} | | xpath || Dep for capybara (0.1.4) || {{result|pass}} 0.1.4 || {{result|fail}} | ||
Line 159: | Line 199: | ||
{|border="2" cellpadding="2" cellspacing="0" | {|border="2" cellpadding="2" cellspacing="0" | ||
! Gem !! Upstream Gemfile !! Fedora | ! Gem !! Upstream Gemfile !! Fedora !! EPEL 6 | ||
|- | |- | ||
| foreman (for | | foreman (only needed for Procfile tasks) || 0.60.2 || {{result|fail}} || {{result|fail}} | ||
|- | |- | ||
| thor ( | | thor (Rails dep that we may not need) || Dep for foreman and Rails (0.14.6) || {{result|pass}} 0.14.6 || {{result|fail}} | ||
|- | |- | ||
| stompserver || 0.9.9 || {{result|fail}}<ref>We just need a stomp-compatible server. [https://olezfdtd.wordpress.com/2010/04/22/install-gitorious-on-your-own-fedora-11-server/#section2 ActiveMQ Messaging Server] would work equally well. The stompserver gem needs [https://github.com/drizztbsd/stompserver/commit/b2dd714f9bc6d7b831767cc0d45d7f00cae2bde5 this patch] to not crash on Ruby 1.9. TBD: investigate the "stompserver_ng" fork.</ref> || {{result|fail}} | | stompserver || 0.9.9<ref name="GoneInRails3" /> || {{result|fail}}<ref>We just need a stomp-compatible server. [https://olezfdtd.wordpress.com/2010/04/22/install-gitorious-on-your-own-fedora-11-server/#section2 ActiveMQ Messaging Server] would work equally well. The stompserver gem needs [https://github.com/drizztbsd/stompserver/commit/b2dd714f9bc6d7b831767cc0d45d7f00cae2bde5 this patch] to not crash on Ruby 1.9. TBD: investigate the "stompserver_ng" fork.</ref> || {{result|fail}} | ||
|- | |- | ||
| thin (for dev) || 1.5.0 || {{result|warn}} 1.3.1<ref>See https://bugzilla.redhat.com/837568. Emailed maintainer January 2013.</ref> || {{result|warn}} 1.2.8 | | thin (for dev) || 1.5.0 || {{result|warn}} 1.3.1<ref>See https://bugzilla.redhat.com/837568. Emailed maintainer January 2013.</ref> || {{result|warn}} 1.2.8 | ||
Line 175: | Line 215: | ||
| rake (for git proxy) || 0.8.7 || {{result|warn}} 0.9.6 in F18<br>10.0.3 in F19 || {{result|pass}} 0.8.7 | | rake (for git proxy) || 0.8.7 || {{result|warn}} 0.9.6 in F18<br>10.0.3 in F19 || {{result|pass}} 0.8.7 | ||
|- | |- | ||
| | | stomp (for stomp) || 1.1<ref name="GoneInRails3" /> || {{result|warn}} 1.2.2 || {{result|warn}} 1.1.8 | ||
|- | |- | ||
| activemessaging (for active messaging) || 0.7.1 || (gone from rails?) || {{result|fail}} | | activemessaging (for active messaging) || 0.7.1<ref name="GoneInRails3" /> || (gone from rails?) || {{result|fail}} | ||
|} | |} | ||
Line 196: | Line 224: | ||
{|border="2" cellpadding="2" cellspacing="0" | {|border="2" cellpadding="2" cellspacing="0" | ||
! Name !! Bundled version !! Fedora | ! Name !! Bundled version !! Fedora !! EPEL 6 | ||
|- | |- | ||
| [https://gitorious.org/diff-display diff-display] || ??? || {{result|fail}} || {{result|fail}} | | [https://gitorious.org/diff-display diff-display] || ??? || {{result|fail}} || {{result|fail}} | ||
Line 216: | Line 244: | ||
{|border="2" cellpadding="2" cellspacing="0" | {|border="2" cellpadding="2" cellspacing="0" | ||
! Name !! Bundled version !! Fedora | ! Name !! Bundled version !! Fedora !! EPEL 6 | ||
|- | |- | ||
| [https://gitorious.org/buster/bane bane] || 0.4.0 || {{result|inprogress}} 0.4.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/bane.git git] || {{result|inprogress}} 0.4.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/bane.git git] | | [https://gitorious.org/buster/bane bane] || 0.4.0 || {{result|inprogress}} 0.4.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/bane.git git] || {{result|inprogress}} 0.4.0, [http://fedorapeople.org/cgit/ktdreyer/public_git/bane.git git] |
Revision as of 06:40, 22 February 2013
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.
- Get Gitorious into Fedora.
- 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 (bane, capillary-js, raphael, spin.js). We must unbundle these and package them separately.
- GeoIP data: Gitorious bundles GeoIP.dat, which is already available in Fedora as the "GeoIP" package.
- 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.
- Get Gitorious into EPEL.
- Ruby 1.8 may make things easier, since this is what upstream currently uses (although this will change, eventually).
- riddle doesn't like the version of RSpec in EPEL 6.
- bundler is not in EPEL 6, so we may end up patching out bundler support.
Dependencies
- - The package is not in Fedora/EPEL
- File:Artwork EchoDevelopment dialog-question16.png - The package is not in Fedora/EPEL, and I'm unsure how to proceed (lib might be deprecated, etc.)
- - 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 Gems
Gem | Upstream Gemfile | Fedora | EPEL 6 |
---|---|---|---|
rails | 2.3.17 | ||
activeresource | 2.3.17 | ||
actionmailer | 2.3.17 | ||
chronic | 0.3.0[1] | ||
geoip | 0.8.9 | ||
daemons | 1.1.0 | ||
hoe | 2.8.0[1] | ||
echoe | 4.3.1[1] | ||
ruby-yadis | 0.3.4 | ||
ruby-openid | 2.2.2 | ||
rdiscount | 1.3.1.1 | ||
mime-types | 1.16 | ||
diff-lcs | 1.1.2 | ||
oauth | 0.4.4 | ||
typhoeus | Buildreq for oauth | ||
curb | Buildreq for oauth | ||
actionpack | Buildreq for oauth | ||
paperclip | 2.7.4 | ||
activesupport | Dep for paperclip (2.3.17) | ||
activerecord | Dep for paperclip (2.3.17) | ||
cocaine | Dep for paperclip | ||
bourne | Dep for cocaine | ||
state_machine | 0.9.4 | ||
rack | 1.0.1 | ||
thinking-sphinx | 1.4.13 | ||
after_commit | Dep for thinking-sphinx | ||
activerecord-mysql2-adapter | BuildReq for thinking-sphinx | ||
riddle | Dep for thinking-sphinx (1.5.3) | ||
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 | ||
just_paginate | 0.0.6 | ||
shoulda-context | BR for just_paginate | ||
hodel_3000_compliant_logger | 0.1.0, gone in rails3 | ||
net-ldap | 0.3.1 | ||
capillary | 1.0.2 | ||
mini_shoulda | BR for capillary | N/A[5] | |
nokogiri | 1.5.0 | 1.5.0 in git | |
unicorn | 4.3.1 | ||
kgio | Dep for unicorn (2.7.4) | 2.7.4 in git | |
raindrops | Dep for unicorn (0.10.0) | ||
exception_notification | 1.0.20090728 | ||
revo-ssl_requirement | 1.1.0 | ||
ruby-hmac | 0.4.0 | ||
json | 1.7.7 | 1.7.7 in git |
Queue Manager Gem dependencies
Gem | Upstream Gemfile | Fedora | EPEL 6 |
---|---|---|---|
resque | 1.9.8 | ||
redis | 2.2.2 | ||
redis-namespace | 0.7.0 | ||
sinatra | Dep for resque 1.2.8 | ||
vegas | Dep for resque 0.1.11 | ||
SystemTimer | Dep for resque 1.2.3 |
Test suite Gem dependencies
Gem | Upstream Gemfile | Fedora | EPEL 6 |
---|---|---|---|
mocha | 0.9.10 | ||
factory_girl | 1.3.3, 2.6.4 in rails3 | ||
shoulda | 2.9.2, 3.3.2 in rails3 | ||
tuxml | 0.0.1, gone in rails3 | ||
rots | git clone (babb555) | ||
capybara | 1.0.1 | ||
rack-test | Dep for capybara (0.6.2) | ||
selenium-webdriver | Dep for capybara (2.25.0) | ||
childprocess | Dep for selenium-webdriver (0.3.6) | ||
ffi | Dep for selenium-webdriver (1.0.11) | ||
multi_json | Dep for selenium-webdriver (1.3.6) | ||
rubyzip | Dep for selenium-webdriver (0.9.9) | ||
xpath | Dep for capybara (0.1.4) | ||
launchy | 2.0.5 | ||
addressable | Dep for launchy (2.2.8) | 2.3.2 in F19 |
Possibly optional Gem dependencies
Gem | Upstream Gemfile | Fedora | EPEL 6 |
---|---|---|---|
foreman (only needed for Procfile tasks) | 0.60.2 | ||
thor (Rails dep that we may not need) | Dep for foreman and Rails (0.14.6) | ||
stompserver | 0.9.9[1] | ||
thin (for dev) | 1.5.0 | ||
proxymachine (for dev, and git proxy) | 1.2.4 | ||
eventmachine | Dep for proxymachine (0.12.10) | ||
rake (for git proxy) | 0.8.7 | 10.0.3 in F19 |
|
stomp (for stomp) | 1.1[1] | ||
activemessaging (for active messaging) | 0.7.1[1] | (gone from rails?) |
Bundled (vendored) dependencies
These deps are bundled in /vendor:
Name | Bundled version | Fedora | EPEL 6 |
---|---|---|---|
diff-display | ??? | ||
grit | ??? | ||
ruby-git | ??? | ||
plugins/localized_dates | ??? | ||
plugins/open_id_authentication | ??? | ||
plugins/restful_authentication | ??? | ||
plugins/routing-filter | ??? |
These deps are git submodules under public/javascripts/lib/:
Name | Bundled version | Fedora | EPEL 6 |
---|---|---|---|
bane | 0.4.0 | ||
capillary-js | 0.1.0 | ||
raphael | 2.1.0 | ||
spin.js | 1.2.7 |
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Gone in Gitorious's upstream/feature/rails3 branch
- ↑ RFE filed at https://bugzilla.redhat.com/906159
- ↑ RFE filed at https://bugzilla.redhat.com/903854
- ↑ Request for EPEL 6 branch: https://bugzilla.redhat.com/723145
- ↑ EPEL 6's minitest 1.6.0 is too old for mini_shoulda, so we cannot run the test suite for mini_shoulda (and by extension, capillary).
- ↑ Unicorn package review request at https://bugzilla.redhat.com/786636
- ↑ SSL requirement is built into Rails 3
- ↑ https://groups.google.com/d/topic/gitorious/yNDA9ipKe8I/discussion
- ↑ does not build on Fedora 17
- ↑ tuxml is apparently only needed for automated builds inside Hudson. In F17, Gitorious tests crash with "uninitialized constant Test::Unit::AutoRunner::RUNNERS", which comes from tuxml. Remove it and the tests succeed.
- ↑ We just need a stomp-compatible server. ActiveMQ Messaging Server would work equally well. The stompserver gem needs this patch to not crash on Ruby 1.9. TBD: investigate the "stompserver_ng" fork.
- ↑ See https://bugzilla.redhat.com/837568. Emailed maintainer January 2013.
- ↑ Called "rubygem-git" in Fedora