summaryrefslogtreecommitdiffstats
path: root/ci/qemu_build.sh
diff options
context:
space:
mode:
authorshravani <shravani.p@tcs.com>2016-12-20 15:09:34 +0530
committerShravani Paladugula <shravani.p@tcs.com>2017-02-09 04:34:34 +0000
commit843dfef73c86a8ad71afe36e2db9e711dddc199a (patch)
tree52c15baf57c751cf91bf35b3dbc027adacfa7a1d /ci/qemu_build.sh
parent881aa3fcf152088440444d6f4296eaac3783801c (diff)
Combine the common code for kernel building on deb/rpm
This patch removes the duplication of code in rpm/debian build scripts. Change-Id: I88edc93df488bd01a43cd98e4f69f35e09f8f61c Signed-off-by: Shravani <shravani.p@tcs.com>
Diffstat (limited to 'ci/qemu_build.sh')
-rwxr-xr-xci/qemu_build.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/ci/qemu_build.sh b/ci/qemu_build.sh
new file mode 100755
index 000000000..e9eb4d2eb
--- /dev/null
+++ b/ci/qemu_build.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+source ./ci/qemuConfigValidate.sh
+rpmbuild_dir=$workspace/rpmbuild
+artifact_rpms=$rpmbuild_dir/RPMS
+artifact_dir=$artifact_rpms/x86_64
+debbuild_dir=$workspace/debbuild
+
+qemu_build_validate $@
+
+qemu_rpm_build() {
+ scripts_dir=ci/build_rpm
+ cp -r ${qemu_src_dir} ${qemu_src_dir}-$VERSION
+ tar -zcvf ${qemu_src_dir}-$VERSION.tar.gz ${qemu_src_dir}-$VERSION
+ mv ${qemu_src_dir}-$VERSION.tar.gz ${rpmbuild_dir}/SOURCES/
+
+ #create a spec file for rpm creation.
+ (cd ${scripts_dir}; ./mkspec $VERSION > qemu.spec)
+ cp ${scripts_dir}/qemu.spec ${rpmbuild_dir}/SPECS/
+
+ #build the qemu rpm with spec file developed
+ rpmbuild -ba ${rpmbuild_dir}/SPECS/qemu.spec
+ if [ ${?} -ne 0 ] ; then
+ echo "${0}: qemu build failed"
+ exit 1
+ fi
+ rm -rf ${qemu_src_dir}-$VERSION
+ rm -rf ${rpmbuild_dir}/SOURCES/${qemu_src_dir}-$VERSION.tar.gz
+}
+
+qemu_deb_build() {
+ scripts_dir=ci/build_deb
+ mkdir -p $debbuild_dir/qemu-$VERSION
+ cp -r $qemu_src_dir $debbuild_dir/qemu-$VERSION
+ mkdir -p $debbuild_dir/qemu-$VERSION/DEBIAN
+ touch control
+
+#creating control file for debian build.
+ (cd ${scripts_dir}; ./mkcontrol.sh $VERSION > control)
+ mv $scripts_dir/control $debbuild_dir/qemu-$VERSION/DEBIAN/control
+
+#building the qemu debian with control file developed.
+ dpkg-deb --build $debbuild_dir/qemu-$VERSION
+ if [ ${?} -ne 0 ] ; then
+ echo "${0}: qemu build failed"
+ exit 1
+ fi
+}
+
+if [ $pkgtype == "centos" ];then
+ if [ ! -d ${rpmbuild_dir} ] ; then
+ mkdir -p ${rpmbuild_dir}/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
+ fi
+ qemu_rpm_build
+ latest_qemu_build=`ls -rt $artifact_dir | grep qemu-2.6* | tail -1`
+ cp $artifact_dir/$latest_qemu_build ${output_dir}
+elif [ $pkgtype == "ubuntu" ];then
+ if [ ! -d ${debbuild_dir} ] ; then
+ echo "creating debbuild directory"
+ mkdir -p $debbuild_dir
+ fi
+ qemu_deb_build
+ latest_qemu_build=`ls -rt $debbuild_dir | tail -1`
+ cp $debbuild_dir/$latest_qemu_build build_output
+fi