1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-18 21:44:02 +03:00
2016-01-06 14:08:59 -06:00

126 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
#
# $Id: build_rpms 1734 2012-10-25 18:07:16Z dhill $
#
verbose=0
mysqldir=$HOME/InfiniDB-MySQL/export/mysql
usage()
{
cat <<EOD
usage: build_rpms [--verbose] [--local-mysql] [--help]
--local-mysql use local (relative) mysql binary tree
EOD
}
for arg in "$@"; do
if [ `expr -- "$arg" : '--verbose'` -eq 9 ]; then
((verbose++))
elif [ `expr -- "$arg" : '--local-mysql'` -eq 13 ]; then
mysqldir=../Calpont/mysql
elif [ `expr -- "$arg" : '--help'` -eq 6 ]; then
usage
exit 0
else
echo "ignoring unknown argument: $arg" 1>&2
fi
done
#try to find project root
while [ ! -d dbcon ]; do
cd ..
curdir=$(pwd)
if [ $curdir = / -o $curdir = $HOME ]; then
echo "I could not find the project root directory: I can't continue!"
exit 1
fi
done
if [ ! -f ./build/releasenum ]; then
echo "I could not find the file 'releasesum' in the build directory: I can't continue!"
exit 1
fi
. ./build/releasenum
# make the install package
buildroot=$HOME/rpm/BUILD/infinidb-$version-$release
rm -rf $buildroot
mkdir -p $buildroot
echo -n "Writing binary files to $buildroot..."
tar -cf - --exclude 'export/include' --exclude 'export/*.tar' export | tar -C $buildroot -xf -
mv $buildroot/export $buildroot/Calpont
#get mysql server files
pushd $mysqldir > /dev/null
mkdir -p $buildroot/Calpont/mysql
cpio -pdmu --quiet $buildroot/Calpont/mysql < files.lst
popd >/dev/null
#clean up some files from buildroot
rm -f $buildroot/Calpont/etc/Doxyfile
for file in $buildroot/Calpont/lib/*; do
if [ -h $file ]; then
rm -f $file
fi
done
#temporarily clean up these BRM thingies
for file in dbrm script-fcns; do
rm -f $buildroot/Calpont/bin/$file
done
#clean up these bulkload scripts
for file in bulkload.sh cleanup.sh dbbuilder.sh dbload.sh cpimport.sh bulkloadp.sh; do
rm -f $buildroot/Calpont/bin/$file
done
rm -f $buildroot/Calpont/lib/libidbboot.a
rm -f $buildroot/Calpont/lib/libiberty.a
mkdir -p $HOME/rpm/BUILD $HOME/rpm/RPMS $HOME/rpm/SRPMS $HOME/rpm/SPECS $HOME/rpm/tmp
if [ ! -f $HOME/.rpmmacros ]; then
cat > $HOME/.rpmmacros <<EOD
%_topdir $HOME/rpm
%_tmppath $HOME/rpm/tmp
# Change to 1 if you want to abort on unpackaged files
%_unpackaged_files_terminate_build 0
EOD
fi
#twiddle with the spec file
packager="support@mariadb.com"
tag=poc
buildinfo=`./build/docBuild $tag | (
read l
b="$l"
while read l; do
b="$b\\n$l"
done
echo $b )`
cp ./build/infinidb.spec.in $HOME/rpm/SPECS/infinidb.spec
sed -i -e "s/@@PACKAGER@@/Packager: $packager/" \
-e "s/@@VERSION@@/Version: $version/" \
-e "s/@@RELEASE@@/Release: $release/" \
-e "s?@@BUILDINFO@@?$buildinfo?" $HOME/rpm/SPECS/infinidb.spec
echo done.
echo -n "Building rpms..."
rpmbuild -ba $HOME/rpm/SPECS/infinidb.spec >/tmp/rpmbuild.out.$$ 2>&1
rc=$?
echo done.
if [ $verbose -gt 0 -o $rc -ne 0 ]; then
cat /tmp/rpmbuild.out.$$
fi
rm -f /tmp/*.$$
exit $rc