75 lines
2.8 KiB
Makefile
75 lines
2.8 KiB
Makefile
.PHONY: clean clean-rpm
|
|
|
|
clean: clean-rpm
|
|
|
|
clean-rpm:
|
|
-mount | grep '$(BUILD_DIR)/packages/rpm/SANDBOX' | while read entry; do \
|
|
set -- $$entry; \
|
|
mntpt="$$3"; \
|
|
sudo umount $$mntpt; \
|
|
done
|
|
sudo rm -rf $(BUILD_DIR)/packages/rpm
|
|
|
|
RPM_SOURCES:=$(BUILD_DIR)/packages/rpm/SOURCES
|
|
|
|
# Usage:
|
|
# (eval (call build_rpm,package_name))
|
|
define build_rpm
|
|
$(BUILD_DIR)/packages/rpm/repo.done: $(BUILD_DIR)/packages/rpm/$1.done
|
|
$(BUILD_DIR)/packages/rpm/repo.done: $(BUILD_DIR)/packages/rpm/$1-repocleanup.done
|
|
|
|
# You can use package name as a target, for example: make ruby21-rubygem-astute
|
|
# It will build astute rpm package
|
|
$1: $(BUILD_DIR)/packages/rpm/$1.done
|
|
|
|
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/mirror/centos/build.done
|
|
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/source_$1.done
|
|
|
|
|
|
$(BUILD_DIR)/packages/rpm/$1.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX/$1
|
|
$(BUILD_DIR)/packages/rpm/$1.done: export SANDBOX_UP:=$$(SANDBOX_UP)
|
|
$(BUILD_DIR)/packages/rpm/$1.done: export SANDBOX_DOWN:=$$(SANDBOX_DOWN)
|
|
$(BUILD_DIR)/packages/rpm/$1.done: \
|
|
$(SOURCE_DIR)/packages/rpm/specs/$1.spec \
|
|
$(BUILD_DIR)/repos/repos.done
|
|
mkdir -p $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
|
sudo sh -c "$$$${SANDBOX_UP}"
|
|
sudo yum -c $$(SANDBOX)/etc/yum.conf --installroot=$$(SANDBOX) -y --nogpgcheck install ruby rpm-build tar python-setuptools python-pbr
|
|
sudo mkdir -p $$(SANDBOX)/tmp/SOURCES
|
|
sudo cp -r $(BUILD_DIR)/packages/sources/$1/* $$(SANDBOX)/tmp/SOURCES
|
|
sudo cp $(SOURCE_DIR)/packages/rpm/specs/$1.spec $$(SANDBOX)/tmp
|
|
sudo chroot $$(SANDBOX) rpmbuild --nodeps -vv --define "_topdir /tmp" -ba /tmp/$1.spec
|
|
cp $$(SANDBOX)/tmp/RPMS/*/$1-*.rpm $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
|
sudo sh -c "$$$${SANDBOX_DOWN}"
|
|
$$(ACTION.TOUCH)
|
|
|
|
$(BUILD_DIR)/packages/rpm/$1-repocleanup.done: $(BUILD_DIR)/mirror/centos/build.done
|
|
find $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages -regex '.*/$1-[^-]+-[^-]+' -delete
|
|
$$(ACTION.TOUCH)
|
|
endef
|
|
|
|
|
|
$(eval $(call build_rpm,fencing-agent))
|
|
$(eval $(call build_rpm,fuel-agent))
|
|
$(eval $(call build_rpm,fuelmenu))
|
|
$(eval $(call build_rpm,nailgun-mcagents))
|
|
$(eval $(call build_rpm,ruby21-nailgun-mcagents))
|
|
$(eval $(call build_rpm,nailgun-net-check))
|
|
$(eval $(call build_rpm,python-tasklib))
|
|
$(eval $(call build_rpm,nailgun))
|
|
$(eval $(call build_rpm,shotgun))
|
|
$(eval $(call build_rpm,fuel-ostf))
|
|
$(eval $(call build_rpm,nailgun-agent))
|
|
$(eval $(call build_rpm,nailgun-redhat-license))
|
|
$(eval $(call build_rpm,python-fuelclient))
|
|
$(eval $(call build_rpm,ruby21-rubygem-astute))
|
|
|
|
$(BUILD_DIR)/packages/rpm/repo.done:
|
|
find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages \;
|
|
createrepo -g $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/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)
|