You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by Chris Lalancette <cl...@redhat.com> on 2011/05/26 17:44:42 UTC
[PATCHv2 0/5]: Deltacloud core spec file updates
All,
This is version 2 of a short series to improve the dependency situation
in deltacloud. Based on the feedback from both mfojtik and marios, I've gone
ahead and made this a more complete update of the dependency information. In
particular I've:
1. Updated the spec file in the repo to match the on in fedora
2. Added sub-packages to that spec file
3. Updated bundler to have the correct dependencies
4. Updated the gemspec to have the correct dependencies
Please review.
Thanks,
Chris Lalancette
[PATCHv2 1/5] Remove rubygem-deltacloud-core.spec
Posted by Chris Lalancette <cl...@redhat.com>.
It's just confusing to have 2 specs lying around.
Signed-off-by: Chris Lalancette <cl...@redhat.com>
---
server/support/fedora/rubygem-deltacloud-core.spec | 127 --------------------
1 files changed, 0 insertions(+), 127 deletions(-)
delete mode 100644 server/support/fedora/rubygem-deltacloud-core.spec
diff --git a/server/support/fedora/rubygem-deltacloud-core.spec b/server/support/fedora/rubygem-deltacloud-core.spec
deleted file mode 100644
index 23a766d..0000000
--- a/server/support/fedora/rubygem-deltacloud-core.spec
+++ /dev/null
@@ -1,127 +0,0 @@
-%global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
-%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
-%global gemname deltacloud-core
-%global geminstdir %{gemdir}/gems/%{gemname}-%{version}
-
-Summary: Deltacloud REST API
-Name: rubygem-%{gemname}
-Version: 0.3.0
-Release: 1%{?dist}
-Group: Development/Languages
-License: ASL 2.0 and MIT
-URL: http://incubator.apache.org/deltacloud
-Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Requires: rubygems
-Requires: ruby(abi) = 1.8
-Requires: rubygem(haml)
-Requires: rubygem(sinatra) >= 1.0
-Requires: rubygem(rack) >= 1.1.0
-Requires: rubygem(thin)
-Requires: rubygem(json) >= 1.4.0
-Requires(post): chkconfig
-Requires(preun): chkconfig
-Requires(preun): initscripts
-Requires(postun): initscripts
-BuildRequires: rubygems
-BuildRequires: ruby(abi) = 1.8
-BuildRequires: rubygem(json) >= 1.4.0
-BuildRequires: rubygem(rake) >= 0.8.7
-BuildRequires: rubygem(rack-test) >= 0.5.0
-BuildRequires: rubygem(rspec) >= 1.3.0
-BuildArch: noarch
-Provides: rubygem(%{gemname}) = %{version}
-
-%description
-The Deltacloud API is built as a service-based REST API.
-You do not directly link a Deltacloud library into your program to use it.
-Instead, a client speaks the Deltacloud API over HTTP to a server
-which implements the REST interface.
-
-%package doc
-Summary: Documentation for %{name}
-Group: Documentation
-Requires:%{name} = %{version}-%{release}
-
-%description doc
-Documentation for %{name}
-
-%prep
-
-%build
-
-%install
-rm -rf %{buildroot}
-mkdir -p %{buildroot}%{gemdir}
-mkdir -p %{buildroot}%{_initddir}
-gem install --local --install-dir %{buildroot}%{gemdir} \
- --force --rdoc %{SOURCE0}
-mkdir -p %{buildroot}/%{_bindir}
-mkdir -p %{buildroot}/config
-mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
-mv %{buildroot}%{geminstdir}/support/fedora/%{gemname} %{buildroot}%{_initddir}
-mv -f %{buildroot}%{geminstdir}/support/fedora/deltacloudd %{buildroot}%{geminstdir}/bin
-rmdir %{buildroot}%{gemdir}/bin
-find %{buildroot}%{geminstdir}/bin -type f | xargs chmod 755
-find %{buildroot}%{geminstdir}/lib -type f | xargs chmod -x
-chmod 755 %{buildroot}%{_initddir}/%{gemname}
-
-%check
-pushd %{geminstdir}
-rake test:mock
-popd
-
-%clean
-rm -rf %{buildroot}
-
-%post
-# This adds the proper /etc/rc*.d links for the script
-/sbin/chkconfig --add %{gemname}
-
-%preun
-if [ $1 -eq 0 ] ; then
- /sbin/service %{gemname} stop >/dev/null 2>&1
- /sbin/chkconfig --del %{gemname}
-fi
-
-%postun
-if [ "$1" -ge "1" ] ; then
- /sbin/service %{gemname} condrestart >/dev/null 2>&1 || :
-fi
-
-%files
-%defattr(-, root, root, -)
-%{_initddir}/%{gemname}
-%{_bindir}/deltacloudd
-%dir %{geminstdir}/
-%{geminstdir}/bin
-%{geminstdir}/LICENSE
-%{geminstdir}/NOTICE
-%{geminstdir}/DISCLAIMER
-%{geminstdir}/config.ru
-%{geminstdir}/*.rb
-%{geminstdir}/Rakefile
-%{geminstdir}/views
-%{geminstdir}/lib
-%{geminstdir}/public/images
-%{geminstdir}/public/stylesheets
-%{geminstdir}/public/favicon.ico
-%{gemdir}/cache/%{gemname}-%{version}.gem
-%{gemdir}/specifications/%{gemname}-%{version}.gemspec
-%{geminstdir}/config/drivers.yaml
-# MIT
-%{gemdir}/gems/%{gemname}-%{version}/public/javascripts
-
-%files doc
-%defattr(-, root, root, -)
-%{gemdir}/doc/%{gemname}-%{version}
-%{geminstdir}/tests
-%{geminstdir}/support
-%{geminstdir}/%{gemname}.gemspec
-
-%changelog
-* Fri Apr 8 2011 David Lutterkort <lu...@redhat.com> - 0.3.0-1
-- - Renamed COPYING to LICENSE, include NOTICE and DISCLAIMER
-
-* Mon Jan 31 2011 Michal Fojtik <mf...@redhat.com> - 0.2.0-1
-- Initial package
--
1.7.4.4
[PATCHv2 5/5] Add dependencies to the Gem specification.
Posted by Chris Lalancette <cl...@redhat.com>.
Signed-off-by: Chris Lalancette <cl...@redhat.com>
---
server/deltacloud-core.gemspec | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/server/deltacloud-core.gemspec b/server/deltacloud-core.gemspec
index ebe8051..302e497 100644
--- a/server/deltacloud-core.gemspec
+++ b/server/deltacloud-core.gemspec
@@ -66,6 +66,8 @@ Gem::Specification.new do |s|
s.add_dependency('rack-accept', '~> 0.4.3')
s.add_dependency('json', '>= 1.1.9')
s.add_dependency('net-ssh', '>= 2.0.0')
+ s.add_dependency('thin', '>= 1.2.5')
+ s.add_dependency('nokogiri', ">= 1.4.3')
s.add_development_dependency('compass', '>= 0.8.17')
s.add_development_dependency('nokogiri', '>= 1.4.1', '< 1.4.4')
s.add_development_dependency('rack-test', '>= 0.5.3')
--
1.7.4.4
[PATCHv2 4/5] Fix up the dependencies for bundler.
Posted by Chris Lalancette <cl...@redhat.com>.
Signed-off-by: Chris Lalancette <cl...@redhat.com>
---
server/Gemfile | 42 ++++++++++++++++++++++++------------------
server/Gemfile.lock | 51 ++++++++++++++++++++++++++++++++++-----------------
2 files changed, 58 insertions(+), 35 deletions(-)
diff --git a/server/Gemfile b/server/Gemfile
index f72f0b5..3ab3d5c 100644
--- a/server/Gemfile
+++ b/server/Gemfile
@@ -1,32 +1,30 @@
source "http://rubygems.org"
-gem "rake"
-gem "eventmachine"
gem "haml"
gem "sinatra"
gem "rack"
-gem "rack-accept"
gem "thin"
-gem "rerun"
-gem "json"
gem "net-ssh"
+gem "json"
+gem "rack-accept"
+gem "rake"
+gem "nokogiri"
-group :linode do
- gem 'linode'
+group :azure do
+ gem 'waz-blobs'
end
-group :amazon do
- gem 'activesupport'
+group :ec2 do
gem 'aws'
end
-group 'terremark' do
- gem 'fog'
- gem 'excon'
+group :gogrid do
end
-group :azure do
- gem 'waz-blobs'
+group :mock do
+end
+
+group :opennebula do
end
group :rackspace do
@@ -38,18 +36,26 @@ group :rhevm do
gem 'rest-client'
end
+group :rimuhosting do
+end
+
+group :sbc do
+end
+
+group 'terremark' do
+ gem 'fog'
+ gem 'excon'
+end
+
group :test do
gem 'ruby-debug', :platforms => :mri_18
gem 'ruby-debug19', :platforms => :mri_19, :require => 'ruby-debug'
gem "compass"
gem "vcr"
gem "webmock"
- gem "nokogiri"
gem "rack-test"
gem "ci_reporter"
gem "cucumber"
gem "rcov"
- gem "rspec", "< 2.0.0"
- # This gem is needed by activesupport (aws)
- gem "i18n"
+ gem "rspec", "< 2.0.0"
end
diff --git a/server/Gemfile.lock b/server/Gemfile.lock
index 0d48011..f4cec9b 100644
--- a/server/Gemfile.lock
+++ b/server/Gemfile.lock
@@ -1,10 +1,19 @@
GEM
remote: http://rubygems.org/
specs:
- amazon-ec2 (0.9.15)
- xml-simple (>= 1.0.12)
+ addressable (2.2.6)
archive-tar-minitar (0.5.2)
+ aws (2.5.3)
+ http_connection
+ uuidtools
+ xml-simple
builder (2.1.2)
+ ci_reporter (1.6.4)
+ builder (>= 2.1.2)
+ cloudfiles (1.4.16)
+ mime-types (>= 1.16)
+ cloudservers (0.4.1)
+ json
columnize (0.3.1)
compass (0.10.5)
haml (>= 3.0.4)
@@ -33,14 +42,11 @@ GEM
json (~> 1.4.6)
term-ansicolor (~> 1.0.5)
haml (3.0.21)
- httparty (0.6.1)
- crack (= 0.1.8)
+ http_connection (1.4.1)
json (1.4.6)
linecache (0.43)
linecache19 (0.5.11)
ruby_core_source (>= 0.1.4)
- linode (0.6.2)
- httparty (>= 0.4.4)
mime-types (1.16)
net-ssh (2.0.23)
nokogiri (1.4.3.1)
@@ -51,10 +57,8 @@ GEM
rack (>= 1.0)
rake (0.8.7)
rcov (0.9.9)
- rerun (0.5.2)
- right_aws (2.0.0)
- right_http_connection (>= 1.2.1)
- right_http_connection (1.2.4)
+ rest-client (1.6.1)
+ mime-types (>= 1.16)
rspec (1.3.0)
ruby-debug (0.10.3)
columnize (>= 0.1)
@@ -79,30 +83,43 @@ GEM
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
- xml-simple (1.0.12)
+ uuidtools (2.1.2)
+ vcr (1.10.0)
+ waz-blobs (0.1.1)
+ rest-client (>= 1.0.3)
+ ruby-hmac
+ webmock (1.6.4)
+ addressable (~> 2.2, > 2.2.5)
+ crack (>= 0.1.7)
+ xml-simple (1.0.15)
PLATFORMS
ruby
DEPENDENCIES
- amazon-ec2
+ aws
+ ci_reporter
+ cloudfiles
+ cloudservers
compass
cucumber
- eventmachine
+ excon
fog
haml
json
- linode
+ net-ssh
nokogiri
rack
rack-accept
rack-test
rake
rcov
- rerun
- right_aws
- rspec
+ rest-client
+ rspec (< 2.0.0)
ruby-debug
ruby-debug19
sinatra
thin
+ vcr
+ waz-blobs
+ webmock
--
1.7.4.4
[PATCHv2 2/5] Update the Fedora spec file to match the one in Fedora.
Posted by Chris Lalancette <cl...@redhat.com>.
Signed-off-by: Chris Lalancette <cl...@redhat.com>
---
server/support/fedora/deltacloud-core.spec | 127 +++++++++++++++------------
server/support/fedora/deltacloudd | 128 ----------------------------
server/support/fedora/deltacloudd-fedora | 5 +
3 files changed, 75 insertions(+), 185 deletions(-)
delete mode 100755 server/support/fedora/deltacloudd
create mode 100644 server/support/fedora/deltacloudd-fedora
diff --git a/server/support/fedora/deltacloud-core.spec b/server/support/fedora/deltacloud-core.spec
index c4b783d..9d765ba 100644
--- a/server/support/fedora/deltacloud-core.spec
+++ b/server/support/fedora/deltacloud-core.spec
@@ -1,16 +1,14 @@
-%global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
-%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
-%global geminstdir %{gemdir}/gems/deltacloud-core-%{version}
+%global app_root %{_datadir}/%{name}
Summary: Deltacloud REST API
Name: deltacloud-core
Version: 0.3.0
-Release: 1%{?dist}
+Release: 5%{?dist}
Group: Development/Languages
License: ASL 2.0 and MIT
URL: http://incubator.apache.org/deltacloud
-Source0: http://gems.rubyforge.org/gems/deltacloud-core-%{version}.gem
-# Note: This would be needed only for EPEL branches:
+Source0: http://gems.rubyforge.org/gems/%{name}-%{version}.gem
+Source1: deltacloudd-fedora
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: rubygems
Requires: ruby(abi) = 1.8
@@ -18,28 +16,29 @@ Requires: rubygem(haml)
Requires: rubygem(sinatra) >= 1.0
Requires: rubygem(rack) >= 1.1.0
Requires: rubygem(thin)
-Requires: rubygem(haml)
+Requires: rubygem(net-ssh)
Requires: rubygem(json) >= 1.4.0
-Requires: rubygem(net-ssh) >= 2.0.0
Requires: rubygem(rack-accept)
-Requires(post): chkconfig
-Requires(preun): chkconfig
-Requires(preun): initscripts
+Requires: rubygem(nokogiri)
+Requires(post): chkconfig
+Requires(preun): chkconfig
+Requires(preun): initscripts
Requires(postun): initscripts
BuildRequires: rubygems
BuildRequires: ruby(abi) = 1.8
-BuildRequires: rubygem(sinatra) >= 1.0
BuildRequires: rubygem(haml)
-BuildRequires: rubygem(rack) >= 1.1.0
-BuildRequires: rubygem(nokogiri) >= 1.4.3
-BuildRequires: rubygem(net-ssh) >= 2.0.0
+BuildRequires: rubygem(sinatra) >= 1.0
+BuildRequires: rubygem(nokogiri)
+BuildRequires: rubygem(net-ssh)
+BuildRequires: rubygem(aws)
BuildRequires: rubygem(rack-accept)
-BuildRequires: rubygem(json) >= 1.4.0
BuildRequires: rubygem(rake) >= 0.8.7
+BuildRequires: rubygem(rack) >= 1.1.0
BuildRequires: rubygem(rack-test) >= 0.5.0
BuildRequires: rubygem(rspec) >= 1.3.0
+BuildRequires: rubygem(json) >= 1.4.0
BuildArch: noarch
-Provides: deltacloud-core = %{version}
+Obsoletes: rubygem-deltacloud-core
%description
The Deltacloud API is built as a service-based REST API.
@@ -50,33 +49,35 @@ which implements the REST interface.
%package doc
Summary: Documentation for %{name}
Group: Documentation
-Requires:%{name} = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
%description doc
Documentation for %{name}
%prep
+%setup -q -c -T
+gem unpack -V --target=%{_builddir} %{SOURCE0}
+pushd %{_builddir}/%{name}-%{version}
+popd
%build
%install
rm -rf %{buildroot}
-mkdir -p %{buildroot}%{gemdir}
+mkdir -p %{buildroot}%{app_root}
mkdir -p %{buildroot}%{_initddir}
-gem install --local --install-dir %{buildroot}%{gemdir} \
- --force --rdoc %{SOURCE0}
-mkdir -p %{buildroot}/%{_bindir}
-mkdir -p %{buildroot}/config
-mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
-mv %{buildroot}%{geminstdir}/support/fedora/deltacloud-core %{buildroot}%{_initddir}
-mv -f %{buildroot}%{geminstdir}/support/fedora/deltacloudd %{buildroot}%{geminstdir}/bin
-rmdir %{buildroot}%{gemdir}/bin
-find %{buildroot}%{geminstdir}/bin -type f | xargs chmod 755
-find %{buildroot}%{geminstdir}/lib -type f | xargs chmod -x
-chmod 755 %{buildroot}%{_initddir}/deltacloud-core
+mkdir -p %{buildroot}%{_bindir}
+cp -r %{_builddir}/%{name}-%{version}/* %{buildroot}%{app_root}
+mv %{buildroot}%{app_root}/support/fedora/%{name} %{buildroot}%{_initddir}
+install -m 0755 %{SOURCE1} %{buildroot}%{_bindir}/deltacloudd
+find %{buildroot}%{app_root}/lib -type f | xargs chmod -x
+chmod 0755 %{buildroot}%{_initddir}/%{name}
+chmod 0755 %{buildroot}%{app_root}/bin/deltacloudd
+rm -rf %{buildroot}%{app_root}/support
+rdoc --op %{buildroot}%{_defaultdocdir}/%{name}
%check
-pushd %{buildroot}%{geminstdir}
+pushd %{buildroot}%{app_root}
rake test:mock
popd
@@ -85,50 +86,62 @@ rm -rf %{buildroot}
%post
# This adds the proper /etc/rc*.d links for the script
-/sbin/chkconfig --add deltacloud-core
+/sbin/chkconfig --add %{name}
%preun
if [ $1 -eq 0 ] ; then
- /sbin/service deltacloud-core stop >/dev/null 2>&1
- /sbin/chkconfig --del deltacloud-core
+ /sbin/service %{name} stop >/dev/null 2>&1
+ /sbin/chkconfig --del %{name}
fi
%postun
if [ "$1" -ge "1" ] ; then
- /sbin/service deltacloud-core condrestart >/dev/null 2>&1 || :
+ /sbin/service %{name} condrestart >/dev/null 2>&1 || :
fi
%files
%defattr(-, root, root, -)
-%{_initddir}/deltacloud-core
+%{_initddir}/%{name}
%{_bindir}/deltacloudd
-%dir %{geminstdir}/
-%{geminstdir}/bin
-%{geminstdir}/LICENSE
-%{geminstdir}/DISCLAIMER
-%{geminstdir}/NOTICE
-%{geminstdir}/config.ru
-%{geminstdir}/*.rb
-%{geminstdir}/Rakefile
-%{geminstdir}/views
-%{geminstdir}/lib
-%{geminstdir}/public/images
-%{geminstdir}/public/stylesheets
-%{geminstdir}/public/favicon.ico
-%{gemdir}/cache/deltacloud-core-%{version}.gem
-%{gemdir}/specifications/deltacloud-core-%{version}.gemspec
-%{geminstdir}/config/drivers.yaml
+%dir %{app_root}/
+%{app_root}/bin
+%{app_root}/config.ru
+%{app_root}/*.rb
+%{app_root}/views
+%{app_root}/lib
+%{app_root}/config
+%dir %{app_root}/public
+%{app_root}/public/images
+%{app_root}/public/stylesheets
+%{app_root}/public/favicon.ico
+%doc %{app_root}/DISCLAIMER
+%doc %{app_root}/NOTICE
+%doc %{app_root}/LICENSE
# MIT
-%{gemdir}/gems/deltacloud-core-%{version}/public/javascripts
+%{app_root}/public/javascripts
%files doc
%defattr(-, root, root, -)
-%{gemdir}/doc/deltacloud-core-%{version}
-%{geminstdir}/tests
-%{geminstdir}/support
-%{geminstdir}/deltacloud-core.gemspec
+%{_defaultdocdir}/%{name}
+%{app_root}/tests
+%{app_root}/%{name}.gemspec
+%{app_root}/Rakefile
%changelog
+* Fri May 20 2011 Michal Fojtik <mf...@redhat.com> - 0.3.0-5
+- Obsoleted rubygem-deltacloud-core
+
+* Wed May 11 2011 Michal Fojtik <mf...@redhat.com> - 0.3.0-4
+- Fixed memory calculation for RHEV-M (client)
+
+* Wed May 11 2011 Michal Fojtik <mf...@redhat.com> - 0.3.0-3
+- Fixed loadbalancer bug
+
+* Thu May 5 2011 Michal Fojtik <mf...@redhat.com> - 0.3.0-2
+- Fixed documentation generation
+- Replaced moving with copying
+- Removed support folder from doc subpackage
+
* Fri Apr 8 2011 David Lutterkort <lu...@redhat.com> - 0.3.0-1
- Renamed COPYING to LICENSE, include NOTICE and DISCLAIMER
diff --git a/server/support/fedora/deltacloudd b/server/support/fedora/deltacloudd
deleted file mode 100755
index 70be6ca..0000000
--- a/server/support/fedora/deltacloudd
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'rubygems'
-require 'optparse'
-
-# See if we can require +name+ and return +true+ if the library is there,
-# +false+ otherwise. Note that, as a side effect, the library will be
-# loaded
-def library_present?(name)
- begin
- require name
- true
- rescue LoadError
- false
- end
-end
-
-options = {
- :env => 'development'
-}
-optparse = OptionParser.new do |opts|
-
-opts.banner = <<BANNER
-Usage:
-deltacloudd -i <driver> [options]
-
-Options:
-BANNER
- opts.on( '-i', '--driver DRIVER', 'Driver to use') do |driver|
- ENV["API_DRIVER"] = driver
- end
- opts.on( '-r', '--hostname HOSTNAME',
- 'Bind to HOST address (default: localhost)') do |host|
- ENV["API_HOST"] = host
- end
- opts.on( '-p', '--port PORT', 'Use PORT (default: 3001)') do |port|
- ENV["API_PORT"] = port
- end
- opts.on( '-P', '--provider PROVIDER', 'Use PROVIDER (default is set in the driver)') do |provider|
- ENV['API_PROVIDER'] = provider
- end
- opts.on( '-e', '--env ENV', 'Environment (default: "development")') { |env| options[:env] = env }
- opts.on( '-h', '--help', '') { options[:help] = true }
-end
-
-optparse.parse!
-
-if options[:help]
- puts optparse
- exit(0)
-end
-
-unless ENV["API_DRIVER"]
- puts "You need to specify a driver to use (-i <driver>)"
- exit(1)
-end
-
-ENV["API_HOST"] = "localhost" unless ENV["API_HOST"]
-ENV["API_PORT"] = "3001" unless ENV["API_PORT"]
-
-msg = "Starting Deltacloud API :: #{ENV["API_DRIVER"]} "
-msg << ":: #{ENV['API_PROVIDER']} " if ENV['API_PROVIDER']
-msg << ":: http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
-puts msg
-puts
-
-dirname="#{File.dirname(__FILE__)}/.."
-
-have_thin = library_present?('thin')
-have_rerun = library_present?('rerun')
-
-unless have_thin
- require 'rack'
-
- # We can't chdir with webrick so add our root directory
- # onto the load path
- $: << dirname
-
- # Read in config.ru and convert it to an instance of Rack::Builder
- cfgfile = File.read(File.join(dirname, 'config.ru'))
- inner_app = eval("Rack::Builder.new {(" + cfgfile + "\n )}.to_app",
- nil, 'config.ru')
-
- app = Rack::Builder.new {
- use Rack::CommonLogger # apache-like logging
- use Rack::Reloader if options[:env] == "development"
- set :root, dirname # Set Sinatra root since we can't chdir to ../
- run inner_app
- }.to_app
-
- # There's a bug with string ports on JRuby so convert to int
- # http://jira.codehaus.org/browse/JRUBY-4868
- port = ENV["API_PORT"].to_i
-
- puts "=> Ctrl-C to shutdown server"
- Rack::Handler::WEBrick.run(app,
- :Host => ENV["API_HOST"],
- :Port => port,
- :AccessLog => [])
-else
- argv_opts = ARGV.clone
- argv_opts << ['start'] unless Thin::Runner.commands.include?(options[0])
- argv_opts << ['--address', ENV["API_HOST"] ]
- argv_opts << ['--port', ENV["API_PORT"] ]
- argv_opts << ['--rackup', 'config.ru' ]
- argv_opts << ['--chdir', dirname ]
- argv_opts << ['-e', options[:env] ]
- argv_opts << ['--threaded', '-D', '--stats', '/stats']
-
- argv_opts.flatten!
-
- if have_rerun && options[:env] == "development"
- argv_opts.unshift "thin"
- command = argv_opts.join(" ")
- topdir = File::expand_path(File::join(File::dirname(__FILE__), ".."))
- rerun = Rerun::Runner.new(command, :dir => topdir)
- rerun.start
- rerun.join
- else
- thin = Thin::Runner.new(argv_opts)
-
- begin
- thin.run!
- rescue Exception => e
- puts "ERROR: #{e.message}"
- end
- end
-end
diff --git a/server/support/fedora/deltacloudd-fedora b/server/support/fedora/deltacloudd-fedora
new file mode 100644
index 0000000..2afbee4
--- /dev/null
+++ b/server/support/fedora/deltacloudd-fedora
@@ -0,0 +1,5 @@
+#!/usr/bin/ruby
+
+root_path = File.join('/', 'usr', 'share', 'deltacloud-core')
+$:.unshift File.join(root_path, 'lib')
+load File.join(root_path, 'bin', 'deltacloudd')
--
1.7.4.4
[PATCHv2 3/5] Create subpackages in the RPM spec file.
Posted by Chris Lalancette <cl...@redhat.com>.
These subpackages will bring in all of the dependencies
necessary to run the core to connect to the various
backends.
Signed-off-by: Chris Lalancette <cl...@redhat.com>
---
server/support/fedora/deltacloud-core.spec | 122 +++++++++++++++++++++++++++-
1 files changed, 121 insertions(+), 1 deletions(-)
diff --git a/server/support/fedora/deltacloud-core.spec b/server/support/fedora/deltacloud-core.spec
index 9d765ba..fa915bc 100644
--- a/server/support/fedora/deltacloud-core.spec
+++ b/server/support/fedora/deltacloud-core.spec
@@ -3,7 +3,7 @@
Summary: Deltacloud REST API
Name: deltacloud-core
Version: 0.3.0
-Release: 5%{?dist}
+Release: 6%{?dist}
Group: Development/Languages
License: ASL 2.0 and MIT
URL: http://incubator.apache.org/deltacloud
@@ -54,6 +54,93 @@ Requires: %{name} = %{version}-%{release}
%description doc
Documentation for %{name}
+%package azure
+Summary: Deltacloud Core for Azure
+Requires: %{name} = %{version}-%{release}
+Requires: rubygem(waz-blobs)
+
+%description azure
+The azure sub-package brings in all dependencies necessary to use deltacloud
+core to connect to Azure.
+
+%package ec2
+Summary: Deltacloud Core for EC2
+Requires: %{name} = %{version}-%{release}
+Requires: rubygem(aws)
+
+%description ec2
+The ec2 sub-package brings in all dependencies necessary to use deltacloud
+core to connect to EC2.
+
+%package gogrid
+Summary: Deltacloud Core for GoGrid
+Requires: %{name} = %{version}-%{release}
+
+%description gogrid
+The gogrid sub-package brings in all dependencies necessary to use deltacloud
+core to connect to GoGrid.
+
+%package mock
+Summary: Deltacloud Core for Mock
+Requires: %{name} = %{version}-%{release}
+
+%description mock
+The mock sub-package brings in all dependencies necessary to use deltacloud
+core to connect to Mock.
+
+%package opennebula
+Summary: Deltacloud Core for OpenNebula
+Requires: %{name} = %{version}-%{release}
+
+%description opennebula
+The opennebula sub-package brings in all dependencies necessary to use
+deltacloud core to connect to OpenNebula.
+
+%package rackspace
+Summary: Deltacloud Core for Rackspace
+Requires: %{name} = %{version}-%{release}
+Requires: rubygem(cloudfiles)
+Requires: rubygem(cloudservers)
+
+%description rackspace
+The rackspace sub-package brings in all dependencies necessary to use deltacloud
+core to connect to Rackspace.
+
+%package rhevm
+Summary: Deltacloud Core for RHEV-M
+Requires: %{name} = %{version}-%{release}
+Requires: rubygem(rest-client)
+
+%description rhevm
+The rhevm sub-package brings in all dependencies necessary to use deltacloud
+core to connect to RHEV-M.
+
+%package rimuhosting
+Summary: Deltacloud Core for Rimuhosting
+Requires: %{name} = %{version}-%{release}
+
+%description rimuhosting
+The rimuhosting sub-package brings in all dependencies necessary to use
+deltacloud core to connect to Rimuhosting.
+
+%package sbc
+Summary: Deltacloud Core for SBC
+Requires: %{name} = %{version}-%{release}
+
+%description sbc
+The sbc sub-package brings in all dependencies necessary to use deltacloud core
+to connect to SBC.
+
+%package terremark
+Summary: Deltacloud Core for Terremark
+Requires: %{name} = %{version}-%{release}
+Requires: rubygem(fog)
+Requires: rubygem(excon)
+
+%description terremark
+The terremark sub-package brings in all dependencies necessary to use deltacloud
+core to connect to Terremark.
+
%prep
%setup -q -c -T
gem unpack -V --target=%{_builddir} %{SOURCE0}
@@ -127,7 +214,40 @@ fi
%{app_root}/%{name}.gemspec
%{app_root}/Rakefile
+%files azure
+%defattr(-, root, root, -)
+
+%files ec2
+%defattr(-, root, root, -)
+
+%files gogrid
+%defattr(-, root, root, -)
+
+%files mock
+%defattr(-, root, root, -)
+
+%files opennebula
+%defattr(-, root, root, -)
+
+%files rackspace
+%defattr(-, root, root, -)
+
+%files rhevm
+%defattr(-, root, root, -)
+
+%files rimuhosting
+%defattr(-, root, root, -)
+
+%files sbc
+%defattr(-, root, root, -)
+
+%files terremark
+%defattr(-, root, root, -)
+
%changelog
+* Thu May 26 2011 Chris Lalancette <cl...@redhat.com> - 0.3.0-6
+- Create sub-packages to bring in dependencies
+
* Fri May 20 2011 Michal Fojtik <mf...@redhat.com> - 0.3.0-5
- Obsoleted rubygem-deltacloud-core
--
1.7.4.4