X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcollectd%2FMakefile;h=ec45f9410a96024b4936c9a55451eb2d48facbdc;hb=28517f841a3261987114869e04624cdd686c31a5;hp=255859e1c4612c8ef30b0b8d0b27e2ca54a78fa6;hpb=20cee55214da0539d5b0433451b56df2ecf99ab4;p=barometer.git diff --git a/src/collectd/Makefile b/src/collectd/Makefile index 255859e1..ec45f941 100644 --- a/src/collectd/Makefile +++ b/src/collectd/Makefile @@ -1,19 +1,20 @@ # makefile to manage collectd package # -# Copyright 2016 OPNFV +# Copyright 2016-2019 Intel Corporation and OPNFV. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# # # Contributors: @@ -23,21 +24,38 @@ include ../mk/master.mk include ../package-list.mk -WORK_DIR = collectd-with-DPDK -TAG_DONE_FLAG = $(WORK_DIR)/.$(COLLECTD_TAG).done +WORK_DIR = collectd +# $COLLECTD_TAG can contain "/", which is being replaced with "-" here +TAG_DONE_FLAG := $(WORK_DIR)/.$(subst /,-,"$(COLLECTD_TAG)").done BUILD_CMD = ./build.sh CONFIG_CMD = CONFIG_CMD += ./configure -# DPDK_DIR is the directory where DPDK shared lib is installed -DPDK_DIR = $(shell echo $$DPDK_DIR) -ifeq ($(DPDK_DIR),) -DPDK_DIR = /usr +LIBPQOS_DIR = $(shell echo $$LIBPQOS_DIR) +ifeq ($(LIBPQOS_DIR),) +LIBPQOS_DIR = /usr +endif + +XDG_CACHE_HOME_DIR = $(shell echo $$XDG_CACHE_HOME) +ifeq ($(XDG_CACHE_HOME_DIR),) +XDG_CACHE_HOME_DIR = $(shell echo $$HOME) endif CONFIG_CMD += --enable-syslog CONFIG_CMD += --enable-logfile -CONFIG_CMD += --with-libdpdk=$(DPDK_DIR) +CONFIG_CMD += --with-libpqos=$(LIBPQOS_DIR) +CONFIG_CMD += --enable-hugepages +CONFIG_CMD += --with-libjevents=/usr/local +CONFIG_CMD += --enable-exec +CONFIG_CMD += --enable-python +CONFIG_CMD += --enable-threshold +CONFIG_CMD += --enable-write_redis +CONFIG_CMD += --disable-perl +CONFIG_CMD += --with-librdkafka=/usr +CONFIG_CMD += --disable-lvm +ifdef WITH_DPDK +CONFIG_CMD += LIBDPDK_CFLAGS='-mssse3' +endif .PHONY: install force_install config force_make @@ -45,24 +63,35 @@ CONFIG_CMD += --with-libdpdk=$(DPDK_DIR) force_install: force_make all: force_make - @echo "Finished making $(WORK_DIR) " + @echo "Finished making $(WORK_DIR)" config $(WORK_DIR)/Makefile: $(WORK_DIR)/configure $(AT)cd $(WORK_DIR); $(CONFIG_CMD) @echo "Configure done" -INSTALL_TARGET = force_install force_make - force_make: $(WORK_DIR)/Makefile - $(AT)cd $(WORK_DIR) && git pull $(COLLECTD_URL) $(COLLECTD_TAG) - @echo "git pull done" - $(AT)$(MAKE) -C $(WORK_DIR) $(MORE_MAKE_FLAGS) + $(AT) $(MAKE) -C $(WORK_DIR) $(MORE_MAKE_FLAGS) @echo "Make done" force_install: - $(AT)sudo $(MAKE) -C $(WORK_DIR) install + $(AT)$(MAKE) -C $(WORK_DIR) install +ifndef DOCKER + $(AT)cp $(WORK_DIR)/contrib/systemd.collectd.service /etc/systemd/system/ + $(AT)mv /etc/systemd/system/systemd.collectd.service /etc/systemd/system/collectd.service + $(AT)sed -i -e 's/ExecStart=\/usr\/sbin\/collectd/ExecStart=\/opt\/collectd\/sbin\/collectd/g' /etc/systemd/system/collectd.service + $(AT)sed -i -e 's/CapabilityBoundingSet=/CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_RAWIO CAP_SYS_ADMIN/g' /etc/systemd/system/collectd.service + $(AT)sed -i -e 's|Environment=\(.*\)|Environment=XDG_CACHE_HOME='$(XDG_CACHE_HOME_DIR)' \1|g' /etc/systemd/system/collectd.service + $(AT)systemctl daemon-reload +endif + $(AT)sudo ./ovs_pmd_stats_config.sh + $(AT)sudo ./snmp_mib_config.sh + + @echo "Using sample configs: $(SAMPLE_CONF_VARIANT_NAME)" + $(AT)sudo ./include_config.sh $(SAMPLE_CONF_VARIANT_NAME) + @echo "Make install done" + +install: force_install -install: $(INSTALL_TARGET) # hard way to clean and clobber clean: @@ -83,19 +112,22 @@ sanity: .PHONY: boot # boot collectd is the process to produce the script 'configure' -boot $(WORK_DIR)/configure: +boot $(WORK_DIR)/configure: $(TAG_DONE_FLAG) @echo "booting up collectd" $(AT)cd $(WORK_DIR); $(BUILD_CMD) @echo "done booting collectd" -boot $(WORK_DIR)/configure: $(TAG_DONE_FLAG) - $(WORK_DIR): $(AT)git clone $(COLLECTD_URL) $(TAG_DONE_FLAG): $(WORK_DIR) - $(AT)cd collectd-with-DPDK; git checkout $(collectd_TAG) + @echo "Checking out collectd from tag: $(COLLECTD_TAG)" + $(AT)cd collectd; git fetch origin $(COLLECTD_TAG); git checkout FETCH_HEAD ifneq ($(PATCH_FILE),) $(AT)cd $(WORK_DIR); patch -p1 < ../$(PATCH_FILE) +endif +ifeq ($(COLLECTD_USE_EXPERIMENTAL_PR), y) + @echo "Applying experimental pull requests" + $(AT)cd $(WORK_DIR); ../collectd_apply_pull_request.sh endif $(AT)touch $@