f4d17450 |
#
# Copyright VMware, Inc 2015
#
|
060670a4 |
SRCROOT := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) |
f4d17450 |
MAKEROOT=$(SRCROOT)/support/make |
8bb8e36e |
# do not build these targets as '%'
$(MAKEROOT)/makedefs.mk: ;
Makefile: ;
|
f4d17450 |
include $(MAKEROOT)/makedefs.mk
|
a6c9285c |
export PATH := $(SRCROOT)/tools/bin:$(PATH) |
2c153d29 |
export PHOTON_BUILD_NUM=$(PHOTON_BUILD_NUMBER)
export PHOTON_RELEASE_VER=$(PHOTON_RELEASE_VERSION) |
a6c9285c |
|
f4d17450 |
ifdef PHOTON_CACHE_PATH |
5d05cfcc |
PHOTON_PACKAGES_MICRO := packages-cached
PHOTON_PACKAGES_MINIMAL := packages-cached |
f4d17450 |
PHOTON_PACKAGES := packages-cached
else |
5d05cfcc |
PHOTON_PACKAGES_MICRO := packages-micro
PHOTON_PACKAGES_MINIMAL := packages-minimal |
f4d17450 |
PHOTON_PACKAGES := packages
endif
ifdef PHOTON_SOURCES_PATH
PHOTON_SOURCES := sources-cached
else |
56ec252d |
PHOTON_SOURCES ?= sources |
f4d17450 |
endif
|
94cdb4d4 |
MINIMAL_PACKAGE_LIST_FILE := build_install_options_minimal.json
MICRO_PACKAGE_LIST_FILE := build_install_options_micro.json
FULL_PACKAGE_LIST_FILE := build_install_options_all.json
|
0bba3e62 |
ifdef PHOTON_PUBLISH_RPMS_PATH
PHOTON_PUBLISH_RPMS := publish-rpms-cached
else
PHOTON_PUBLISH_RPMS := publish-rpms
endif
|
935e2e27 |
ifdef PHOTON_PUBLISH_XRPMS_PATH
PHOTON_PUBLISH_XRPMS := publish-x-rpms-cached
else
PHOTON_PUBLISH_XRPMS := publish-x-rpms
endif
|
f5001053 |
ifdef PHOTON_ENABLE_RPMCHECK
PHOTON_RPMCHECK_OPTION := -u
else |
7322111a |
PHOTON_RPMCHECK_OPTION := |
f5001053 |
endif
|
a6c9285c |
TOOLS_BIN := $(SRCROOT)/tools/bin
CONTAIN := $(TOOLS_BIN)/contain |
fdddbe6d |
VIXDISKUTIL := $(TOOLS_BIN)/vixdiskutil |
af9aab1f |
IMGCONVERTER := $(TOOLS_BIN)/imgconverter |
a6c9285c |
|
624d1cc2 |
.PHONY : all iso clean photon-build-machine photon-vagrant-build photon-vagrant-local cloud-image \ |
af9aab1f |
check check-docker check-bison check-g++ check-gawk check-createrepo check-kpartx check-vagrant check-packer check-packer-ovf-plugin check-sanity \ |
8f273587 |
clean-install clean-chroot build-updated-packages generate-yaml-files |
f4d17450 |
|
6a4bde38 |
THREADS?=1 |
8bcb2fdd |
|
207179f5 |
all: iso minimal-iso photon-docker-image k8s-docker-images ostree-host-iso live-iso cloud-image-all src-iso |
f4d17450 |
|
66b3bc73 |
micro: micro-iso |
2cbd5a80 |
@: |
66b3bc73 |
|
e3431859 |
micro-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MICRO) |
5d05cfcc |
@echo "Building Photon Micro ISO..."
@cd $(PHOTON_INSTALLER_DIR) && \ |
2c153d29 |
$(PHOTON_INSTALLER) \
-i $(PHOTON_STAGE)/photon-micro-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ |
75ad8e92 |
-k $(PHOTON_STAGE)/photon-micro-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).debug.iso \ |
5d05cfcc |
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \ |
e3431859 |
-p $(PHOTON_GENERATED_DATA_DIR)/$(MICRO_PACKAGE_LIST_FILE) \ |
b94a5dc5 |
-c $(PHOTON_GENERATED_DATA_DIR)/$(MICRO_PACKAGE_LIST_FILE) \ |
94cdb4d4 |
-o $(PHOTON_STAGE)/common/data \ |
c1a6582a |
-d $(PHOTON_STAGE)/pkg_info.json \ |
6860f77c |
-s $(PHOTON_DATA_DIR) \ |
5d05cfcc |
-f > \ |
332d24fa |
$(PHOTON_LOGS_DIR)/installer.log 2>&1 |
5d05cfcc |
|
58120db4 |
packages-micro: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) generate-dep-lists |
5d05cfcc |
@echo "Building all Micro RPMS..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
7322111a |
$(PHOTON_PACKAGE_BUILDER) \ |
5d05cfcc |
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \
-x $(PHOTON_SRCS_DIR) \
-b $(PHOTON_CHROOT_PATH) \
-l $(PHOTON_LOGS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
a59d15a5 |
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
6a4bde38 |
-t ${THREADS} |
5d05cfcc |
|
66b3bc73 |
minimal: minimal-iso |
2cbd5a80 |
@: |
66b3bc73 |
|
e3431859 |
minimal-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MINIMAL) |
5d05cfcc |
@echo "Building Photon Minimal ISO..." |
4d6a578d |
@cd $(PHOTON_INSTALLER_DIR) && \ |
2c153d29 |
$(PHOTON_INSTALLER) \
-i $(PHOTON_STAGE)/photon-minimal-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ |
75ad8e92 |
-k $(PHOTON_STAGE)/photon-minimal-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).debug.iso \ |
4d6a578d |
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \ |
e3431859 |
-p $(PHOTON_GENERATED_DATA_DIR)/$(MINIMAL_PACKAGE_LIST_FILE) \ |
b94a5dc5 |
-c $(PHOTON_GENERATED_DATA_DIR)/$(MINIMAL_PACKAGE_LIST_FILE) \ |
94cdb4d4 |
-o $(PHOTON_STAGE)/common/data \ |
c1a6582a |
-d $(PHOTON_STAGE)/pkg_info.json \ |
6860f77c |
-s $(PHOTON_DATA_DIR) \ |
4d6a578d |
-f > \ |
332d24fa |
$(PHOTON_LOGS_DIR)/installer.log 2>&1 |
4d6a578d |
|
2f46569e |
ostree-host-iso: check $(PHOTON_STAGE) ostree-repo
@echo "Building Photon OSTree Host ISO..."
@cd $(PHOTON_INSTALLER_DIR) && \ |
2c153d29 |
$(PHOTON_INSTALLER) \
-i $(PHOTON_STAGE)/photon-ostree-host-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ |
2f46569e |
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \ |
e3431859 |
-p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_ostreehost.json \ |
b94a5dc5 |
-c $(PHOTON_GENERATED_DATA_DIR)/build_install_options_ostreehost.json \ |
94cdb4d4 |
-o $(PHOTON_STAGE)/common/data \ |
6860f77c |
-s $(PHOTON_DATA_DIR) \ |
2f46569e |
-f > \ |
332d24fa |
$(PHOTON_LOGS_DIR)/installer.log 2>&1 |
2f46569e |
|
a9158ca2 |
live-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES_MINIMAL) minimal-iso |
07751fba |
@echo "Building Photon Minimal LIVE ISO..."
@cd $(PHOTON_INSTALLER_DIR) && \ |
2c153d29 |
$(PHOTON_INSTALLER) \
-i $(PHOTON_STAGE)/photon-live-iso-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ |
75ad8e92 |
-k $(PHOTON_STAGE)/photon-live-iso-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).debug.iso \ |
07751fba |
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \ |
4120d50b |
-p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_livecd.json \ |
b94a5dc5 |
-c $(PHOTON_GENERATED_DATA_DIR)/build_install_options_livecd.json \ |
94cdb4d4 |
-o $(PHOTON_STAGE)/common/data \ |
c1a6582a |
-d $(PHOTON_STAGE)/pkg_info.json \ |
6860f77c |
-s $(PHOTON_DATA_DIR) \ |
07751fba |
-f > \ |
332d24fa |
$(PHOTON_LOGS_DIR)/installer.log 2>&1 |
07751fba |
|
58120db4 |
packages-minimal: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) generate-dep-lists |
5d05cfcc |
@echo "Building all RPMS..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
7322111a |
$(PHOTON_PACKAGE_BUILDER) \ |
5d05cfcc |
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \
-x $(PHOTON_SRCS_DIR) \
-b $(PHOTON_CHROOT_PATH) \
-l $(PHOTON_LOGS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
a59d15a5 |
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
6a4bde38 |
-t ${THREADS} |
5d05cfcc |
|
e3431859 |
iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES) ostree-repo |
71e6c92c |
@echo "Building Photon Full ISO..." |
f4d17450 |
@cd $(PHOTON_INSTALLER_DIR) && \ |
2c153d29 |
sudo $(PHOTON_INSTALLER) \
-i $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso \ |
75ad8e92 |
-k $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).debug.iso \ |
83b16988 |
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \ |
2cfb758d |
-x $(PHOTON_STAGE)/SRPMS \ |
e3431859 |
-p $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \ |
2c153d29 |
-o $(PHOTON_STAGE)/common/data \ |
c1a6582a |
-d $(PHOTON_STAGE)/pkg_info.json \ |
6860f77c |
-s $(PHOTON_DATA_DIR) \ |
83b16988 |
-f > \ |
332d24fa |
$(PHOTON_LOGS_DIR)/installer.log 2>&1 |
f4d17450 |
|
a63b3c17 |
custom-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES)
@echo "Building Photon custom ISO..."
@cd $(PHOTON_INSTALLER_DIR) && \
sudo $(PHOTON_INSTALLER) \
-i $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER)-custom.iso \ |
75ad8e92 |
-k $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER)-custom.debug.iso \ |
a63b3c17 |
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \
-x $(PHOTON_STAGE)/SRPMS \
-p $(PHOTON_GENERATED_DATA_DIR)/build_install_options_custom.json \
-o $(PHOTON_STAGE)/common/data \ |
c1a6582a |
-d $(PHOTON_STAGE)/pkg_info.json \ |
a63b3c17 |
-s $(PHOTON_DATA_DIR) \
-f > \
$(PHOTON_LOGS_DIR)/installer.log 2>&1
|
2cfb758d |
src-iso: check $(PHOTON_STAGE) $(PHOTON_PACKAGES)
@echo "Building Photon Full Source ISO..."
@cd $(PHOTON_INSTALLER_DIR) && \
sudo $(PHOTON_INSTALLER) \
-j $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).src.iso \
-w $(PHOTON_STAGE)/photon_iso \
-l $(PHOTON_STAGE)/LOGS \
-r $(PHOTON_STAGE)/RPMS \
-x $(PHOTON_STAGE)/SRPMS \
-p $(PHOTON_GENERATED_DATA_DIR)/$(FULL_PACKAGE_LIST_FILE) \
-o $(PHOTON_STAGE)/common/data \ |
c1a6582a |
-d $(PHOTON_STAGE)/pkg_info.json \ |
2cfb758d |
-s $(PHOTON_DATA_DIR) \
-f > \
$(PHOTON_LOGS_DIR)/sourceiso-installer.log 2>&1
|
83a89199 |
pkgtree: |
2cbd5a80 |
@cd $(PHOTON_SPECDEPS_DIR) && \
$(PHOTON_SPECDEPS) -s $(PHOTON_SPECS_DIR) -i pkg -p $(pkg)
|
c7b7f84e |
imgtree: |
83a89199 |
@cd $(PHOTON_SPECDEPS_DIR) && \ |
c7b7f84e |
$(PHOTON_SPECDEPS) -s $(PHOTON_SPECS_DIR) -i json -f $(PHOTON_DATA_DIR)/build_install_options_$(img).json |
83a89199 |
|
2cbd5a80 |
who-needs:
@cd $(PHOTON_SPECDEPS_DIR) && \ |
7322111a |
$(PHOTON_SPECDEPS) -s $(PHOTON_SPECS_DIR) -i who-needs -p $(pkg) |
2cbd5a80 |
|
935e2e27 |
packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_XRPMS) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists |
f4d17450 |
@echo "Building all RPMS..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
7322111a |
$(PHOTON_PACKAGE_BUILDER) \ |
83b16988 |
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \ |
d2526915 |
-a $(PHOTON_SRPMS_DIR) \ |
83b16988 |
-x $(PHOTON_SRCS_DIR) \
-b $(PHOTON_CHROOT_PATH) \
-l $(PHOTON_LOGS_DIR) \ |
935e2e27 |
-e $(PHOTON_PUBLISH_XRPMS_DIR) \ |
83b16988 |
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
a59d15a5 |
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
7322111a |
-w $(PHOTON_STAGE)/pkg_info.json \ |
90d8acae |
-g $(PHOTON_DATA_DIR)/pkg_build_options.json \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
6a4bde38 |
-t ${THREADS} |
f4d17450 |
|
935e2e27 |
updated-packages: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_XRPMS) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists |
42ffccb5 |
@echo "Building only updated RPMS..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
7322111a |
$(PHOTON_PACKAGE_BUILDER) \ |
42ffccb5 |
-s $(PHOTON_SPECS_DIR) \ |
83a89199 |
-r $(PHOTON_UPDATED_RPMS_DIR) \ |
42ffccb5 |
-x $(PHOTON_SRCS_DIR) \
-b $(PHOTON_CHROOT_PATH) \
-l $(PHOTON_LOGS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
a59d15a5 |
-e $(PHOTON_PUBLISH_XRPMS_DIR) \
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
42ffccb5 |
-k $(PHOTON_INPUT_RPMS_DIR) \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
42ffccb5 |
-t ${THREADS}
|
58120db4 |
tool-chain-stage1: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists |
db36e75e |
@echo "Building all RPMS..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
7322111a |
$(PHOTON_PACKAGE_BUILDER) \ |
db36e75e |
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \ |
d2526915 |
-a $(PHOTON_SRPMS_DIR) \ |
db36e75e |
-x $(PHOTON_SRCS_DIR) \
-b $(PHOTON_CHROOT_PATH) \
-l $(PHOTON_LOGS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
6a4bde38 |
-t ${THREADS} \ |
a59d15a5 |
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
db36e75e |
-m stage1
|
58120db4 |
tool-chain-stage2: check $(PHOTON_STAGE) $(PHOTON_PUBLISH_RPMS) $(PHOTON_SOURCES) $(CONTAIN) generate-dep-lists |
db36e75e |
@echo "Building all RPMS..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
7322111a |
$(PHOTON_PACKAGE_BUILDER) \ |
db36e75e |
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \ |
d2526915 |
-a $(PHOTON_SRPMS_DIR) \ |
db36e75e |
-x $(PHOTON_SRCS_DIR) \
-b $(PHOTON_CHROOT_PATH) \
-l $(PHOTON_LOGS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
6a4bde38 |
-t ${THREADS} \ |
a59d15a5 |
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
db36e75e |
-m stage2
|
0bba3e62 |
packages-cached: |
f4d17450 |
@echo "Using cached RPMS..."
@$(RM) -f $(PHOTON_RPMS_DIR_NOARCH)/* && \
$(RM) -f $(PHOTON_RPMS_DIR_X86_64)/* && \
$(CP) -f $(PHOTON_CACHE_PATH)/RPMS/noarch/* $(PHOTON_RPMS_DIR_NOARCH)/ && \
$(CP) -f $(PHOTON_CACHE_PATH)/RPMS/x86_64/* $(PHOTON_RPMS_DIR_X86_64)/
sources: |
9922bb69 |
@$(MKDIR) -p $(PHOTON_SRCS_DIR) |
f4d17450 |
|
9821c565 |
sources-cached: |
f4d17450 |
@echo "Using cached SOURCES..."
@$(MKDIR) -p $(PHOTON_SRCS_DIR) && \
$(CP) -rf $(PHOTON_SOURCES_PATH)/* $(PHOTON_SRCS_DIR)/
|
0bba3e62 |
publish-rpms:
@echo "Pulling publish rpms from bintray..."
@cd $(PHOTON_PULL_PUBLISH_RPMS_DIR) && \
$(PHOTON_PULL_PUBLISH_RPMS) $(PHOTON_PUBLISH_RPMS_DIR)
|
935e2e27 |
publish-x-rpms:
@echo "Pulling publish X rpms from bintray..."
@cd $(PHOTON_PULL_PUBLISH_RPMS_DIR) && \
$(PHOTON_PULL_PUBLISH_X_RPMS) $(PHOTON_PUBLISH_XRPMS_DIR)
|
0bba3e62 |
publish-rpms-cached:
@echo "Using cached publish rpms..."
@$(MKDIR) -p $(PHOTON_PUBLISH_RPMS_DIR) && \
$(CP) -rf $(PHOTON_PUBLISH_RPMS_PATH)/* $(PHOTON_PUBLISH_RPMS_DIR)/
|
935e2e27 |
publish-x-rpms-cached:
@echo "Using ..."
@$(MKDIR) -p $(PHOTON_PUBLISH_XRPMS_DIR) && \
$(CP) -rf $(PHOTON_PUBLISH_XRPMS_PATH)/* $(PHOTON_PUBLISH_XRPMS_DIR)/
|
b596b7f0 |
$(PHOTON_STAGE): |
f4d17450 |
@echo "Creating staging folder..."
$(MKDIR) -p $(PHOTON_STAGE)
@echo "Creating chroot path..."
$(MKDIR) -p $(PHOTON_CHROOT_PATH)
@echo "Building RPMS folders..."
@test -d $(PHOTON_RPMS_DIR_NOARCH) || $(MKDIR) -p $(PHOTON_RPMS_DIR_NOARCH)
@test -d $(PHOTON_RPMS_DIR_X86_64) || $(MKDIR) -p $(PHOTON_RPMS_DIR_X86_64) |
d2526915 |
@echo "Building SRPMS folders..."
@test -d $(PHOTON_SRPMS_DIR) || $(MKDIR) -p $(PHOTON_SRPMS_DIR) |
83a89199 |
@echo "Building UPDATED_RPMS folders..."
@test -d $(PHOTON_UPDATED_RPMS_DIR_NOARCH) || $(MKDIR) -p $(PHOTON_UPDATED_RPMS_DIR_NOARCH)
@test -d $(PHOTON_UPDATED_RPMS_DIR_X86_64) || $(MKDIR) -p $(PHOTON_UPDATED_RPMS_DIR_X86_64) |
f4d17450 |
@echo "Building SOURCES folder..."
@test -d $(PHOTON_SRCS_DIR) || $(MKDIR) -p $(PHOTON_SRCS_DIR)
@echo "Building LOGS folder..."
@test -d $(PHOTON_LOGS_DIR) || $(MKDIR) -p $(PHOTON_LOGS_DIR) |
a6f0f635 |
@echo "Creating COPYING file..."
install -m 444 $(SRCROOT)/COPYING $(PHOTON_STAGE)/COPYING |
a957def2 |
@echo "Creating NOTICE file..."
install -m 444 $(SRCROOT)/NOTICE $(PHOTON_STAGE)/NOTICE |
a6f0f635 |
|
2cbd5a80 |
|
3dc1b460 |
generate-dep-lists: |
2eccd628 |
$(RMDIR) $(PHOTON_GENERATED_DATA_DIR) |
3dc1b460 |
$(MKDIR) -p $(PHOTON_GENERATED_DATA_DIR)
@for f in $$(ls $(PHOTON_DATA_DIR)/build_install_options*.json) ; \
do \
cp $$f $(PHOTON_GENERATED_DATA_DIR); \
echo "Generating the install time dependency list for " $$f; \
cd $(PHOTON_SPECDEPS_DIR) && \
$(PHOTON_SPECDEPS) \
-s $(PHOTON_SPECS_DIR) \
-t $(PHOTON_STAGE) \
--input-type=json --file $$f -d json -a $(PHOTON_DATA_DIR); \
done |
f4d17450 |
|
207179f5 |
photon-docker-image: |
615f2667 |
sudo docker build --no-cache --tag photon-build ./support/dockerfiles/photon |
16934d5c |
sudo docker run \
-it \
--rm \
--privileged \
--net=host \ |
2c153d29 |
-e PHOTON_BUILD_NUMBER=$(PHOTON_BUILD_NUMBER) \
-e PHOTON_RELEASE_VERSION=$(PHOTON_RELEASE_VERSION) \ |
16934d5c |
-v `pwd`:/workspace \ |
615f2667 |
photon-build \ |
f093864e |
./support/dockerfiles/photon/make-docker-image.sh tdnf |
16934d5c |
|
207179f5 |
k8s-docker-images:
systemctl start docker && \
cd ./support/dockerfiles/k8s-docker-images && \ |
cd654beb |
./build-k8s-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
207179f5 |
./build-k8s-dns-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \ |
839f954f |
./build-k8s-dashboard-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
./build-flannel-docker-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) |
207179f5 |
install-photon-docker-image: photon-docker-image |
f093864e |
sudo docker build -t photon:tdnf . |
16934d5c |
|
2f46569e |
ostree-repo: $(PHOTON_PACKAGES)
@echo "Creating OSTree repo from local PRMs in ostree-repo.tar.gz..." |
a9158ca2 |
@if [ -f $(PHOTON_STAGE)/ostree-repo.tar.gz ]; then \
echo "ostree-repo.tar.gz already present, not creating again..."; \
else \
$(SRCROOT)/support/ostree-tools/make-ostree-image.sh $(SRCROOT); \
fi |
2f46569e |
|
f4d17450 |
clean: clean-install clean-chroot
@echo "Deleting Photon ISO..." |
2c153d29 |
@$(RM) -f $(PHOTON_STAGE)/photon-*.iso |
f4d17450 |
@echo "Deleting stage dir..."
@$(RMDIR) $(PHOTON_STAGE)
@echo "Deleting chroot path..."
@$(RMDIR) $(PHOTON_CHROOT_PATH) |
a6c9285c |
@echo "Deleting tools/bin..."
@$(RMDIR) $(TOOLS_BIN) |
f4d17450 |
clean-install:
@echo "Cleaning installer working directory..."
@if [ -d $(PHOTON_STAGE)/photon_iso ]; then \ |
a8025533 |
$(PHOTON_CHROOT_CLEANER) $(PHOTON_STAGE)/photon_iso; \ |
f4d17450 |
fi
clean-chroot:
@echo "Cleaning chroot path..."
@if [ -d $(PHOTON_CHROOT_PATH) ]; then \
$(PHOTON_CHROOT_CLEANER) $(PHOTON_CHROOT_PATH); \
fi
photon-build-machine: check-packer check-vagrant
@echo "Building photon-build-machine with Packer..."
@cd $(PHOTON_PACKER_TEMPLATES) && \
$(PACKER) build photon-build-machine.json
@echo "Adding box to Vagrant boxes..." |
9821c565 |
@$(VAGRANT) box add $(PHOTON_PACKER_TEMPLATES)/photon-build-machine.box --name photon-build-machine --force && \
$(RM) $(PHOTON_PACKER_TEMPLATES)/photon-build-machine.box |
f4d17450 |
|
9821c565 |
photon-vagrant-build: check-vagrant
@echo "Starting Photon build using Vagrant..."
@cd $(SRCROOT) && \
$(VAGRANT) up && \
$(VAGRANT) destroy -f
ifeq ($(VAGRANT_BUILD),all)
PACKER_ARGS=""
else
PACKER_ARGS="-only=$(VAGRANT_BUILD)"
endif
photon-vagrant-local: check-packer check-vagrant
@echo "Building a Photon Vagrant box with Packer..." |
2c153d29 |
@if [ -e $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ]; then \ |
f4d17450 |
cd $(PHOTON_PACKER_TEMPLATES) && \ |
2c153d29 |
$(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"$$($(SHASUM) ../../stage/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso | cut -f 1 -d ' ')\",#" photon.json && \ |
9821c565 |
$(PACKER) build $(PACKER_ARGS) photon.json && \
$(SED) -i "" -e "s#\"iso_checksum_value\":.*#\"iso_checksum_value\": \"\",#" photon.json; \ |
f4d17450 |
echo "Moving boxes to $(PHOTON_STAGE)..." && \
$(MV) *.box $(PHOTON_STAGE); \ |
9821c565 |
else \ |
2c153d29 |
echo "Unable to find $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso ... aborting build"; \ |
f4d17450 |
fi
|
af9aab1f |
cloud-image: check-kpartx $(PHOTON_STAGE) $(VIXDISKUTIL) $(IMGCONVERTER) iso |
624d1cc2 |
@echo "Building cloud image $(IMG_NAME)..."
@cd $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) |
23cb2070 |
$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) $(IMG_NAME) $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH) |
624d1cc2 |
|
fc9f6700 |
|
af9aab1f |
cloud-image-all: check-kpartx $(PHOTON_STAGE) $(VIXDISKUTIL) $(IMGCONVERTER) iso |
fc9f6700 |
@echo "Building cloud images - gce, ami, azure and ova..."
@cd $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) |
23cb2070 |
$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) gce $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH)
$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) ami $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH)
$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) azure $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH)
$(PHOTON_CLOUD_IMAGE_BUILDER) $(PHOTON_CLOUD_IMAGE_BUILDER_DIR) ova $(SRCROOT) $(PHOTON_GENERATED_DATA_DIR) $(PHOTON_STAGE)/photon-$(PHOTON_RELEASE_VERSION)-$(PHOTON_BUILD_NUMBER).iso $(ADDITIONAL_RPMS_PATH) |
c20a93b2 |
|
fc9f6700 |
|
07751fba |
check: check-bison check-g++ check-gawk check-createrepo check-texinfo check-sanity check-docker
check-docker:
@command -v docker >/dev/null 2>&1 || { echo "Package docker not installed. Aborting." >&2; exit 1; } |
f4d17450 |
check-bison:
@command -v bison >/dev/null 2>&1 || { echo "Package bison not installed. Aborting." >&2; exit 1; } |
6c85c764 |
check-texinfo:
@command -v makeinfo >/dev/null 2>&1 || { echo "Package texinfo not installed. Aborting." >&2; exit 1; } |
f4d17450 |
check-g++:
@command -v g++ >/dev/null 2>&1 || { echo "Package g++ not installed. Aborting." >&2; exit 1; }
check-gawk:
@command -v gawk >/dev/null 2>&1 || { echo "Package gawk not installed. Aborting." >&2; exit 1; }
check-createrepo:
@command -v createrepo >/dev/null 2>&1 || { echo "Package createrepo not installed. Aborting." >&2; exit 1; }
|
af9aab1f |
check-kpartx:
@command -v kpartx >/dev/null 2>&1 || { echo "Package kpartx not installed. Aborting." >&2; exit 1; }
|
f4d17450 |
check-vagrant: check-packer
@command -v $(VAGRANT) >/dev/null 2>&1 || { echo "Vagrant not installed or wrong path, expecting $(VAGRANT). Aborting" >&2; exit 1; }
|
4d6a578d |
check-sanity:
$(SRCROOT)/support/sanity_check.sh |
9821c565 |
ifeq ($(VAGRANT_BUILD),vcloudair)
check-packer: check-packer-ovf-plugin
else ifeq ($(VAGRANT_BUILD),all) |
f4d17450 |
check-packer: check-packer-ovf-plugin |
9821c565 |
else
check-packer:
endif |
f4d17450 |
@command -v $(PACKER) >/dev/null 2>&1 || { echo "Packer not installed or wrong path, expecting $(PACKER). Aborting" >&2; exit 1; }
check-packer-ovf-plugin:
@[[ -e ~/.packer.d/plugins/packer-post-processor-vagrant-vmware-ovf ]] || { echo "Packer OVF post processor not installed. Aborting" >&2; exit 1; } |
ab168615 |
|
935e2e27 |
%: check $(PHOTON_PUBLISH_RPMS) $(PHOTON_PUBLISH_XRPMS) $(PHOTON_SOURCES) $(CONTAIN) |
8bb8e36e |
$(eval PKG_NAME = $@)
@echo "Building package $(PKG_NAME) ..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \ |
2c153d29 |
$(PHOTON_PACKAGE_BUILDER) -i $(PKG_NAME)\ |
8bb8e36e |
-b $(PHOTON_CHROOT_PATH) \
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \ |
d2526915 |
-a $(PHOTON_SRPMS_DIR) \ |
8bb8e36e |
-x $(PHOTON_SRCS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \ |
a59d15a5 |
-e $(PHOTON_PUBLISH_XRPMS_DIR) \
-c $(PHOTON_PULLSOURCES_CONFIG) \ |
2c153d29 |
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \ |
90d8acae |
-g $(PHOTON_DATA_DIR)/pkg_build_options.json \ |
f5001053 |
$(PHOTON_RPMCHECK_OPTION) \ |
8bb8e36e |
-l $(PHOTON_LOGS_DIR) |
a6c9285c |
|
8f273587 |
generate-yaml-files: check $(PHOTON_STAGE) $(PHOTON_PACKAGES)
@echo "Generating yaml files for packages ..."
@cd $(PHOTON_PKG_BUILDER_DIR) && \
$(PHOTON_PACKAGE_BUILDER) -y \
-b $(PHOTON_CHROOT_PATH) \
-s $(PHOTON_SPECS_DIR) \
-r $(PHOTON_RPMS_DIR) \
-a $(PHOTON_SRPMS_DIR) \
-x $(PHOTON_SRCS_DIR) \
-p $(PHOTON_PUBLISH_RPMS_DIR) \
-e $(PHOTON_PUBLISH_XRPMS_DIR) \
-c $(PHOTON_PULLSOURCES_CONFIG) \
-d $(PHOTON_DIST_TAG) \
-n $(PHOTON_BUILD_NUMBER) \
-v $(PHOTON_RELEASE_VERSION) \
-g $(PHOTON_DATA_DIR)/pkg_build_options.json \
$(PHOTON_RPMCHECK_OPTION) \
-l $(PHOTON_LOGS_DIR) \
-j $(PHOTON_STAGE) \
-f $(PHOTON_PKG_BLACKLIST_FILE)
|
a6c9285c |
$(TOOLS_BIN):
mkdir -p $(TOOLS_BIN)
$(CONTAIN): $(TOOLS_BIN) |
775c0d4b |
gcc -O2 -std=gnu99 -Wall -Wextra $(SRCROOT)/tools/src/contain/*.c -o $@_unpriv
sudo install -o root -g root -m 4755 $@_unpriv $@ |
2a62af70 |
|
fdddbe6d |
$(VIXDISKUTIL): $(TOOLS_BIN)
@cd $(SRCROOT)/tools/src/vixDiskUtil && \
make
|
af9aab1f |
$(IMGCONVERTER): $(TOOLS_BIN)
@cd $(SRCROOT)/tools/src/imgconverter && \
make |