2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2024-12-25 12:41:33 +00:00
xcat-dep/build-debs-all
xq2005 c95edcd443 build the dependent packages on ubuntu
Former-commit-id: 36bbddc5cf6ff2115a06f5c4508dee86404ffd1c
2013-06-26 09:56:50 +00:00

101 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
###########
#
# This script call make<package>deb and create the deb packages
# for xCAT
#
# Author: Arif Ali <aali@ocf.co.uk>
#
# Original Work taken from the xcat-core repo done by Leonardo
#
# Input:
#
# $1 is the xCAT_genesis_build directory path
# $2 is the xCAT_genesis_base rpm path
#
# the build target path is ../../debs, this path can not changed, because the build-ubuntu script will use this fix path
#
############
function pingusage()
{
printf "Usage: [BUILDPKGS=\"pkgname1 pkgname2 ...\"] %s <xCAT_genesis_build directory path> <xCAT_genesis_base rpm path>] \n" $(basename $0) >&2
}
function makedeb {
SRC_ROOT=$1
#
# Make DEBs
#
# build perl-xCAT - deps are libsoap-lite-perl, libdigest-sha1-perl, libdbi-perl
#
find $SRC_ROOT -maxdepth 2 -name make_deb.sh -type f | while read DEBIAN_SCRIPT
do
DIR=`echo ${DEBIAN_SCRIPT} | sed -e 's/[/]make_deb.sh$//'`
cd ${DIR}
chmod a+x make_deb.sh
./make_deb.sh
cd -
RC=$?
if [ ${RC} -gt 0 ]
then
echo "Warning: ${DIR} failed exit code ${RC}"
fi
done
}
#check parameters
if [ $# -lt 2 ];then
pingusage
exit 2
fi
old_pwd=`pwd`
curdir=`dirname $0`
#did some prepare for the xcat-genesis
echo "prepare building gensis_base_amd64 as a special case"
#copy the debian_dir and rpm for xcat-genesia-base to the tem directory
mkdir -p $curdir/genesis_tmp/genesis-base-amd64
cp -rL ${1}/debian $curdir/genesis_tmp/genesis-base-amd64
cp ${2} $curdir/genesis_tmp/genesis-base-amd64
cd $curdir
cat << __EOF__ > genesis_tmp/make_deb.sh
cd genesis-base-amd64/
rpm2cpio *.rpm | cpio -id
rm -f *.rpm
dpkg-buildpackage -uc -us
cd -
__EOF__
#update to the loatest code
svn --quiet update
packages=""
if [ $BUILDPKGS ];then
packages=$BUILDPKGS
else
packages=`find . -maxdepth 2 -name make_deb.sh | cut -d/ -f 2 | xargs`
fi
#fix 'all warnings being treated as errors'
export NO_WERROR=1
# build all debian packages
#for file in `echo $packages`
for file in `echo $packages`
do
makedeb $file $PKG_LOCATION "$BUILD_STRING" $VERSION
done
if [ ! -d ../../debs ]; then
mkdir -p ../../debs/
fi
for file in `echo $packages`
do
mv $file/*.deb ../../debs/
done
rm -rf genesis_tmp
exit 0