Merge "packages: make it possible to (re)build only Debian/RPM packages"
This commit is contained in:
commit
caf72f3e77
|
@ -114,9 +114,11 @@ UBUNTU_IMAGE_RELEASE:=$(UBUNTU_MAJOR)$(UBUNTU_MINOR)
|
|||
SEPARATE_IMAGES?=/boot,ext2 /,ext4
|
||||
|
||||
# Rebuld packages locally (do not use upstream versions)
|
||||
# This option is depricated, because there are no upstream versions
|
||||
# of nailgun packages any more
|
||||
BUILD_PACKAGES?=1
|
||||
BUILD_DEB_PACKAGES?=1
|
||||
ifeq (0,$(strip BUILD_PACKAGES))
|
||||
BUILD_DEB_PACKAGES?=0
|
||||
endif
|
||||
|
||||
# Build OpenStack packages from external sources (do not use prepackaged versions)
|
||||
# Enter the comma-separated list of OpenStack packages to build, or '0' otherwise.
|
||||
|
|
|
@ -15,7 +15,8 @@ define build_deb
|
|||
$(BUILD_DIR)/packages/deb/repo.done: $(BUILD_DIR)/packages/deb/$1.done
|
||||
$(BUILD_DIR)/packages/deb/repo.done: $(BUILD_DIR)/packages/deb/$1-repocleanup.done
|
||||
|
||||
$(BUILD_DIR)/packages/deb/$1.done: $(BUILD_DIR)/mirror/build.done
|
||||
$(BUILD_DIR)/packages/deb/$1.done: $(BUILD_DIR)/mirror/ubuntu/build.done
|
||||
$(BUILD_DIR)/packages/deb/$1.done: $(BUILD_DIR)/packages/source_$1.done
|
||||
|
||||
$(BUILD_DIR)/packages/deb/$1.done: SANDBOX_UBUNTU:=$(BUILD_DIR)/packages/deb/SANDBOX
|
||||
$(BUILD_DIR)/packages/deb/$1.done: export SANDBOX_UBUNTU_UP:=$$(SANDBOX_UBUNTU_UP)
|
||||
|
@ -42,7 +43,7 @@ endif
|
|||
sudo sh -c "$$$${SANDBOX_UBUNTU_DOWN}"
|
||||
$$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/packages/deb/$1-repocleanup.done: $(BUILD_DIR)/mirror/build.done
|
||||
$(BUILD_DIR)/packages/deb/$1-repocleanup.done: $(BUILD_DIR)/mirror/ubuntu/build.done
|
||||
sudo find $(LOCAL_MIRROR_UBUNTU_OS_BASEURL)/pool/main -regex '.*$1_[^-]+-[^-]+.*' -delete
|
||||
$$(ACTION.TOUCH)
|
||||
endef
|
||||
|
@ -60,6 +61,9 @@ $(BUILD_DIR)/packages/deb/repo.done:
|
|||
sudo $(SOURCE_DIR)/regenerate_ubuntu_repo.sh $(LOCAL_MIRROR_UBUNTU_OS_BASEURL) $(UBUNTU_RELEASE)
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/packages/deb/build.done: $(BUILD_DIR)/packages/deb/repo.done \
|
||||
$(BUILD_DIR)/packages/deb/debian-boot/build.done
|
||||
ifneq (0,$(strip $(BUILD_DEB_PACKAGES)))
|
||||
$(BUILD_DIR)/packages/deb/build.done: $(BUILD_DIR)/packages/deb/repo.done
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/packages/deb/build.done: $(BUILD_DIR)/packages/deb/debian-boot/build.done
|
||||
$(ACTION.TOUCH)
|
||||
|
|
|
@ -1,3 +1,72 @@
|
|||
# Usage:
|
||||
# (eval (call prepare_file_source,package_name,file_name,source_path))
|
||||
# Note: dependencies for deb targets are also specified here to make
|
||||
# sure the source is ready before the build is started.
|
||||
define prepare_file_source
|
||||
$(BUILD_DIR)/packages/source_$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
cp $3 $(BUILD_DIR)/packages/sources/$1/$2
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_python_source,package_name,file_name,source_path))
|
||||
# Note: dependencies for deb targets are also specified here to make
|
||||
# sure the source is ready before the build is started.
|
||||
define prepare_python_source
|
||||
$(BUILD_DIR)/packages/source_$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
ifeq ($1,nailgun)
|
||||
cd $3 && npm install && grunt build --static-dir=compressed_static
|
||||
rm -rf $3/static
|
||||
mv $3/compressed_static $3/static
|
||||
endif
|
||||
cd $3 && python setup.py sdist -d $(BUILD_DIR)/packages/sources/$1
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_tgz_source,package_name,file_name,source_path))
|
||||
# Note: dependencies for deb targets are also specified here to make
|
||||
# sure the source is ready before the build is started.
|
||||
define prepare_tgz_source
|
||||
$(BUILD_DIR)/packages/source_$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
cd $3 && tar zcf $(BUILD_DIR)/packages/sources/$1/$2 *
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_ruby21_source,package_name,file_name,source_path))
|
||||
# Note: dependencies for deb targets are also specified here to make
|
||||
# sure the source is ready before the build is started.
|
||||
define prepare_ruby21_source
|
||||
$(BUILD_DIR)/packages/source_$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
cd $3 && gem build *.gemspec && cp $2 $(BUILD_DIR)/packages/sources/$1/$2
|
||||
endef
|
||||
|
||||
$(eval $(call prepare_file_source,fencing-agent,fencing-agent.rb,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.rb))
|
||||
$(eval $(call prepare_file_source,fencing-agent,fencing-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.cron))
|
||||
$(eval $(call prepare_python_source,fuel-agent,fuel-agent-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/fuel_agent))
|
||||
$(eval $(call prepare_file_source,fuel-agent,fuel-agent.conf,$(BUILD_DIR)/repos/nailgun/fuel_agent/etc/fuel-agent/fuel-agent.conf.sample))
|
||||
$(eval $(call prepare_tgz_source,fuel-agent,fuel-agent-cloud-init-templates.tar.gz,$(BUILD_DIR)/repos/nailgun/fuel_agent/cloud-init-templates))
|
||||
$(eval $(call prepare_python_source,fuel-ostf,fuel-ostf-0.1.tar.gz,$(BUILD_DIR)/repos/ostf))
|
||||
$(eval $(call prepare_python_source,fuelmenu,fuelmenu-0.1.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelmenu))
|
||||
$(eval $(call prepare_file_source,nailgun-agent,agent,$(BUILD_DIR)/repos/nailgun/bin/agent))
|
||||
$(eval $(call prepare_file_source,nailgun-agent,nailgun-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/nailgun-agent.cron))
|
||||
$(eval $(call prepare_tgz_source,nailgun-mcagents,mcagents.tar.gz,$(BUILD_DIR)/repos/astute/mcagents))
|
||||
$(eval $(call prepare_tgz_source,ruby21-nailgun-mcagents,nailgun-mcagents.tar.gz,$(BUILD_DIR)/repos/astute/mcagents))
|
||||
$(eval $(call prepare_python_source,nailgun-net-check,nailgun-net-check-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/network_checker))
|
||||
$(eval $(call prepare_python_source,python-tasklib,tasklib-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/tasklib))
|
||||
$(eval $(call prepare_python_source,nailgun,nailgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/nailgun))
|
||||
$(eval $(call prepare_python_source,python-fuelclient,fuelclient-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelclient))
|
||||
$(eval $(call prepare_python_source,shotgun,Shotgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/shotgun))
|
||||
$(eval $(call prepare_file_source,nailgun-redhat-license,get_redhat_licenses,$(SOURCE_DIR)/packages/rpm/nailgun-redhat-license/get_redhat_licenses))
|
||||
$(eval $(call prepare_file_source,ruby21-rubygem-astute,astute.conf,$(SOURCE_DIR)/packages/rpm/astute.conf))
|
||||
$(eval $(call prepare_ruby21_source,ruby21-rubygem-astute,astute-0.0.2.gem,$(BUILD_DIR)/repos/astute))
|
||||
|
||||
include $(SOURCE_DIR)/packages/rpm/module.mk
|
||||
include $(SOURCE_DIR)/packages/deb/module.mk
|
||||
|
||||
|
@ -5,10 +74,14 @@ include $(SOURCE_DIR)/packages/deb/module.mk
|
|||
|
||||
ifneq ($(BUILD_PACKAGES),0)
|
||||
$(BUILD_DIR)/packages/build.done: \
|
||||
$(BUILD_DIR)/packages/rpm/build.done $(BUILD_DIR)/packages/deb/build.done
|
||||
$(BUILD_DIR)/packages/rpm/build.done \
|
||||
$(BUILD_DIR)/packages/deb/build.done
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/packages/build.done:
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
packages: $(BUILD_DIR)/packages/build.done
|
||||
|
||||
packages-deb: $(BUILD_DIR)/packages/deb/build.done
|
||||
packages-rpm: $(BUILD_DIR)/packages/rpm/build.done
|
||||
|
|
|
@ -9,47 +9,6 @@ clean-rpm:
|
|||
|
||||
RPM_SOURCES:=$(BUILD_DIR)/packages/rpm/SOURCES
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_file_source,package_name,file_name,source_path))
|
||||
define prepare_file_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
cp $3 $(BUILD_DIR)/packages/sources/$1/$2
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_python_source,package_name,file_name,source_path))
|
||||
define prepare_python_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
ifeq ($1,nailgun)
|
||||
cd $3 && npm install && grunt build --static-dir=compressed_static
|
||||
rm -rf $3/static
|
||||
mv $3/compressed_static $3/static
|
||||
endif
|
||||
cd $3 && python setup.py sdist -d $(BUILD_DIR)/packages/sources/$1
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_tgz_source,package_name,file_name,source_path))
|
||||
define prepare_tgz_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
cd $3 && tar zcf $(BUILD_DIR)/packages/sources/$1/$2 *
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_ruby21_source,package_name,file_name,source_path))
|
||||
define prepare_ruby21_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/sources/$1
|
||||
cd $3 && gem build *.gemspec && cp $2 $(BUILD_DIR)/packages/sources/$1/$2
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call build_rpm,package_name))
|
||||
define build_rpm
|
||||
|
@ -61,6 +20,8 @@ $(BUILD_DIR)/packages/rpm/repo.done: $(BUILD_DIR)/packages/rpm/$1-repocleanup.do
|
|||
$1: $(BUILD_DIR)/packages/rpm/$1.done
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/mirror/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
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: export SANDBOX_UP:=$$(SANDBOX_UP)
|
||||
|
@ -84,25 +45,6 @@ $(BUILD_DIR)/packages/rpm/$1-repocleanup.done: $(BUILD_DIR)/mirror/build.done
|
|||
$$(ACTION.TOUCH)
|
||||
endef
|
||||
|
||||
$(eval $(call prepare_file_source,fencing-agent,fencing-agent.rb,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.rb))
|
||||
$(eval $(call prepare_file_source,fencing-agent,fencing-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.cron))
|
||||
$(eval $(call prepare_python_source,fuel-agent,fuel-agent-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/fuel_agent))
|
||||
$(eval $(call prepare_file_source,fuel-agent,fuel-agent.conf,$(BUILD_DIR)/repos/nailgun/fuel_agent/etc/fuel-agent/fuel-agent.conf.sample))
|
||||
$(eval $(call prepare_tgz_source,fuel-agent,fuel-agent-cloud-init-templates.tar.gz,$(BUILD_DIR)/repos/nailgun/fuel_agent/cloud-init-templates))
|
||||
$(eval $(call prepare_python_source,fuel-ostf,fuel-ostf-0.1.tar.gz,$(BUILD_DIR)/repos/ostf))
|
||||
$(eval $(call prepare_python_source,fuelmenu,fuelmenu-0.1.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelmenu))
|
||||
$(eval $(call prepare_file_source,nailgun-agent,agent,$(BUILD_DIR)/repos/nailgun/bin/agent))
|
||||
$(eval $(call prepare_file_source,nailgun-agent,nailgun-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/nailgun-agent.cron))
|
||||
$(eval $(call prepare_tgz_source,nailgun-mcagents,mcagents.tar.gz,$(BUILD_DIR)/repos/astute/mcagents))
|
||||
$(eval $(call prepare_tgz_source,ruby21-nailgun-mcagents,nailgun-mcagents.tar.gz,$(BUILD_DIR)/repos/astute/mcagents))
|
||||
$(eval $(call prepare_python_source,nailgun-net-check,nailgun-net-check-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/network_checker))
|
||||
$(eval $(call prepare_python_source,python-tasklib,tasklib-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/tasklib))
|
||||
$(eval $(call prepare_python_source,nailgun,nailgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/nailgun))
|
||||
$(eval $(call prepare_python_source,python-fuelclient,fuelclient-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelclient))
|
||||
$(eval $(call prepare_python_source,shotgun,Shotgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/shotgun))
|
||||
$(eval $(call prepare_file_source,nailgun-redhat-license,get_redhat_licenses,$(SOURCE_DIR)/packages/rpm/nailgun-redhat-license/get_redhat_licenses))
|
||||
$(eval $(call prepare_file_source,ruby21-rubygem-astute,astute.conf,$(SOURCE_DIR)/packages/rpm/astute.conf))
|
||||
$(eval $(call prepare_ruby21_source,ruby21-rubygem-astute,astute-0.0.2.gem,$(BUILD_DIR)/repos/astute))
|
||||
|
||||
$(eval $(call build_rpm,fencing-agent))
|
||||
$(eval $(call build_rpm,fuel-agent))
|
||||
|
|
Loading…
Reference in New Issue