-
Notifications
You must be signed in to change notification settings - Fork 115
Host of changes to bring Docker-Provider project onto github #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
205efe8
f5cb633
e81c657
0d194e0
9a5c5b7
de20fc4
ff50af2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # git ignore file for the Docker-Provider project | ||
|
|
||
| /intermediate/ | ||
| /target/ | ||
| /build/config.mak | ||
|
|
||
| # Unit test files | ||
|
|
||
| /test/code/providers/TestScriptPath.h | ||
| /test/code/providers/providertestutils.cpp | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,6 +14,13 @@ ifndef ENABLE_DEBUG | |
| $(error "ENABLE_DEBUG is not set. Please re-run configure") | ||
| endif | ||
|
|
||
| # Include the version file | ||
| include ../../docker.version | ||
|
|
||
| ifndef CONTAINER_BUILDVERSION_STATUS | ||
| $(error "Is docker.version missing? Please re-run configure") | ||
| endif | ||
|
|
||
| SOURCE_DIR := $(BASE_DIR)/source/code | ||
| TEST_DIR := $(BASE_DIR)/test/code | ||
|
|
||
|
|
@@ -22,22 +29,22 @@ PROVIDER_TEST_DIR := $(TEST_DIR)/providers | |
| PAL_INCLUDE_DIR := $(SCXPAL_DIR)/source/code/include | ||
| PAL_TESTUTILS_DIR := $(SCXPAL_DIR)/test/code/testutils | ||
|
|
||
| INTERMEDIATE_DIR=$(BASE_DIR)/intermediate/$(BUILD_CONFIGURATION) | ||
| INTERMEDIATE_DIR := $(BASE_DIR)/intermediate/$(BUILD_CONFIGURATION) | ||
| TARGET_DIR := $(BASE_DIR)/target/$(BUILD_CONFIGURATION) | ||
| PROVIDER_LIBRARY := $(TARGET_DIR)/libcontainer.so | ||
| PROVIDER_LIBRARY := $(INTERMEDIATE_DIR)/libcontainer.so | ||
|
|
||
| INSTALLER_TMPDIR := $(TARGET_DIR)/installer_tmp | ||
| INSTALLER_TMPDIR := $(INTERMEDIATE_DIR)/installer_tmp | ||
|
|
||
| # Include files | ||
|
|
||
| INCLUDE_DEFINES := $(TARGET_DIR)/defines.h | ||
| INCLUDE_DEFINES := $(INTERMEDIATE_DIR)/defines.h | ||
|
|
||
| # Compiler flags | ||
|
|
||
| OMI_INCLUDE_FLAGS := -I$(OMI_ROOT)/output/include | ||
| PROVIDER_INCLUDE_FLAGS := -I$(PAL_INCLUDE_DIR) -I$(TARGET_DIR) | ||
| PROVIDER_INCLUDE_FLAGS := -I$(PAL_INCLUDE_DIR) -I$(INTERMEDIATE_DIR) | ||
|
|
||
| PROVIDER_TEST_INCLUDE_FLAGS := -Wmissing-include-dirs -Wno-non-virtual-dtor -I$(SCXPAL_DIR)/source/code/include -I$(TARGET_DIR) -I$(SCXPAL_DIR)/test/ext/include -I$(OMI_ROOT)/output/include -I$(OMI_ROOT) -I$(OMI_ROOT)/common -I$(SCXPAL_DIR)/test/code/include $(PROVIDER_INCLUDE_FLAGS) -I$(PROVIDER_DIR) | ||
| PROVIDER_TEST_INCLUDE_FLAGS := -Wmissing-include-dirs -Wno-non-virtual-dtor -I$(SCXPAL_DIR)/source/code/include -I$(INTERMEDIATE_DIR) -I$(SCXPAL_DIR)/test/ext/include -I$(OMI_ROOT)/output/include -I$(OMI_ROOT) -I$(OMI_ROOT)/common -I$(SCXPAL_DIR)/test/code/include $(PROVIDER_INCLUDE_FLAGS) -I$(PROVIDER_DIR) | ||
|
|
||
| ifeq ($(ENABLE_DEBUG),1) | ||
| PROV_DEBUG_FLAGS := -g | ||
|
|
@@ -53,15 +60,12 @@ SHARED_FLAGS := -shared | |
|
|
||
| # Support for installbuilder | ||
|
|
||
| STAGING_DIR := $(TARGET_DIR)/staging | ||
|
|
||
| CONTAINER_BUILDVERSION_MAJOR := 1 | ||
| CONTAINER_BUILDVERSION_MINOR := 0 | ||
| CONTAINER_BUILDVERSION_PATCH := 0 | ||
| CONTAINER_BUILDVERSION_BUILDNR := 0 | ||
| STAGING_DIR := $(INTERMEDIATE_DIR)/staging | ||
|
|
||
| ifeq ($(ULINUX),1) | ||
| OUTPUT_PACKAGE_PREFIX=docker-cimprov-$(CONTAINER_BUILDVERSION_MAJOR).$(CONTAINER_BUILDVERSION_MINOR).$(CONTAINER_BUILDVERSION_PATCH)-$(CONTAINER_BUILDVERSION_BUILDNR).universal.$(PF_ARCH) | ||
| # For consistency, the architecture should be i686 (for x86) and x86_64 (for x64) | ||
| DOCKER_ARCH := $(shell echo $(PF_ARCH) | sed -e 's/x86$$/i686/' -e 's/x64$$/x86_64/') | ||
| OUTPUT_PACKAGE_PREFIX=docker-cimprov-$(CONTAINER_BUILDVERSION_MAJOR).$(CONTAINER_BUILDVERSION_MINOR).$(CONTAINER_BUILDVERSION_PATCH)-$(CONTAINER_BUILDVERSION_BUILDNR).universal.$(DOCKER_ARCH) | ||
| else | ||
| PF_DISTRO_LC := $(shell echo $(PF_DISTRO) | tr A-Z a-z) | ||
| OUTPUT_PACKAGE_PREFIX=docker-cimprov-$(CONTAINER_BUILDVERSION_MAJOR).$(CONTAINER_BUILDVERSION_MINOR).$(CONTAINER_BUILDVERSION_PATCH)-$(CONTAINER_BUILDVERSION_BUILDNR).$(PF_DISTRO_LC).$(PF_MAJOR).$(PF_ARCH) | ||
|
|
@@ -255,7 +259,6 @@ $(PROVIDER_LIBRARY): CFLAGS += $(PROVIDER_COMPILE_FLAGS) | |
| $(PROVIDER_LIBRARY): CXXFLAGS += $(PROVIDER_COMPILE_FLAGS) | ||
| $(PROVIDER_LIBRARY): $(STATIC_PROVIDERLIB_OBJFILES) $(STATIC_PROVIDERLIB_LOGPOLICY) $(INCLUDE_DEFINES) $(PROVIDER_HEADERS) | ||
| $(MKPATH) $(INTERMEDIATE_DIR) | ||
| $(MKPATH) $(TARGET_DIR) | ||
| g++ $(PROVIDER_COMPILE_FLAGS) $(SHARED_FLAGS) $(PROVIDER_INCLUDE_FLAGS) -o $@ $(STATIC_PROVIDERLIB_OBJFILES) $(LINK_LIBRARIES) | ||
|
|
||
| #-------------------------------------------------------------------------------- | ||
|
|
@@ -286,12 +289,11 @@ STATIC_PROVIDER_PAL_UNITFILES = \ | |
|
|
||
| STATIC_PROVIDER_TEST_OBJFILES = $(call src_to_obj,$(STATIC_PROVIDER_UNITFILES)) | ||
|
|
||
| $(TARGET_DIR)/testrunner: INCLUDES += $(PROVIDER_TEST_INCLUDE_FLAGS) -I$(PAL_INCLUDE_DIR) -I$(PAL_TESTUTILS_DIR) -I$(PROVIDER_DIR) -I$(SOURCE_DIR) | ||
| $(TARGET_DIR)/testrunner: CFLAGS += $(PROVIDER_COMPILE_FLAGS) | ||
| $(TARGET_DIR)/testrunner: CXXFLAGS += $(PROVIDER_COMPILE_FLAGS) | ||
| $(TARGET_DIR)/testrunner : $(STATIC_PROVIDER_TEST_OBJFILES) $(STATIC_PROVIDERLIB_OBJFILES) $(INCLUDE_DEFINES) $(PROVIDER_HEADERS) | ||
| $(INTERMEDIATE_DIR)/testrunner: INCLUDES += $(PROVIDER_TEST_INCLUDE_FLAGS) -I$(PAL_INCLUDE_DIR) -I$(PAL_TESTUTILS_DIR) -I$(PROVIDER_DIR) -I$(SOURCE_DIR) | ||
| $(INTERMEDIATE_DIR)/testrunner: CFLAGS += $(PROVIDER_COMPILE_FLAGS) | ||
| $(INTERMEDIATE_DIR)/testrunner: CXXFLAGS += $(PROVIDER_COMPILE_FLAGS) | ||
| $(INTERMEDIATE_DIR)/testrunner : $(STATIC_PROVIDER_TEST_OBJFILES) $(STATIC_PROVIDERLIB_OBJFILES) $(INCLUDE_DEFINES) $(PROVIDER_HEADERS) | ||
| $(MKPATH) $(INTERMEDIATE_DIR) | ||
|
||
| $(MKPATH) $(TARGET_DIR) | ||
| g++ $(PROVIDER_COMPILE_FLAGS) $(PROVIDER_TEST_INCLUDE_FLAGS) -o $@ $(STATIC_PROVIDER_PAL_UNITFILES) $(STATIC_PROVIDER_TEST_OBJFILES) $(STATIC_PROVIDERLIB_OBJFILES) $(LINK_LIBRARIES) $(PROVIDER_TEST_LINK_LIBRARIES) | ||
|
|
||
| testrun : test | ||
|
|
@@ -300,9 +302,9 @@ TEST_STATUS: | |
| @echo "========================= Performing Building provider tests" | ||
| @echo \#define TEST_SCRIPT_PATH \"$(TEST_DIR)/scripts/\" > $(TEST_DIR)/providers/TestScriptPath.h | ||
|
|
||
| test : TEST_STATUS $(SCXPAL_INTERMEDIATE_DIR) $(TARGET_DIR)/testrunner | ||
| test : TEST_STATUS $(SCXPAL_INTERMEDIATE_DIR) $(INTERMEDIATE_DIR)/testrunner | ||
| @echo "========================= Performing container testrun execution" | ||
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(OMI_ROOT)/output/lib; cd $(TARGET_DIR); ./testrunner | ||
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(OMI_ROOT)/output/lib; cd $(INTERMEDIATE_DIR); sudo ./testrunner | ||
|
|
||
| #-------------------------------------------------------------------------------- | ||
| # Build the distribution kit | ||
|
|
@@ -320,10 +322,10 @@ ifeq ($(ULINUX),1) | |
| @echo "========================= Performing Building RPM and DPKG packages" | ||
| $(MKPATH) $(INSTALLER_TMPDIR) | ||
| sudo $(RMDIR) $(STAGING_DIR) | ||
| $(MKPATH) $(TARGET_DIR) | ||
| $(MKPATH) $(INTERMEDIATE_DIR) | ||
| python $(SCXPAL_DIR)/installer/InstallBuilder/installbuilder.py \ | ||
| --BASE_DIR=$(BASE_DIR) \ | ||
| --TARGET_DIR=$(TARGET_DIR) \ | ||
| --TARGET_DIR=$(INTERMEDIATE_DIR) \ | ||
| --INTERMEDIATE_DIR=$(INSTALLER_TMPDIR) \ | ||
| --STAGING_DIR=$(STAGING_DIR) \ | ||
| --BUILD_TYPE=$(BUILD_TYPE) \ | ||
|
|
@@ -332,18 +334,18 @@ ifeq ($(ULINUX),1) | |
| --PFDISTRO=$(PF_DISTRO) \ | ||
| --PFMAJOR=$(PF_MAJOR) \ | ||
| --PFMINOR=$(PF_MINOR) \ | ||
| --VERSION=1.0.0 \ | ||
| --RELEASE=1 \ | ||
| --VERSION=$(CONTAINER_BUILDVERSION_MAJOR).$(CONTAINER_BUILDVERSION_MINOR).$(CONTAINER_BUILDVERSION_PATCH) \ | ||
| --RELEASE=$(CONTAINER_BUILDVERSION_BUILDNR) \ | ||
| --CONTAINER_BUILD_LIBRARY=$(CONTAINERLIB_FILENAME) \ | ||
| --OUTPUTFILE=$(OUTPUT_PACKAGE_PREFIX) \ | ||
| --DATAFILE_PATH=$(BASE_DIR)/installer/datafiles \ | ||
| base_container.data linux.data linux_rpm.data | ||
|
|
||
| sudo $(RMDIR) $(STAGING_DIR) | ||
| $(MKPATH) $(TARGET_DIR) | ||
| $(MKPATH) $(INTERMEDIATE_DIR) | ||
| python $(SCXPAL_DIR)/installer/InstallBuilder/installbuilder.py \ | ||
| --BASE_DIR=$(BASE_DIR) \ | ||
| --TARGET_DIR=$(TARGET_DIR) \ | ||
| --TARGET_DIR=$(INTERMEDIATE_DIR) \ | ||
| --INTERMEDIATE_DIR=$(INSTALLER_TMPDIR) \ | ||
| --STAGING_DIR=$(STAGING_DIR) \ | ||
| --BUILD_TYPE=$(BUILD_TYPE) \ | ||
|
|
@@ -352,29 +354,33 @@ ifeq ($(ULINUX),1) | |
| --PFDISTRO=$(PF_DISTRO) \ | ||
| --PFMAJOR=$(PF_MAJOR) \ | ||
| --PFMINOR=$(PF_MINOR) \ | ||
| --VERSION=1.0.0 \ | ||
| --RELEASE=1 \ | ||
| --VERSION=$(CONTAINER_BUILDVERSION_MAJOR).$(CONTAINER_BUILDVERSION_MINOR).$(CONTAINER_BUILDVERSION_PATCH) \ | ||
| --RELEASE=$(CONTAINER_BUILDVERSION_BUILDNR) \ | ||
| --CONTAINER_BUILD_LIBRARY=$(CONTAINERLIB_FILENAME) \ | ||
| $(DPKG_LOCATION) \ | ||
| --OUTPUTFILE=$(OUTPUT_PACKAGE_PREFIX) \ | ||
| --DATAFILE_PATH=$(BASE_DIR)/installer/datafiles \ | ||
| base_container.data linux.data linux_dpkg.data | ||
|
|
||
| # Strip the package extension from the package filename | ||
| sed -re 's/.rpm$$|.deb$$//' $(TARGET_DIR)/package_filename > $(TARGET_DIR)/package_file.tmp | ||
| sed -re 's/.rpm$$|.deb$$//' $(INTERMEDIATE_DIR)/package_filename > $(INTERMEDIATE_DIR)/package_file.tmp; mv $(INTERMEDIATE_DIR)/package_file.tmp $(INTERMEDIATE_DIR)/package_filename | ||
|
|
||
| # Build the tar file containing both .rpm and .deb packages | ||
| cd $(TARGET_DIR); tar cvf $(OUTPUT_PACKAGE_PREFIX).tar $(OUTPUT_PACKAGE_PREFIX).rpm $(OUTPUT_PACKAGE_PREFIX).deb | ||
| cd $(INTERMEDIATE_DIR); tar cvf $(OUTPUT_PACKAGE_PREFIX).tar $(OUTPUT_PACKAGE_PREFIX).rpm $(OUTPUT_PACKAGE_PREFIX).deb | ||
|
|
||
| ../installer/bundle/create_bundle.sh $(PF)_$(PF_DISTRO) $(INTERMEDIATE_DIR) $(OUTPUT_PACKAGE_PREFIX) | ||
| # Copy the shell bundle to the target directory | ||
| $(MKPATH) $(TARGET_DIR) | ||
| cd $(INTERMEDIATE_DIR); cp `cat $(INTERMEDIATE_DIR)/package_filename`.sh $(TARGET_DIR) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's not. The package_filename file doesnt contain a path prefix so, without adding that, this will fail without the |
||
|
|
||
| ../installer/bundle/create_bundle.sh $(PF)_$(PF_DISTRO) $(TARGET_DIR) $(OUTPUT_PACKAGE_PREFIX) | ||
| else | ||
|
|
||
| @echo "========================= Performing Building RPM and DPKG packages" | ||
| sudo $(RMDIR) $(STAGING_DIR) | ||
| $(MKPATH) $(TARGET_DIR) | ||
| $(MKPATH) $(INTERMEDIATE_DIR) | ||
| python $(SCXPAL_DIR)/installer/InstallBuilder/installbuilder.py \ | ||
| --BASE_DIR=$(BASE_DIR) \ | ||
| --TARGET_DIR=$(TARGET_DIR) \ | ||
| --TARGET_DIR=$(INTERMEDIATE_DIR) \ | ||
| --INTERMEDIATE_DIR=$(INSTALLER_TMPDIR) \ | ||
| --STAGING_DIR=$(STAGING_DIR) \ | ||
| --BUILD_TYPE=$(BUILD_TYPE) \ | ||
|
|
@@ -383,11 +389,12 @@ else | |
| --PFDISTRO=$(PF_DISTRO) \ | ||
| --PFMAJOR=$(PF_MAJOR) \ | ||
| --PFMINOR=$(PF_MINOR) \ | ||
| --VERSION=1.0.0 \ | ||
| --RELEASE=1 \ | ||
| --VERSION=$(CONTAINER_BUILDVERSION_MAJOR).$(CONTAINER_BUILDVERSION_MINOR).$(CONTAINER_BUILDVERSION_PATCH) \ | ||
| --RELEASE=$(CONTAINER_BUILDVERSION_BUILDNR) \ | ||
| --CONTAINER_BUILD_LIBRARY=$(CONTAINERLIB_FILENAME) \ | ||
| $(DPKG_LOCATION) \ | ||
| --OUTPUTFILE=$(OUTPUT_PACKAGE_PREFIX) \ | ||
| --DATAFILE_PATH=$(BASE_DIR)/installer/datafiles \ | ||
| base_container.data linux.data linux_dpkg.data | ||
|
|
||
| endif | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are these test files ignored?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is created by the build process. I didn't get into details with Yuyang about it, I didn't much care. It's created during the build process, so I put it in .gitignore.