# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL)". You may # only use this file in accordance with the terms of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2013, Andrzej Szeszo # Copyright 2016, Adam Stevko # include ../../../make-rules/shared-macros.mk COMPONENT_NAME= illumos-gate COMPONENT_SRC= $(COMPONENT_NAME) GIT=git GIT_REPO=git://github.com/illumos/illumos-gate.git GIT_BRANCH=master GIT_CHANGESET=HEAD FETCH=$(WS_TOOLS)/userland-fetch DEBUG=no ifeq ($(DEBUG),yes) NIGHTLY_OPTIONS=-nCDmpt else NIGHTLY_OPTIONS=-nCmpt endif ONNV_BUILDNUM=$(BRANCHID) COMPONENT_REVISION=$(shell cd $(COMPONENT_SRC); git rev-list HEAD --count) ON_REPO.NON_DEBUG=$(SOURCE_DIR)/packages/$(MACH)/nightly-nd/repo.redist ON_REPO.DEBUG=$(SOURCE_DIR)/packages/$(MACH)/nightly/repo.redist CLEAN_PATHS += $(BUILD_DIR) CLOBBER_PATHS += $(SOURCE_DIR) ifeq ($(DEBUG),yes) MULTI_PROTO=yes else MULTI_PROTO=no endif $(SOURCE_DIR)/.downloaded: @[ -d $(SOURCE_DIR) ] || \ $(GIT) clone -b $(GIT_BRANCH) $(GIT_REPO) $(SOURCE_DIR) @cd $(SOURCE_DIR); $(GIT) checkout $(GIT_BRANCH); $(GIT) pull \ $(GIT_REPO); $(GIT) log -1 --format=%H > .downloaded update: @[ -d $(SOURCE_DIR) ] || \ $(GIT) clone -b $(GIT_BRANCH) $(GIT_REPO) $(SOURCE_DIR) cd $(SOURCE_DIR); $(GIT) pull $(GIT_REPO); \ [ "$$($(GIT) log -1 --format=%H)" == "$$(cat .downloaded)" ] || \ $(GIT) log -1 --format=%H > .downloaded download:: $(SOURCE_DIR)/.downloaded PATCH_DIR ?= patches PATCH_PATTERN ?= *.patch PATCHES = $(shell find $(PATCH_DIR) $(PARFAIT_PATCH_DIR) -type f -name '$(PATCH_PATTERN)' \ 2>/dev/null | sort) $(EXTRA_PATCHES) $(SOURCE_DIR)/.patched: $(SOURCE_DIR)/.downloaded $(PATCHES) $(MKDIR) $(@D) cd $(SOURCE_DIR) && \ $(GIT) checkout -f && \ $(GIT) clean -f for p in $(PATCHES); do \ echo "\nPatch: $$p:"; \ $(GPATCH) -d $(@D) $(GPATCH_FLAGS) < $$p; \ done @cd $(SOURCE_DIR); $(GIT) log -1 --format=%H > .downloaded $(TOUCH) $@ prep:: $(SOURCE_DIR)/.patched $(BUILD_DIR)/$(MACH)/.built: $(SOURCE_DIR)/.patched $(MKDIR) $(@D) cd $(SOURCE_DIR) && \ if [ -f tools/nightly ] ; then \ cp tools/nightly $(BUILD_DIR)/$(MACH)/nightly ; \ else \ cp usr/src/tools/scripts/nightly.sh $(BUILD_DIR)/$(MACH)/nightly ; \ fi && \ chmod u+wx $(BUILD_DIR)/$(MACH)/nightly && \ NIGHTLY="$(BUILD_DIR)/$(MACH)/nightly" && \ cat usr/src/tools/env/illumos.sh | \ (sed \ -e 's|^export NIGHTLY_OPTIONS=.*|export NIGHTLY_OPTIONS=\"$(NIGHTLY_OPTIONS)\"|' \ -e 's|^export VERSION=.*|export VERSION=\"$$(git log -1 --format=illumos-%h)\"|' \ -e 's|^export CODEMGR_WS=.*|export CODEMGR_WS=\"$$PWD\"|' \ -e 's|^export ENABLE_SMATCH=.*||' \ -e 's|^export ON_CLOSED_BINS=.*|export ON_CLOSED_BINS=\"/opt/onbld/closed\"|' \ -e 's|^export MULTI_PROTO=.*|export MULTI_PROTO=\"$(MULTI_PROTO)\"|' \ -e 's|^export SHADOW_CCS=.*||' \ -e 's|^export SHADOW_CCCS=.*||' ; \ echo export PERL_VERSION=\"5.22\"; \ echo export PERL_PKGVERS=\"-522\"; \ echo export BUILDPERL64=\"#\"; \ echo export BUILDPY2=\"#\"; \ echo export BUILDPY2TOOLS=\"#\"; \ echo export BLD_JAVA_8=; \ echo export CW_NO_SHADOW=1; \ echo export __GNUC=\"\"; \ echo export ONLY_LINT_DEFS=-I\$$SPRO_ROOT/sunstudio12.1/prod/include/lint; \ echo export ONNV_BUILDNUM=$(ONNV_BUILDNUM); \ echo export PKGVERS_BRANCH=$(ONNV_BUILDNUM)) > \ illumos.sh && \ time $(ENV) -i $${NIGHTLY} illumos.sh $(TOUCH) $@ build install: $(BUILD_DIR)/$(MACH)/.built $(BUILD_DIR)/$(MACH)/.overlay: $(BUILD_DIR)/$(MACH)/.built $(MKDIR) $(BUILD_DIR)/$(MACH)/overlay $(CP) -RP $(COMPONENT_DIR)/overlay $(BUILD_DIR)/$(MACH) # Boot Splash Images $(CP) $(BUILD_DIR)/$(MACH)/overlay/boot/splashimage.xpm \ $(BUILD_DIR)/$(MACH)/overlay/boot/solaris.xpm || true # Fix closed lc_core.h header # Patch was taken from here https://www.illumos.org/issues/3853 if ! grep 199711L \ $(SOURCE_DIR)/proto/root_$(MACH)/usr/include/sys/lc_core.h \ >/dev/null; then \ mkdir -p $(BUILD_DIR)/$(MACH)/overlay/usr/include/sys; \ cp $(SOURCE_DIR)/proto/root_$(MACH)/usr/include/sys/lc_core.h \ $(BUILD_DIR)/$(MACH)/overlay/usr/include/sys/lc_core.h; \ (printf "/^struct tm;$/\n-2\na\n#if __cplusplus >= 199711L\nnamespace std {\n#endif\n.\n"; \ printf "+2\na\n#if __cplusplus >= 199711L\n}\n#endif /* end of namespace std */\n\n.\nw\nq\n") | \ ed -s $(BUILD_DIR)/$(MACH)/overlay/usr/include/sys/lc_core.h \ >/dev/null; \ fi $(TOUCH) $@ $(BUILD_DIR)/$(MACH)/publish.transforms: $(BUILD_DIR)/$(MACH)/.overlay echo " edit value pkg://[^/]+/ pkg://$(PUBLISHER)/>" > \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " edit value ,.+: ,$(BUILD_VERSION):>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit set name=userland.info.git-remote value=$(USERLAND_GIT_REMOTE)>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit set name=userland.info.git-branch value=$(USERLAND_GIT_BRANCH)>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit set name=userland.info.git-rev value=$(USERLAND_GIT_REV)>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit set name=illumos-gate.info.git-remote value=$(GIT_REPO)>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit set name=illumos-gate.info.git-branch value=$(GIT_BRANCH)>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit set name=illumos-gate.info.git-rev value=$(shell cd $(COMPONENT_SRC); git rev-parse HEAD)>" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms # Drop man pages for sun-solaris perl module to avoid conflicts between different versions echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms # Drop old obsolete and renamed package dependencies echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms # Needed for MTA replacement echo " emit depend type=require fmri=pkg:/system/mta>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit depend type=require fmri=pkg:/system/mta>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms # We want to replace dependency on particular agpart version, but preserve dependency on any version echo " emit depend type=require fmri=pkg:/driver/graphics/agpgart>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms # Fix pkgdepend issue with GCC 7 runtime (https://www.illumos.org/issues/11255) echo " emit depend type=require fmri=pkg:/system/library/gcc-7-runtime>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit depend type=require fmri=pkg:/system/library/g++-7-runtime> " >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " drop>" >> $(BUILD_DIR)/$(MACH)/publish.transforms # Loader branding echo " emit file path=boot/loader.conf group=sys mode=0644 owner=root preserve=true>" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit file path=boot/forth/brand-hipster.4th group=sys mode=0444 owner=root >" >> $(BUILD_DIR)/$(MACH)/publish.transforms echo " emit file path=boot/forth/logo-openindiana.4th group=sys mode=0444 owner=root >" >> $(BUILD_DIR)/$(MACH)/publish.transforms for i in $$(cd $(BUILD_DIR)/$(MACH)/overlay; find . -type f | \ cut -c 3- | sort); do \ echo " set action.hash $$i >" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms; \ echo " delete chash .* >" >> \ $(BUILD_DIR)/$(MACH)/publish.transforms; \ done $(BUILD_DIR)/$(MACH)/.published: $(BUILD_DIR)/$(MACH)/publish.transforms $(RM) -r $(@D)/pkgrecv.dir $(MKDIR) $(@D)/pkgrecv.dir ifeq ($(DEBUG),yes) $(RM) -r $(@D)/pkgrepo-merged.dir $(MKDIR) $(@D)/pkgrepo-merged.dir pkgrepo -s $(@D)/pkgrepo-merged.dir create pkgmerge -d $(@D)/pkgrepo-merged.dir \ -s variant.debug.illumos=true,$(ON_REPO.DEBUG) \ -s variant.debug.illumos=false,$(ON_REPO.NON_DEBUG) pkgrepo -s $(@D)/pkgrepo-merged.dir rebuild pkgrecv -s $(@D)/pkgrepo-merged.dir -d $(@D)/pkgrecv.dir --raw \ $$(pkgrecv -s $(@D)/pkgrepo-merged.dir --newest | sed -f packages.ignore) else pkgrepo -s $(ON_REPO.NON_DEBUG) rebuild pkgrecv -s $(ON_REPO.NON_DEBUG) -d $(@D)/pkgrecv.dir --raw \ $$(pkgrecv -s $(ON_REPO.NON_DEBUG) --newest | sed -f packages.ignore) endif for pkg in $$(echo $(@D)/pkgrecv.dir/*/*); do \ pkgmogrify -O $$pkg/manifest $$pkg/manifest \ $(BUILD_DIR)/$(MACH)/publish.transforms; \ pkgsend -s $(WS_REPO) publish --fmri-in-manifest \ -d $(BUILD_DIR)/$(MACH)/overlay -d $$pkg $$pkg/manifest; \ done $(TOUCH) $@ .NOTPARALLEL: publish: update $(BUILD_DIR)/$(MACH)/.published clean:: $(RM) -r $(CLEAN_PATHS) clobber:: clean $(RM) -r $(CLOBBER_PATHS) REQUIRED_PACKAGES += developer/gcc-7 REQUIRED_PACKAGES += developer/illumos-closed REQUIRED_PACKAGES += runtime/python-35