mirror of
https://github.com/xcat2/xcat-dep.git
synced 2024-11-27 03:39:11 +00:00
c95edcd443
Former-commit-id: 36bbddc5cf6ff2115a06f5c4508dee86404ffd1c
101 lines
2.3 KiB
Bash
Executable File
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
|