Makesystem fixes:

Fix SOURCE_DIR, BUILD_DIR and LOCAL_MIRROR variables;
  Remove outdated files;
  Split chroot packages target
This commit is contained in:
Dmitry Pyzhov 2013-04-12 18:20:42 +04:00 committed by default
parent 44ce111fab
commit fee0eea547
17 changed files with 113 additions and 189 deletions

View File

@ -1,12 +1,28 @@
PWD:=$(shell pwd -P)
SOURCE_DIR:=$(PWD)
BUILD_DIR:=$(PWD)/build
DEPV_DIR:=$(BUILD_DIR)/depv
SOURCE_DIR?=$(dir $(lastword $(MAKEFILE_LIST)))
SOURCE_DIR:=$(abspath $(SOURCE_DIR))
TOP_DIR?=$(PWD)
TOP_DIR:=$(abspath $(TOP_DIR))
BUILD_DIR?=$(TOP_DIR)/build
BUILD_DIR:=$(abspath $(BUILD_DIR))
LOCAL_MIRROR?=$(TOP_DIR)/local_mirror
LOCAL_MIRROR:=$(abspath $(LOCAL_MIRROR))
DEPV_DIR?=$(BUILD_DIR)/depv
DEPV_DIR:=$(abspath $(DEPV_DIR))
.PHONY: all clean test help deep_clean
help:
@echo 'Build directives (can be overrided by environment variables'
@echo 'or by command line parameters):'
@echo ' SOURCE_DIR: $(SOURCE_DIR)'
@echo ' BUILD_DIR: $(BUILD_DIR)'
@echo ' LOCAL_MIRROR: $(LOCAL_MIRROR)'
@echo ' YUM_REPOS: $(YUM_REPOS)'
@echo ' MIRROR_CENTOS: $(MIRROR_CENTOS)'
@echo ' MIRROR_EGGS: $(MIRROR_EGGS)'
@echo ' MIRROR_GEMS: $(MIRROR_GEMS)'
@echo ' MIRROR_SRC: $(MIRROR_SRC)'
@echo
@echo 'Available targets:'
@echo ' all - build product'
@echo ' bootstrap - build bootstrap'
@ -31,7 +47,7 @@ help:
@echo 'make iso USE_MIRROR=msk'
@echo
@echo 'Custom location:'
@echo 'make iso USE_MIRROR=msk YUM_REPOS=proprietary \
@echo 'make iso YUM_REPOS=proprietary \
MIRROR_CENTOS=http://<your_mirror>/centos \
MIRROR_EGGS=http://<your_mirror>/eggs \
MIRROR_GEMS=http://<your_mirror>/gems \

View File

@ -1,10 +0,0 @@
#!/bin/bash
for agent in `ls ../mcagent/`; do
echo "Linking agent $agent of mcollective.."
ln -sf `readlink -f ../mcagent/$agent` /usr/libexec/mcollective/mcollective/agent/$agent
done
ln -sfT `readlink -f ../puppet/nailytest` /etc/puppet/modules/nailytest
ln -sf `readlink -f ../puppet/nailytest/examples/site.pp` /etc/puppet/manifests/site.pp
ln -sf `readlink -f ../bootstrap/sync/usr/bin/net_probe.py` /usr/bin/net_probe.py
uuidgen > /etc/bootif # for net_probe plugin
service mcollective restart

View File

@ -45,7 +45,7 @@ BOOTSTRAP_RPMS_CUSTOM:=\
define yum_local_repo
[mirror]
name=Mirantis mirror
baseurl=file://$(shell readlink -f -m $(LOCAL_MIRROR_CENTOS_OS_BASEURL))
baseurl=file://$(LOCAL_MIRROR_CENTOS_OS_BASEURL)
gpgcheck=0
enabled=1
endef
@ -61,12 +61,12 @@ exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
pluginpath=$(shell readlink -f -m $(BUILD_DIR)/bootstrap/etc/yum-plugins)
pluginconfpath=$(shell readlink -f -m $(BUILD_DIR)/bootstrap/etc/yum/pluginconf.d)
reposdir=$(shell readlink -f -m $(BUILD_DIR)/bootstrap/etc/yum.repos.d)
pluginpath=$(BUILD_DIR)/bootstrap/etc/yum-plugins
pluginconfpath=$(BUILD_DIR)/bootstrap/etc/yum/pluginconf.d
reposdir=$(BUILD_DIR)/bootstrap/etc/yum.repos.d
endef
YUM:=sudo yum -c $(BUILD_DIR)/bootstrap/etc/yum.conf --installroot=`readlink -f $(INITRAMROOT)` -y --nogpgcheck
YUM:=sudo yum -c $(BUILD_DIR)/bootstrap/etc/yum.conf --installroot=$(INITRAMROOT) -y --nogpgcheck
clean: clean-bootstrap
@ -83,7 +83,7 @@ $(BUILD_DIR)/bootstrap/build.done: \
$(BUILD_DIR)/bootstrap/initramfs.img: \
$(BUILD_DIR)/bootstrap/customize-initram-root.done
sudo sh -c "cd $(INITRAMROOT) && find . -xdev | cpio --create \
--format='newc' | gzip -9 > `readlink -f $(BUILD_DIR)/bootstrap/initramfs.img`"
--format='newc' | gzip -9 > $(BUILD_DIR)/bootstrap/initramfs.img"
$(BUILD_DIR)/bootstrap/linux: $(BUILD_DIR)/mirror/build.done
mkdir -p $(BUILD_DIR)/bootstrap
@ -110,7 +110,7 @@ $(BUILD_DIR)/bootstrap/customize-initram-root.done: \
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/base.repo
# Rebuilding rpmdb
sudo rpm --root=`readlink -f $(INITRAMROOT)` --rebuilddb
sudo rpm --root=$(INITRAMROOT) --rebuilddb
# Installing custom rpms
$(YUM) install $(BOOTSTRAP_RPMS_CUSTOM)
@ -160,7 +160,7 @@ $(BUILD_DIR)/bootstrap/prepare-initram-root.done: \
sudo rm -f $(INITRAMROOT)/etc/yum.repos.d/Cent*
# Rebuilding rpmdb
sudo rpm --root=`readlink -f $(INITRAMROOT)` --rebuilddb
sudo rpm --root=$(INITRAMROOT) --rebuilddb
# Creating some necessary directories
sudo mkdir -p $(INITRAMROOT)/proc

View File

@ -8,7 +8,6 @@ CENTOS_ARCH:=x86_64
NO_UI_OPTIMIZE:=0
LOCAL_MIRROR:=local_mirror
LOCAL_MIRROR_SRC:=$(LOCAL_MIRROR)/src
LOCAL_MIRROR_EGGS:=$(LOCAL_MIRROR)/eggs
LOCAL_MIRROR_GEMS:=$(LOCAL_MIRROR)/gems
@ -18,20 +17,20 @@ LOCAL_MIRROR_CENTOS_OS_BASEURL:=$(LOCAL_MIRROR_CENTOS)/$(CENTOS_RELEASE)/os/$(CE
# Use srv08 mirrors by default. Other possible default is 'msk'.
# Setting any other value or removing of this variable will cause
# download of all the packages directly from internet
USE_MIRROR:=srv08
USE_MIRROR?=srv08
ifeq ($(USE_MIRROR),srv08)
YUM_REPOS=proprietary
MIRROR_CENTOS=http://srv08-srt.srt.mirantis.net/fwm/centos
MIRROR_EGGS=http://srv08-srt.srt.mirantis.net/fwm/eggs
MIRROR_GEMS=http://srv08-srt.srt.mirantis.net/fwm/gems
MIRROR_SRC=http://srv08-srt.srt.mirantis.net/fwm/src
YUM_REPOS?=proprietary
MIRROR_CENTOS?=http://srv08-srt.srt.mirantis.net/fwm/centos
MIRROR_EGGS?=http://srv08-srt.srt.mirantis.net/fwm/eggs
MIRROR_GEMS?=http://srv08-srt.srt.mirantis.net/fwm/gems
MIRROR_SRC?=http://srv08-srt.srt.mirantis.net/fwm/src
endif
ifeq ($(USE_MIRROR),msk)
YUM_REPOS=proprietary
MIRROR_CENTOS=http://172.18.8.209/fwm/centos
MIRROR_EGGS=http://172.18.8.209/fwm/eggs
MIRROR_GEMS=http://172.18.8.209/fwm/gems
MIRROR_SRC=http://172.18.8.209/fwm/src
YUM_REPOS?=proprietary
MIRROR_CENTOS?=http://172.18.8.209/fwm/centos
MIRROR_EGGS?=http://172.18.8.209/fwm/eggs
MIRROR_GEMS?=http://172.18.8.209/fwm/gems
MIRROR_SRC?=http://172.18.8.209/fwm/src
endif
MIRROR_CENTOS?=http://mirror.yandex.ru/centos

View File

@ -1,6 +1,4 @@
$(call assert-variable,iso.path)
# $(call assert-variable,centos.path)
LEVEL ?= INFO
@ -20,15 +18,11 @@ endif
INSTALLATION_TIMEOUT ?= 1800
DEPLOYMENT_TIMEOUT ?= 1800
/:=$(BUILD_DIR)/test/
$/%: /:=$/
test: test-integration
.PHONY: test-integration test-integration-env
test-integration: test-integration-env
python fuelweb_test/integration_test.py \
python $(SOURCE_DIR)/fuelweb_test/integration_test.py \
-l $(LEVEL) $(ENV_NAME_CLI_ARG) \
--installation-timeout=$(INSTALLATION_TIMEOUT) \
--deployment-timeout=$(DEPLOYMENT_TIMEOUT) \
@ -37,18 +31,17 @@ test-integration: test-integration-env
test-integration-env: $(BUILD_DIR)/iso/iso.done
@mkdir -p $(@D)
python fuelweb_test/integration_test.py \
python $(SOURCE_DIR)/fuelweb_test/integration_test.py \
-l $(LEVEL) $(ENV_NAME_CLI_ARG) \
destroy
python fuelweb_test/integration_test.py \
python $(SOURCE_DIR)/fuelweb_test/integration_test.py \
-l $(LEVEL) $(ENV_NAME_CLI_ARG) \
$(NOFORWARD_CLI_ARG) \
--iso $(abspath $(iso.path)) \
--iso $(iso.path) \
setup
.PHONY: clean-integration-test
clean-integration-test: /:=$/
clean-integration-test:
python fuelweb_test/integration_test.py \
python $(SOURCE_DIR)/fuelweb_test/integration_test.py \
-l $(LEVEL) $(ENV_NAME_CLI_ARG) \
destroy

View File

@ -15,7 +15,7 @@ $(BUILD_DIR)/iso/isoroot-centos.done: \
$(BUILD_DIR)/iso/isoroot-dotfiles.done
mkdir -p $(ISOROOT)
rsync -rp $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ISOROOT)
createrepo -g `readlink -f "$(ISOROOT)/repodata/comps.xml"` \
createrepo -g $(ISOROOT)/repodata/comps.xml \
-u media://`head -1 $(ISOROOT)/.discinfo` $(ISOROOT)
$(ACTION.TOUCH)
@ -68,7 +68,7 @@ $(ISOROOT)/version.yaml:
$(ISOROOT)/puppet-nailgun.tgz: \
$(call find-files,$(SOURCE_DIR)/puppet) \
bin/send2syslog.py
$(SOURCE_DIR)/bin/send2syslog.py
(cd $(SOURCE_DIR)/puppet && tar chzf $@ *)
$(ISOROOT)/puppet-slave.tgz: \
$(call find-files,$(SOURCE_DIR)/puppet/nailytest) \

View File

@ -54,6 +54,6 @@ $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/repodata/comps.xml:
$(BUILD_DIR)/mirror/centos/repo.done: \
$(BUILD_DIR)/mirror/centos/yum.done \
| $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/repodata/comps.xml
createrepo -g `readlink -f "$(LOCAL_MIRROR_CENTOS_OS_BASEURL)/repodata/comps.xml"` \
createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/repodata/comps.xml \
-o $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/
$(ACTION.TOUCH)

View File

@ -9,9 +9,9 @@ exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
pluginpath=$(shell readlink -f -m $(BUILD_DIR)/mirror/centos/etc/yum-plugins)
pluginconfpath=$(shell readlink -f -m $(BUILD_DIR)/mirror/centos/etc/yum/pluginconf.d)
reposdir=$(shell readlink -f -m $(BUILD_DIR)/mirror/centos/etc/yum.repos.d)
pluginpath=$(BUILD_DIR)/mirror/centos/etc/yum-plugins
pluginconfpath=$(BUILD_DIR)/mirror/centos/etc/yum/pluginconf.d
reposdir=$(BUILD_DIR)/mirror/centos/etc/yum.repos.d
endef
define yum_repo_official

View File

@ -5,8 +5,8 @@ mirror-eggs: $(BUILD_DIR)/mirror/eggs/build.done
clean: clean-mirror-eggs
clean-mirror-eggs:
-sudo umount $(shell readlink -f -m $(BUILD_DIR)/mirror/eggs/SANDBOX/proc)
-sudo umount $(shell readlink -f -m $(BUILD_DIR)/mirror/eggs/SANDBOX/dev)
-sudo umount $(BUILD_DIR)/mirror/eggs/SANDBOX/proc
-sudo umount $(BUILD_DIR)/mirror/eggs/SANDBOX/dev
sudo rm -rf $(BUILD_DIR)/mirror/eggs
$(BUILD_DIR)/mirror/eggs/build.done: $(call depv,LOCAL_MIRROR_EGGS)

View File

@ -13,18 +13,18 @@ $(BUILD_DIR)/mirror/gems/gems-bundle/naily/Gemfile: \
mkdir -p $(@D)
echo -n > $@
for i in $(MIRROR_GEMS); do \
echo "source \"file://$(SOURCE_DIR)/$(LOCAL_MIRROR_GEMS)\"" >> $@; \
echo "source \"file://$(LOCAL_MIRROR_GEMS)\"" >> $@; \
echo "source \"$$i\"" >> $@; \
done
echo "gem 'naily', '$(NAILY_VERSION)'" >> $@
$(ACTION.TOUCH)
$(BUILD_DIR)/mirror/gems/gems-bundle-gemfile.done: \
requirements-gems.txt \
$(SOURCE_DIR)/requirements-gems.txt \
$(BUILD_DIR)/mirror/gems/gems-bundle/Gemfile \
$(BUILD_DIR)/mirror/gems/gems-bundle/naily/Gemfile
mkdir -p $(BUILD_DIR)/mirror/gems/gems-bundle
cat requirements-gems.txt | while read gem ver; do \
cat $(SOURCE_DIR)/requirements-gems.txt | while read gem ver; do \
echo "gem \"$${gem}\", \"$${ver}\"" >> $(BUILD_DIR)/mirror/gems/gems-bundle/Gemfile; \
done
$(ACTION.TOUCH)

View File

@ -4,10 +4,13 @@ include $(SOURCE_DIR)/astute/module.mk
.PHONY: astute astute_version \
naily naily_version
RAEMON_VERSION:=0.3.0
RAEMON_COMMIT:=b78eaae57c8e836b8018386dd96527b8d9971acc
$(BUILD_DIR)/packages/gems/build.done: \
$(BUILD_DIR)/packages/gems/naily-$(NAILY_VERSION).gem \
$(BUILD_DIR)/packages/gems/astute-$(ASTUTE_VERSION).gem \
$(BUILD_DIR)/packages/gems/raemon-0.3.0.gem
$(BUILD_DIR)/packages/gems/raemon-$(RAEMON_VERSION).gem
mkdir -p $(LOCAL_MIRROR_GEMS)/gems
cp $(BUILD_DIR)/packages/gems/*.gem $(LOCAL_MIRROR_GEMS)/gems
(cd $(LOCAL_MIRROR_GEMS) && gem generate_index gems)
@ -21,9 +24,9 @@ naily: $(BUILD_DIR)/packages/gems/naily-$(NAILY_VERSION).gem
naily_version:
@echo $(NAILY_VERSION)
$(BUILD_DIR)/packages/gems/raemon-0.3.0.gem:
unzip -q $(LOCAL_MIRROR_SRC)/b78eaae57c8e836b8018386dd96527b8d9971acc.zip -d $(BUILD_DIR)/packages/gems
$(BUILD_DIR)/packages/gems/raemon-$(RAEMON_VERSION).gem:
unzip -q $(LOCAL_MIRROR_SRC)/$(RAEMON_COMMIT).zip -d $(BUILD_DIR)/packages/gems
rm -rf $(BUILD_DIR)/packages/gems/raemon
mv $(BUILD_DIR)/packages/gems/raemon-b78eaae57c8e836b8018386dd96527b8d9971acc $(BUILD_DIR)/packages/gems/raemon
mv $(BUILD_DIR)/packages/gems/raemon-$(RAEMON_COMMIT) $(BUILD_DIR)/packages/gems/raemon
(cd $(BUILD_DIR)/packages/gems/raemon && gem build raemon.gemspec)
cp $(BUILD_DIR)/packages/gems/raemon/raemon-0.3.0.gem $(BUILD_DIR)/packages/gems
cp $(BUILD_DIR)/packages/gems/raemon/raemon-$(RAEMON_VERSION).gem $(BUILD_DIR)/packages/gems

View File

@ -3,8 +3,8 @@
clean: clean-rpm
clean-rpm:
-sudo umount $(shell readlink -f -m $(BUILD_DIR)/packages/rpm/SANDBOX/proc)
-sudo umount $(shell readlink -f -m $(BUILD_DIR)/packages/rpm/SANDBOX/dev)
-sudo umount $(BUILD_DIR)/packages/rpm/SANDBOX/proc
-sudo umount $(BUILD_DIR)/packages/rpm/SANDBOX/dev
sudo rm -rf $(BUILD_DIR)/packages/rpm
RPM_SOURCES:=$(BUILD_DIR)/packages/rpm/SOURCES
@ -14,19 +14,12 @@ $(BUILD_DIR)/packages/rpm/prep.done: $(BUILD_DIR)/mirror/src/build.done
cp -f $(LOCAL_MIRROR_SRC)/* $(RPM_SOURCES)
$(ACTION.TOUCH)
$(BUILD_DIR)/packages/rpm/rpm-cirros.done: \
$(BUILD_DIR)/packages/rpm/prep.done \
$(SOURCE_DIR)/packages/rpm/specs/cirros-0.3.0.spec
rpmbuild -vv --define "_topdir `readlink -f $(BUILD_DIR)/packages/rpm`" -ba \
$(SOURCE_DIR)/packages/rpm/specs/cirros-0.3.0.spec
$(ACTION.TOUCH)
$(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)
cp -f bin/agent bin/nailgun-agent.cron $(RPM_SOURCES)
rpmbuild -vv --define "_topdir `readlink -f $(BUILD_DIR)/packages/rpm`" -ba \
cp -f $(SOURCE_DIR)/bin/agent $(SOURCE_DIR)/bin/nailgun-agent.cron $(RPM_SOURCES)
rpmbuild -vv --define "_topdir $(BUILD_DIR)/packages/rpm" -ba \
$(SOURCE_DIR)/packages/rpm/specs/nailgun-agent.spec
$(ACTION.TOUCH)
@ -36,55 +29,70 @@ $(BUILD_DIR)/packages/rpm/rpm-nailgun-mcagents.done: \
$(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 \
rpmbuild -vv --define "_topdir $(BUILD_DIR)/packages/rpm" -ba \
$(SOURCE_DIR)/packages/rpm/specs/nailgun-mcagents.spec
$(ACTION.TOUCH)
$(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/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/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/specs/rbenv-ruby-1.9.3-p392.spec
$(SOURCE_DIR)/packages/rpm/nailgun-net-check/net_probe.py
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/patches/* $(SANDBOX)/tmp/SOURCES
sudo cp $(LOCAL_MIRROR_SRC)/* $(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 chroot $(SANDBOX) rpmbuild -vv --define "_topdir /tmp" -ba /tmp/nailgun-net-check.spec
cp $(SANDBOX)/tmp/RPMS/x86_64/nailgun-net-check-*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
sudo sh -c "$${SANDBOX_DOWN}"
$(ACTION.TOUCH)
$(BUILD_DIR)/packages/rpm/rpm-rbenv-ruby.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX
$(BUILD_DIR)/packages/rpm/rpm-rbenv-ruby.done: export SANDBOX_UP:=$(SANDBOX_UP)
$(BUILD_DIR)/packages/rpm/rpm-rbenv-ruby.done: export SANDBOX_DOWN:=$(SANDBOX_DOWN)
$(BUILD_DIR)/packages/rpm/rpm-rbenv-ruby.done: \
$(BUILD_DIR)/packages/rpm/prep.done \
$(SOURCE_DIR)/packages/rpm/specs/rbenv-ruby-1.9.3-p392.spec
sudo sh -c "$${SANDBOX_UP}"
sudo mkdir -p $(SANDBOX)/tmp/SOURCES
sudo cp $(LOCAL_MIRROR_SRC)/* $(SANDBOX)/tmp/SOURCES
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/rbenv-ruby-*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
sudo sh -c "$${SANDBOX_DOWN}"
$(ACTION.TOUCH)
sudo unzip -q $(SANDBOX)/tmp/SOURCES/9f8d2ec75ba326d2a37884224698f3f96ff01629.zip -d $(SANDBOX)/tmp/SOURCES
sudo rm -rf $(SANDBOX)/tmp/SOURCES/mcollective
sudo mv $(SANDBOX)/tmp/SOURCES/marionette-collective-9f8d2ec75ba326d2a37884224698f3f96ff01629 $(SANDBOX)/tmp/SOURCES/mcollective
sudo chroot $(SANDBOX) sh -c "mkdir -p ~/rpmbuild/SOURCES ~/rpmbuild/SPECS && cd /tmp/SOURCES/mcollective && rake rpm && rake gem"
cp $(SANDBOX)/tmp/SOURCES/mcollective/build/*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
cp $(SANDBOX)/tmp/SOURCES/mcollective/build/*.gem $(LOCAL_MIRROR_GEMS)/gems/
MCOLLECTIVE_COMMIT:=9f8d2ec75ba326d2a37884224698f3f96ff01629
$(BUILD_DIR)/packages/rpm/rpm-mcollective.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX
$(BUILD_DIR)/packages/rpm/rpm-mcollective.done: export SANDBOX_UP:=$(SANDBOX_UP)
$(BUILD_DIR)/packages/rpm/rpm-mcollective.done: export SANDBOX_DOWN:=$(SANDBOX_DOWN)
$(BUILD_DIR)/packages/rpm/rpm-mcollective.done: \
$(BUILD_DIR)/packages/rpm/prep.done
sudo sh -c "$${SANDBOX_UP}"
sudo rm -rf $(SANDBOX)/tmp/marionette-collective-$(MCOLLECTIVE_COMMIT)
unzip -q $(LOCAL_MIRROR_SRC)/$(MCOLLECTIVE_COMMIT).zip -d $(SANDBOX)/tmp
sudo chroot $(SANDBOX) sh -c "mkdir -p ~/rpmbuild/SOURCES ~/rpmbuild/SPECS"
sudo chroot $(SANDBOX) sh -c "cd /tmp/marionette-collective-$(MCOLLECTIVE_COMMIT) && rake rpm && rake gem"
cp $(SANDBOX)/tmp/marionette-collective-$(MCOLLECTIVE_COMMIT)/build/*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
cp $(SANDBOX)/tmp/marionette-collective-$(MCOLLECTIVE_COMMIT)/build/*.gem $(LOCAL_MIRROR_GEMS)/gems/
(cd $(LOCAL_MIRROR_GEMS) && gem generate_index gems)
cp $(SANDBOX)/tmp/RPMS/x86_64/* $(BUILD_DIR)/packages/rpm/RPMS/x86_64/
sudo sh -c "$${SANDBOX_DOWN}"
$(ACTION.TOUCH)
$(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/sandbox-packages.done
$(BUILD_DIR)/packages/rpm/rpm-nailgun-net-check.done \
$(BUILD_DIR)/packages/rpm/rpm-rbenv-ruby.done \
$(BUILD_DIR)/packages/rpm/rpm-mcollective.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"` \
createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/repodata/comps.xml \
-o $(LOCAL_MIRROR_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_CENTOS_OS_BASEURL)
$(ACTION.TOUCH)
$(BUILD_DIR)/packages/rpm/build.done: $(BUILD_DIR)/packages/rpm/repo.done
$(ACTION.TOUCH)
$(ACTION.TOUCH)

View File

@ -1,31 +0,0 @@
Name: cirros-uec
Summary: CirrOS is a Tiny OS that specializes in running on a cloud
Version: 0.3.0
Release: 1
License: GPLv2
Source0: https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-%{version}-x86_64-uec.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-build
URL: https://launchpad.net/cirros
%description
This is a project to build a small cloud image that has useful tools and
function for debugging or developing cloud infrastructure.
%prep
rm -rf %{name}-%{version}
mkdir %{name}-%{version}
tar zxf %{_sourcedir}/cirros-%{version}-x86_64-uec.tar.gz -C %{name}-%{version}
%install
cd %{name}-%{version}
mkdir -p %{buildroot}/opt/nailgun/artifacts
install -m 644 cirros-%{version}-x86_64-blank.img %{buildroot}/opt/nailgun/artifacts/cirros-%{version}-x86_64-blank.img
install -m 644 cirros-%{version}-x86_64-vmlinuz %{buildroot}/opt/nailgun/artifacts/cirros-%{version}-x86_64-vmlinuz
install -m 644 cirros-%{version}-x86_64-initrd %{buildroot}/opt/nailgun/artifacts/cirros-%{version}-x86_64-initrd
%clean
rm -rf %{buildroot}
%files
/opt/nailgun/artifacts/cirros-%{version}-x86_64-blank.img
/opt/nailgun/artifacts/cirros-%{version}-x86_64-vmlinuz
/opt/nailgun/artifacts/cirros-%{version}-x86_64-initrd

View File

@ -1,53 +0,0 @@
Name: rabbitmq-server-plugins
Summary: RabbitMQ server plugins
Version: 2.6.1
Release: 1
License: GPLv2
Source0: http://www.rabbitmq.com/releases/plugins/v%{version}/amqp_client-%{version}.ez
Source1: http://www.rabbitmq.com/releases/plugins/v%{version}/rabbitmq_stomp-%{version}.ez
URL: http://www.rabbitmq.com/plugins.html
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Requires: rabbitmq-server = %{version}
%description
RabbitMQ server plugins
%package amqp_client
Summary : Native Erlang AMQP client for RabbitMQ
Requires : rabbitmq-server = %{version}
%description amqp_client
RabbitMQ plugin for native Erlang message passing to a broker.
Stomp plugin depends on it.
%package rabbitmq_stomp
Summary : STOMP plugin for RabbitMQ
Requires : rabbitmq-server = %{version}
Requires : rabbitmq-server-plugins-amqp_client = %{version}
Obsoletes : rabbitmq-server-plugins-rabbit_stomp
%description rabbitmq_stomp
RabbitMQ plugin for exposing AMQP functionality via the STOMP protocol.
%define plugindir /usr/lib/rabbitmq/lib/rabbitmq_server-%{version}/plugins
%prep
%setup -c -T
%install
rm -rf %{buildroot}
install -d -m 755 %{buildroot}%{plugindir}
cp %{SOURCE0} %{buildroot}%{plugindir}
cp %{SOURCE1} %{buildroot}%{plugindir}
%clean
rm -rf %{buildroot}
%files amqp_client
%defattr(-,root,root)
%{plugindir}/amqp_client-%{version}.ez
%files rabbitmq_stomp
%defattr(-,root,root)
%{plugindir}/rabbitmq_stomp-%{version}.ez

View File

@ -1,4 +1,3 @@
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/AlexanderPavlenko/raemon/archive/b78eaae57c8e836b8018386dd96527b8d9971acc.zip

View File

@ -33,4 +33,4 @@ $(BUILD_DIR)/%/.dir:
@touch $@
assert-variable=$(if $($1),,$(error Variable $1 need to be defined))
find-files=$(shell test -d $1 && find $1 -type f 2> /dev/null)
find-files=$(shell test -d $1 && find $1 -type f 2> /dev/null)

View File

@ -1,7 +1,7 @@
define yum_local_repo
[mirror]
name=Mirantis mirror
baseurl=file://$(shell readlink -f -m $(LOCAL_MIRROR_CENTOS_OS_BASEURL))
baseurl=file://$(LOCAL_MIRROR_CENTOS_OS_BASEURL)
gpgcheck=0
enabled=1
endef
@ -17,9 +17,9 @@ exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
pluginpath=$(shell readlink -f -m $(SANDBOX)/etc/yum-plugins)
pluginconfpath=$(shell readlink -f -m $(SANDBOX)/etc/yum/pluginconf.d)
reposdir=$(shell readlink -f -m $(SANDBOX)/etc/yum.repos.d)
pluginpath=$(SANDBOX)/etc/yum-plugins
pluginconfpath=$(SANDBOX)/etc/yum/pluginconf.d
reposdir=$(SANDBOX)/etc/yum.repos.d
endef
SANDBOX_PACKAGES:=\