summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorTaras Chornyi <tarasx.chornyi@intel.com>2017-03-31 15:12:15 +0100
committerTaras Chornyi <tarasx.chornyi@intel.com>2017-04-12 11:37:51 +0100
commit7e1d4c9b55b6dfc8fbea6148e4e4f4a5b1b6d5cb (patch)
treec0914537aac65752f2d921adbd65f4fa7f808a6d /ci
parent2e85fac22ef0d98731500c588a78c88984cea310 (diff)
Added scripts for building collectd RPM
Change-Id: I60a080ebc046af8683624d3c944690fe0e0961d8 Signed-off-by: Taras Chornyi <tarasx.chornyi@intel.com>
Diffstat (limited to 'ci')
-rw-r--r--ci/build_rpm.sh20
-rw-r--r--ci/install_dependencies.sh36
-rw-r--r--ci/utility/check_git_repo.sh50
-rw-r--r--ci/utility/collectd_build_rpm.sh39
-rw-r--r--ci/utility/collectd_get_sources.sh29
-rw-r--r--ci/utility/intel_cmt_cat_build_install_rpm.sh50
-rw-r--r--ci/utility/package-list.sh28
7 files changed, 252 insertions, 0 deletions
diff --git a/ci/build_rpm.sh b/ci/build_rpm.sh
new file mode 100644
index 00000000..3ad3b57b
--- /dev/null
+++ b/ci/build_rpm.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+sh $DIR/utility/collectd_get_sources.sh
+sh $DIR/utility/intel_cmt_cat_build_install_rpm.sh
+sh $DIR/utility/collectd_build_rpm.sh
diff --git a/ci/install_dependencies.sh b/ci/install_dependencies.sh
new file mode 100644
index 00000000..3fe1e725
--- /dev/null
+++ b/ci/install_dependencies.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/utility/package-list.sh
+
+# For collectd
+sudo yum install -y yum-utils
+sudo yum install -y epel-release
+sudo yum-builddep -y collectd
+
+sudo yum -y install autoconf automake flex bison libtool pkg-config
+
+sudo yum -y install git
+
+sudo yum -y install rpm-build \
+ libcap-devel xfsprogs-devel iptables-devel \
+ libmemcached-devel gtk2-devel libvirt-devel
+
+# For intel-cmt-cat
+sudo yum -y install wget
+
+# For RPM build
+mkdir -p $RPM_WORKDIR/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
diff --git a/ci/utility/check_git_repo.sh b/ci/utility/check_git_repo.sh
new file mode 100644
index 00000000..f7ad0a8f
--- /dev/null
+++ b/ci/utility/check_git_repo.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+TARGET_DIR=$1
+REPO=$2
+
+if [[ ! $1 ]]
+then
+ echo "Test if target dir contains the given git repository"
+ echo "Usage: $0 <TARGET_DIR> <REPO_ADDRESS>"
+ exit 254
+fi
+
+cd $TARGET_DIR
+if [[ $? != 0 ]]
+then
+ echo "Directory is not existing"
+ exit 1
+fi
+
+git status &>/dev/null
+if [[ $? != 0 ]]
+then
+ echo "Not a git repo"
+ exit 2
+else
+ REMOTE=`git remote -vv | sed -e "2d" -r -e 's|^\S+\s(\S+)\s\S+$|\1|'`
+ if [[ "$REMOTE" == "$REPO" ]]
+ then
+ echo "YEP"
+ exit 0
+ else
+ echo "Wrong repo"
+ exit 3
+ fi
+fi
+
+exit 255
diff --git a/ci/utility/collectd_build_rpm.sh b/ci/utility/collectd_build_rpm.sh
new file mode 100644
index 00000000..d46a73e6
--- /dev/null
+++ b/ci/utility/collectd_build_rpm.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/package-list.sh
+
+VERSION="VERSION_NOT_SET"
+
+cd $COLLECTD_DIR
+VERSION=$( $COLLECTD_DIR/version-gen.sh | sed "s/\W$//g" )
+$COLLECTD_DIR/build.sh
+$COLLECTD_DIR/configure
+make dist
+
+cp $COLLECTD_DIR/collectd-$VERSION.tar.bz2 $RPM_WORKDIR/SOURCES/
+
+sed --regexp-extended \
+ --in-place=".bak" \
+ --expression="s/Version:\s+\S+$/Version: $VERSION/g" \
+ $COLLECTD_DIR/contrib/redhat/collectd.spec
+
+sed --regexp-extended \
+ --in-place \
+ --expression="s/without_intel_rdt:[0-9]/without_intel_rdt:1/g" \
+ $COLLECTD_DIR/contrib/redhat/collectd.spec
+
+rpmbuild --define "_topdir $RPM_WORKDIR" -bb $COLLECTD_DIR/contrib/redhat/collectd.spec
diff --git a/ci/utility/collectd_get_sources.sh b/ci/utility/collectd_get_sources.sh
new file mode 100644
index 00000000..69108e4f
--- /dev/null
+++ b/ci/utility/collectd_get_sources.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/package-list.sh
+
+bash $DIR/check_git_repo.sh $COLLECTD_DIR $COLLECTD_REPO
+if [[ $? != 0 ]]
+then
+ rm -rf $COLLECTD_DIR
+ git clone --branch $COLLECTD_BRANCH $COLLECTD_REPO $COLLECTD_DIR
+else
+ cd $COLLECTD_DIR
+ git reset HEAD --hard
+ git pull
+ git checkout -f $COLLECTD_BRANCH
+fi
diff --git a/ci/utility/intel_cmt_cat_build_install_rpm.sh b/ci/utility/intel_cmt_cat_build_install_rpm.sh
new file mode 100644
index 00000000..d0e8954e
--- /dev/null
+++ b/ci/utility/intel_cmt_cat_build_install_rpm.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/package-list.sh
+
+VERSION="v0.1.5-1"
+
+bash $DIR/check_git_repo.sh $CMTCAT_DIR $CMTCAT_REPO
+if [[ $? != 0 ]]
+then
+ rm -rf $CMTCAT_DIR
+ git clone --branch $CMTCAT_BRANCH $CMTCAT_REPO $CMTCAT_DIR
+else
+ cd $CMTCAT_DIR
+ git reset HEAD --hard
+ git pull
+ git checkout -f $CMTCAT_BRANCH
+fi
+
+cd $CMTCAT_DIR
+make
+sudo make install
+
+wget https://github.com/01org/intel-cmt-cat/archive/${VERSION}.tar.gz --directory-prefix=$CMTCAT_DIR
+
+mv $CMTCAT_DIR/${VERSION}.tar.gz $RPM_WORKDIR/SOURCES/
+
+rpmbuild --define "_topdir $RPM_WORKDIR" -bb $CMTCAT_DIR/rpm/intel-cmt-cat.spec
+
+rpm -q intel-cmt-cat
+if [ $? -eq 0 ]
+then
+ echo "*** intel-cmt-cat is already installed"
+else
+ RPM_NAME=`ls -1 $RPM_DIR | grep -E "cmt-cat-[0-9]"`
+ rpm -ivf $RPM_DIR/$RPM_NAME
+fi
diff --git a/ci/utility/package-list.sh b/ci/utility/package-list.sh
new file mode 100644
index 00000000..9f878431
--- /dev/null
+++ b/ci/utility/package-list.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# Copyright 2017 Intel Corporation
+#
+# 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
+#
+# 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.
+
+WORKSPACE=${WORKSPACE:-`cd && pwd`}
+
+COLLECTD_DIR=$WORKSPACE/collectd
+CMTCAT_DIR=$WORKSPACE/intel-cmt-cat
+RPM_WORKDIR=$WORKSPACE/rpmbuild
+
+CMTCAT_REPO=https://github.com/01org/intel-cmt-cat.git
+CMTCAT_BRANCH=master
+COLLECTD_REPO=https://github.com/collectd/collectd.git
+COLLECTD_BRANCH=master
+
+# Here rpms built could be taken from
+RPM_DIR=$RPM_WORKDIR/RPMS/x86_64/