-###############
-# UNDERCLOUD #
-###############
-
-.PHONY: undercloud
-undercloud: $(BUILD_DIR)/undercloud.qcow2
-
-$(BUILD_DIR)/undercloud.qcow2: tackerclient-rpm
- @echo "Building the Apex Undercloud Image"
- @./undercloud.sh
-
-$(BUILD_DIR)/opnfv-apex-undercloud.tar.gz: $(BUILD_DIR)/undercloud.qcow2
- @echo "Preparing the Apex Undercloud RPM prerequisites"
- pushd ../ && git archive --format=tar --prefix=opnfv-apex-undercloud-$(RPMVERS)/ HEAD > $(BUILD_DIR)/opnfv-apex-undercloud.tar
- tar -rf $(BUILD_DIR)/opnfv-apex-undercloud.tar \
- --xform="s:.*undercloud.qcow2:opnfv-apex-undercloud-$(RPMVERS)/build/undercloud.qcow2:" $(BUILD_DIR)/undercloud.qcow2
- gzip -f $(BUILD_DIR)/opnfv-apex-undercloud.tar
-
-.PHONY: undercloud-rpm-check
-undercloud-rpm-check: $(BUILD_DIR)/opnfv-apex-undercloud.tar.gz
- rpmbuild --clean -bi -bl rpm_specs/opnfv-apex-undercloud.spec $(RPM_DIR_ARGS) -D "release $(shell echo $(RELEASE) | tr -d '_-')"
-
-.PHONY: undercloud-rpm
-undercloud-rpm: $(BUILD_DIR)/opnfv-apex-undercloud.tar.gz $(RPMUDR)
-
-$(RPMUDR):
- @echo "Building the Apex Undercloud RPM"
- rpmbuild --clean -ba rpm_specs/opnfv-apex-undercloud.spec $(RPM_DIR_ARGS) -D "release $(shell echo $(RELEASE) | tr -d '_-')"
-
-###############
-# OVERCLOUD #
-###############
-
-.PHONY: overcloud-full
-overcloud-full: $(BUILD_DIR)/overcloud-full.qcow2
-
-$(BUILD_DIR)/overcloud-full.qcow2: congress-rpm tacker-rpm networking-vpp-rpm
- @echo "Building the Apex Base Overcloud Image"
- @./overcloud-full.sh
-
-###############
-# ODL #
-###############
-
-.PHONY: overcloud-opendaylight
-overcloud-opendaylight: $(BUILD_DIR)/overcloud-full-opendaylight.qcow2
-
-$(BUILD_DIR)/overcloud-full-opendaylight.qcow2: $(BUILD_DIR)/overcloud-full.qcow2
- @echo "Building the Apex OpenDaylight Overcloud Image"
- @./overcloud-opendaylight.sh
-
-$(BUILD_DIR)/opnfv-apex.tar.gz: $(BUILD_DIR)/overcloud-full-opendaylight.qcow2
- tar -czf $(BUILD_DIR)/opnfv-apex.tar.gz --xform="s:.*overcloud-full-opendaylight.qcow2:opnfv-apex-$(RPMVERS)/build/overcloud-full-opendaylight.qcow2:" $(BUILD_DIR)/overcloud-full-opendaylight.qcow2
-
-.PHONY: opendaylight-rpm-check
-opendaylight-rpm-check: $(BUILD_DIR)/opnfv-apex.tar.gz
- rpmbuild --clean -bi -bl rpm_specs/opnfv-apex.spec $(RPM_DIR_ARGS) -D "release $(shell echo $(RELEASE) | tr -d '_-')"
-
-.PHONY: opendaylight-rpm
-opendaylight-rpm: $(BUILD_DIR)/opnfv-apex.tar.gz $(RPMODL)
-
-$(RPMODL):
- @echo "Building the Apex OpenDaylight RPM"
- # build the overcloud RPM
- rpmbuild --clean -ba rpm_specs/opnfv-apex.spec $(RPM_DIR_ARGS) -D "release $(shell echo $(RELEASE) | tr -d '_-')"
-
-###############
-# ONOS #
-###############
-
-.PHONY: overcloud-onos
-overcloud-onos: $(BUILD_DIR)/overcloud-full-onos.qcow2
-
-$(BUILD_DIR)/overcloud-full-onos.qcow2: $(BUILD_DIR)/overcloud-full.qcow2
- @echo "Building the Apex ONOS Overcloud Image"
- @./overcloud-onos.sh
-
-$(BUILD_DIR)/opnfv-apex-onos.tar.gz: $(BUILD_DIR)/overcloud-full-onos.qcow2
- tar -czf $(BUILD_DIR)/opnfv-apex-onos.tar.gz --xform="s:.*overcloud-full-onos.qcow2:opnfv-apex-onos-$(RPMVERS)/build/overcloud-full-onos.qcow2:" $(BUILD_DIR)/overcloud-full-onos.qcow2
-
-.PHONY: onos-rpm-check
-onos-rpm-check: $(BUILD_DIR)/opnfv-apex-onos.tar.gz
- rpmbuild --clean -bi -bl rpm_specs/opnfv-apex-onos.spec $(RPM_DIR_ARGS) -D "release $(shell echo $(RELEASE) | tr -d '_-')"
-
-.PHONY: onos-rpm
-onos-rpm: $(BUILD_DIR)/opnfv-apex-onos.tar.gz $(RPMONO)
-
-$(RPMONO):
- @echo "Building the Apex ONOS RPM"
- # build the overcloud RPM
- rpmbuild --clean -ba rpm_specs/opnfv-apex-onos.spec $(RPM_DIR_ARGS) -D "release $(shell echo $(RELEASE) | tr -d '_-')"
-
-###############
-# ISO #
-###############
-
-$(CENTISO):
- curl $(CENTDNLD) -z $(CENTISO) -o $(CENTISO) --verbose --silent --location
-
-iso-clean:
- @rm -Rf $(BUILD_DIR)/centos
- @rm -Rf $(BUILD_DIR)/release
- @rm -f $(ISO)
-
-.PHONY: mount-centiso umount-centiso
-mount-centiso: $(CENTISO)
- @echo "Mounting CentOS ISO in $(CENTDIR)"
- @mkdir -p $(CENTDIR)
- @fuseiso $(CENTISO) $(CENTDIR)
-
-umount-centiso:
- @set +e
- @echo "Unmounting CentOS ISO from $(CENTDIR)"
- @fusermount -u $(CENTDIR)
- @rmdir $(CENTDIR)
- @set -e
-
-.PHONY: iso
-iso: iso-clean images rpms $(CENTISO)
- @echo "Building the Apex ISO"
- @mkdir $(BUILD_DIR)/centos $(BUILD_DIR)/release
- cd $(BUILD_DIR)/centos && bsdtar -xf ../$(shell basename $(CENTISO))
- # modify the installer iso's contents
- @chmod -R u+w $(BUILD_DIR)/centos
- @cp -f isolinux.cfg $(BUILD_DIR)/centos/isolinux/isolinux.cfg
- @ln $(RPMCOM) $(BUILD_DIR)/centos/Packages
- @ln $(RPMUDR) $(BUILD_DIR)/centos/Packages
- @ln $(RPMODL) $(BUILD_DIR)/centos/Packages
- # add packages to the centos packages
- cd $(BUILD_DIR)/centos/Packages && yumdownloader openvswitch openstack-tripleo jq python34 python34-libs python34-yaml python34-setuptools ipxe-roms-qemu
- cd $(BUILD_DIR)/centos/Packages && curl -O https://radez.fedorapeople.org/python34-markupsafe-0.23-9.el7.centos.x86_64.rpm
- cd $(BUILD_DIR)/centos/Packages && curl -O https://radez.fedorapeople.org/python3-jinja2-2.8-5.el7.centos.noarch.rpm
- cd $(BUILD_DIR)/centos/Packages && curl -O http://artifacts.opnfv.org/apex/dependencies/python3-ipmi-0.3.0-1.noarch.rpm
- # regenerate yum repo data
- @echo "Generating new yum metadata"
- createrepo --update -g $(BUILD_ROOT)/c7-opnfv-x86_64-comps.xml $(BUILD_DIR)/centos
- # build the iso
- @echo "Building OPNFV iso"
- mkisofs -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -V "OPNFV CentOS 7 x86_64" -R -J -v -T -o $(ISO) $(BUILD_DIR)/centos
- isohybrid $(ISO)
- @printf "\n\nISO is built at $(ISO)\n\n"
-
-####################
-# python3-jinja2 #
-####################
-
-.PHONY: python3-jinja2
-python3-jinja2: python3-markupsafe
- cd $(BUILD_DIR) \
- && curl -O -L artifacts.opnfv.org/apex/dependencies/python-jinja2-2.8-5.fc24.src.rpm \
- && rpm2cpio python-jinja2-2.8-5.fc24.src.rpm | cpio -idmv \
- && sed -i 's/python3-devel/python34-devel/' python-jinja2.spec \
- && sed -i 's/python3-setuptools/python34-setuptools/' python-jinja2.spec \
- && sed -i 's/python3-pytest/python34-pytest/' python-jinja2.spec \
- && sed -i 's/python3-markupsafe/python34-markupsafe/' python-jinja2.spec \
- && rpmbuild -ba python-jinja2.spec $(RPM_DIR_ARGS) -D "with_python3 1"
-
-########################
-# python3-markupsafe #
-########################
-
-.PHONY: python3-markupsafe
-python3-markupsafe:
- cd $(BUILD_DIR) \
- && curl -O -L artifacts.opnfv.org/apex/dependencies/python-markupsafe-0.23-9.fc24.src.rpm \
- && rpm2cpio python-markupsafe-0.23-9.fc24.src.rpm | cpio -idmv \
- && sed -i 's/python3-devel/python34-devel/' python-markupsafe.spec \
- && sed -i 's/python3-setuptools/python34-setuptools/' python-markupsafe.spec \
- && sed -i 's/python3-pytest/python34-pytest/' python-markupsafe.spec \
- && sed -i 's/python3-markupsafe/python34-markupsafe/' python-markupsafe.spec \
- && rpmbuild -ba python-markupsafe.spec $(RPM_DIR_ARGS) -D "with_python3 1"
-