|
|
- include ../../DEPENDENCIES
- export
- PEP_MACHINE_DIR= $(PKG_INSTALL_PATH)/share/pEp
- YML2_VERSION=${yml2}
- SEQUOIA_VERSION=$(shell echo ${sequoia} | sed 's/\//-/')
- CURRENT_DISTRO=$(shell basename $(shell pwd))
- IMAGE_NAME=${DOCKER_REGISTRY_HOST}/pep-$(CURRENT_DISTRO)-engine
- DOCKERFILE=pEpEngine.$(CURRENT_DISTRO).Dockerfile
- PKG_BUILD_IMAGE=${DOCKER_REGISTRY_HOST}/fpm-$(CURRENT_DISTRO)
- PKG_INSTALL_PATH=/opt/pEp
- PKG_NAME=pEpEngine
- PKG_DESCRIPTION="p≡p Engine Binary RPM Package"
- PKG_DEPENDS=sequoia-openpgp
- PKG_INSTALL_PATH_STRING="/ /package/lib=${PKG_INSTALL_PATH} /package/include/pEp=${PKG_INSTALL_PATH}/include /package/share=${PKG_INSTALL_PATH}"
- IS_TAGGED=${TAGGED_BUILD}
- ifeq ($(IS_TAGGED), true)
- # $CI_COMMIT_TAG is a predefined environment variable from Gitlab
- PEPENGINE_VERSION=${CI_COMMIT_TAG}
- else
- PEPENGINE_VERSION=$(shell git rev-parse --short=8 HEAD)
- endif
- all: deps build
-
- deps:
- -docker pull --quiet $(IMAGE_NAME)-deps:latest
- cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
- --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
- --build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \
- --build-arg SEQUOIA_VERSION=$(SEQUOIA_VERSION) \
- --build-arg YML2_VERSION=$(YML2_VERSION) \
- --build-arg PEP_MACHINE_DIR=$(PEP_MACHINE_DIR) \
- --cache-from $(IMAGE_NAME):latest \
- --tag=$(IMAGE_NAME)-deps:$(SEQUOIA_VERSION)-$(YML2_VERSION) \
- --tag=$(IMAGE_NAME)-deps:latest \
- -f scripts/${CURRENT_DISTRO}/deps.$(DOCKERFILE) .
- docker push --quiet $(IMAGE_NAME)-deps:$(SEQUOIA_VERSION)-$(YML2_VERSION)
- docker push --quiet $(IMAGE_NAME)-deps:latest
-
- build:
- cd ../../ && /bin/sh ./scripts/common/build_pEpEngine.sh
-
- build-docker:
- -docker pull --quiet $(IMAGE_NAME):latest
- cd ../../ && docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
- --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
- --build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \
- --build-arg SEQUOIA_VERSION=$(SEQUOIA_VERSION) \
- --build-arg YML2_VERSION=$(YML2_VERSION) \
- --build-arg PEP_MACHINE_DIR=$(PEP_MACHINE_DIR) \
- --cache-from $(IMAGE_NAME):latest \
- --tag=$(IMAGE_NAME):$(PEPENGINE_VERSION) \
- --tag=$(IMAGE_NAME):latest \
- -f scripts/common/build.pEpEngine.Dockerfile .
- docker push --quiet $(IMAGE_NAME):$(PEPENGINE_VERSION)
- docker push --quiet $(IMAGE_NAME):latest
-
- rpm:
- -docker pull --quiet $(PKG_BUILD_IMAGE)-engine:latest
- @docker build --build-arg CURRENT_DISTRO=$(CURRENT_DISTRO) \
- --build-arg PEPENGINE_VERSION=$(PEPENGINE_VERSION) \
- --build-arg DOCKER_REGISTRY_HOST=${DOCKER_REGISTRY_HOST} \
- --build-arg PEP_MACHINE_DIR=$(PEP_MACHINE_DIR) \
- --build-arg PKG_INSTALL_PATH=$(PKG_INSTALL_PATH) \
- --cache-from $(PKG_BUILD_IMAGE)-engine:latest \
- --tag=$(PKG_BUILD_IMAGE)-engine:$(PEPENGINE_VERSION) \
- --tag=$(PKG_BUILD_IMAGE)-engine:latest \
- packages/rpm
- @docker push --quiet $(PKG_BUILD_IMAGE)-engine:$(PEPENGINE_VERSION)
- @docker push --quiet $(PKG_BUILD_IMAGE)-engine:latest
- @docker run -e PEPENGINE_VERSION=$(PEPENGINE_VERSION) \
- -e PEP_MACHINE_DIR=$(PEP_MACHINE_DIR) \
- -e PKG_VERSION=$(PEPENGINE_VERSION) \
- -e PKG_INSTALL_PATH=$(PKG_INSTALL_PATH) \
- -e PKG_NAME=$(PKG_NAME) \
- -e PKG_DESCRIPTION=$(PKG_DESCRIPTION) \
- -e PKG_DEPENDS=$(PKG_DEPENDS) \
- -e PKG_INSTALL_PATH_STRING=$(PKG_INSTALL_PATH_STRING) \
- --rm -v $(shell pwd)/packages/rpm/create-engine-rpm.sh:/usr/bin/create-rpm.sh:ro \
- -v $(shell pwd)/out:/out \
- -w / $(PKG_BUILD_IMAGE)-engine:latest \
- /usr/bin/create-rpm.sh
|