add rbenv and new ruby to the build

This commit is contained in:
Alexander Pavlenko 2013-03-25 20:29:34 +04:00
parent bdd6c5cfb4
commit dc1cdef954
8 changed files with 77 additions and 21 deletions

View File

@ -39,7 +39,7 @@ MIRROR_CENTOS_OS_BASEURL:=$(MIRROR_CENTOS)/$(CENTOS_RELEASE)/os/$(CENTOS_ARCH)
# It can be any a list of links (--find-links) or a pip index (--index-url).
MIRROR_EGGS?=http://pypi.python.org/simple
# NOTE(mihgen): removed gemcutter - it redirects to rubygems.org and has issues w/certificate now
MIRROR_GEMS?=http://rubygems.org http://gems.rubyforge.org
MIRROR_GEMS?=http://rubygems.org
REQUIRED_RPMS:=$(shell grep -v "^\\s*\#" $(SOURCE_DIR)/requirements-rpm.txt)
REQUIRED_EGGS:=$(shell grep -v "^\\s*\#" $(SOURCE_DIR)/requirements-eggs.txt)

View File

@ -16,8 +16,8 @@ $(BUILD_DIR)/mirror/gems/gems-bundle-gemfile.done: \
$(ACTION.TOUCH)
$(BUILD_DIR)/mirror/gems/gems-bundle.done: $(BUILD_DIR)/mirror/gems/gems-bundle-gemfile.done
( cd $(BUILD_DIR)/mirror/gems/gems-bundle && bundle install --path ./ && bundle package )
( cd $(BUILD_DIR)/mirror/gems/gems-bundle/vendor/cache/ && gem fetch -v 1.2.1 bundler )
( cd $(BUILD_DIR)/mirror/gems/gems-bundle && bundle package )
( cd $(BUILD_DIR)/mirror/gems/gems-bundle/vendor/cache/ && gem fetch -v 1.3.4 bundler )
$(ACTION.TOUCH)
$(BUILD_DIR)/mirror/gems/build.done: $(call depv,LOCAL_MIRROR_GEMS)

View File

@ -23,8 +23,8 @@ $(BUILD_DIR)/packages/rpm/rpm-cirros.done: \
$(BUILD_DIR)/packages/rpm/rpm-nailgun-agent.done: \
$(BUILD_DIR)/packages/rpm/prep.done \
$(SOURCE_DIR)/packages/rpm/specs/nailgun-agent.spec \
$(call find-files,$(SOURCE_DIR)/bin)
$(SOURCE_DIR)/packages/rpm/specs/nailgun-agent.spec \
$(call find-files,$(SOURCE_DIR)/bin)
cp -f bin/agent bin/nailgun-agent.cron $(RPM_SOURCES)
rpmbuild -vv --define "_topdir `readlink -f $(BUILD_DIR)/packages/rpm`" -ba \
$(SOURCE_DIR)/packages/rpm/specs/nailgun-agent.spec
@ -32,8 +32,8 @@ $(BUILD_DIR)/packages/rpm/rpm-nailgun-agent.done: \
$(BUILD_DIR)/packages/rpm/rpm-nailgun-mcagents.done: \
$(BUILD_DIR)/packages/rpm/prep.done \
$(SOURCE_DIR)/packages/rpm/specs/nailgun-mcagents.spec \
$(call find-files,$(SOURCE_DIR)/mcagent)
$(SOURCE_DIR)/packages/rpm/specs/nailgun-mcagents.spec \
$(call find-files,$(SOURCE_DIR)/mcagent)
mkdir -p $(BUILD_DIR)/packages/rpm/SOURCES/nailgun-mcagents
cp -f $(SOURCE_DIR)/mcagent/* $(RPM_SOURCES)/nailgun-mcagents
rpmbuild -vv --define "_topdir `readlink -f $(BUILD_DIR)/packages/rpm`" -ba \
@ -41,25 +41,30 @@ $(BUILD_DIR)/packages/rpm/rpm-nailgun-mcagents.done: \
$(ACTION.TOUCH)
$(BUILD_DIR)/packages/rpm/rpm-nailgun-net-check.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX
$(BUILD_DIR)/packages/rpm/rpm-nailgun-net-check.done: export SANDBOX_UP:=$(SANDBOX_UP)
$(BUILD_DIR)/packages/rpm/rpm-nailgun-net-check.done: export SANDBOX_DOWN:=$(SANDBOX_DOWN)
$(BUILD_DIR)/packages/rpm/rpm-nailgun-net-check.done: \
$(BUILD_DIR)/packages/rpm/sandbox-packages.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX
$(BUILD_DIR)/packages/rpm/sandbox-packages.done: export SANDBOX_UP:=$(SANDBOX_UP)
$(BUILD_DIR)/packages/rpm/sandbox-packages.done: export SANDBOX_DOWN:=$(SANDBOX_DOWN)
$(BUILD_DIR)/packages/rpm/sandbox-packages.done: \
$(BUILD_DIR)/packages/rpm/prep.done \
$(SOURCE_DIR)/packages/rpm/specs/nailgun-net-check.spec \
$(SOURCE_DIR)/packages/rpm/nailgun-net-check/net_probe.py
$(SOURCE_DIR)/packages/rpm/nailgun-net-check/net_probe.py \
$(SOURCE_DIR)/packages/rpm/specs/rbenv-ruby-1.9.3-p392.spec
sudo sh -c "$${SANDBOX_UP}"
cp -f $(SOURCE_DIR)/packages/rpm/patches/* $(RPM_SOURCES)
sudo mkdir -p $(SANDBOX)/tmp/SOURCES
sudo cp $(SOURCE_DIR)/packages/rpm/nailgun-net-check/net_probe.py $(SANDBOX)/tmp/SOURCES
sudo cp $(SOURCE_DIR)/packages/rpm/specs/nailgun-net-check.spec $(SANDBOX)/tmp
sudo cp $(SOURCE_DIR)/packages/rpm/patches/* $(SANDBOX)/tmp/SOURCES
sudo cp $(LOCAL_MIRROR_SRC)/* $(SANDBOX)/tmp/SOURCES
sudo chroot $(SANDBOX) rpmbuild -vv --define "_topdir /tmp" -ba /tmp/nailgun-net-check.spec
cp $(SANDBOX)/tmp/RPMS/x86_64/* $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
sudo cp $(SOURCE_DIR)/packages/rpm/nailgun-net-check/net_probe.py $(SANDBOX)/tmp/SOURCES
sudo cp $(SOURCE_DIR)/packages/rpm/specs/nailgun-net-check.spec $(SANDBOX)/tmp
sudo chroot $(SANDBOX) rpmbuild -vv --define "_topdir /tmp" -ba /tmp/nailgun-net-check.spec
sudo cp $(SOURCE_DIR)/packages/rpm/specs/rbenv-ruby-1.9.3-p392.spec $(SANDBOX)/tmp
sudo chroot $(SANDBOX) rpmbuild -vv --define "_topdir /tmp" -ba /tmp/rbenv-ruby-1.9.3-p392.spec
cp $(SANDBOX)/tmp/RPMS/x86_64/* $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
sudo sh -c "$${SANDBOX_DOWN}"
$(ACTION.TOUCH)
@ -67,7 +72,7 @@ $(BUILD_DIR)/packages/rpm/repo.done: \
$(BUILD_DIR)/packages/rpm/rpm-cirros.done \
$(BUILD_DIR)/packages/rpm/rpm-nailgun-agent.done \
$(BUILD_DIR)/packages/rpm/rpm-nailgun-mcagents.done \
$(BUILD_DIR)/packages/rpm/rpm-nailgun-net-check.done
$(BUILD_DIR)/packages/rpm/sandbox-packages.done
find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages \;
createrepo -g `readlink -f "$(LOCAL_MIRROR_CENTOS_OS_BASEURL)/repodata/comps.xml"` \
-o $(LOCAL_MIRROR_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_CENTOS_OS_BASEURL)

View File

@ -0,0 +1,35 @@
Name: rbenv-ruby-1.9.3-p392
Summary: Ruby 1.9.3-p392 inside rbenv environment
Version: 0.0.1
Release: 1
License: Ruby
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-build
URL: http://mirantis.com
%description
Ruby 1.9.3-p392 inside rbenv environment
%prep
rm -rf "%{name}-%{version}"
mkdir %{name}-%{version}
cd %{name}-%{version}
unzip %{_sourcedir}/382db59cd0c16518d0cec0974e220a2c46aa7a25.zip
mv rbenv-382db59cd0c16518d0cec0974e220a2c46aa7a25 rbenv
unzip %{_sourcedir}/1fb955eead087646f4d73ac36786432c380309a9.zip
mv ruby-build-1fb955eead087646f4d73ac36786432c380309a9 ruby-build
ln -fs `pwd`/rbenv /opt
%build
cd %{name}-%{version}
echo "system" > rbenv/version
RUBY_BUILD_CACHE_PATH=%{_sourcedir} ruby-build/bin/ruby-build 1.9.3-p392 /opt/rbenv/versions/1.9.3-p392
%install
mkdir -p %{buildroot}/opt/
cp -r %{name}-%{version}/rbenv %{buildroot}/opt/
%clean
rm -rf "%{buildroot}"
rm -f "/opt/rbenv"
%files
/opt/rbenv

View File

@ -5,10 +5,18 @@ class nailgun::naily(
$gem_source = "http://rubygems.org/",
){
package { "naily":
provider => "gem",
ensure => $version,
source => $gem_source,
package { 'rbenv-ruby-1.9.3-p392-0.0.1-1': }
exec { "rbenv exec gem install naily --source #{$gem_source} --version #{$version} --no-ri --no-rdoc":
environment => ['RBENV_ROOT=/opt/rbenv', 'RBENV_VERSION=1.9.3-p392'],
path => ['/opt/rbenv/bin']
}
file { '/usr/bin/nailyd':
content => template('nailgun/nailyd.erb'),
owner => 'root',
group => 'root',
mode => 0755,
}
file {"/etc/naily":

View File

@ -0,0 +1,3 @@
#!/bin/bash
RBENV_ROOT=/opt/rbenv RBENV_VERSION=1.9.3-p392 /opt/rbenv/bin/rbenv exec \
ruby -r 'rubygems' -e "gem 'naily', '>= 0'; load Gem.bin_path('naily', 'nailyd', '>= 0')"

View File

@ -1,3 +1,7 @@
https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz
http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
http://pypcap.googlecode.com/files/pypcap-1.1.tar.gz
https://github.com/sstephenson/rbenv/archive/382db59cd0c16518d0cec0974e220a2c46aa7a25.zip
https://github.com/sstephenson/ruby-build/archive/1fb955eead087646f4d73ac36786432c380309a9.zip
http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz

View File

@ -35,6 +35,7 @@ SANDBOX_PACKAGES:=\
rpm-build \
tar \
postgresql-devel \
openssl-devel \
define SANDBOX_UP