113 lines
3.5 KiB
Bash
113 lines
3.5 KiB
Bash
#!/bin/bash
|
|
# /Coreos/acpica-tools/acpica-tools-tests/include/include.sh
|
|
# Constants
|
|
########################################
|
|
# - debug turn off SELinux
|
|
#setenforce 0
|
|
########################################
|
|
|
|
# Source the common test script helpers
|
|
. /usr/bin/rhts_environment.sh
|
|
. /usr/share/beakerlib/beakerlib.sh
|
|
|
|
# Assume the test will fail.
|
|
DeBug=0 # Set to 1 to gather all logs from all tests.
|
|
packagename=acpica-tools
|
|
RPM_NAME=`rpm -q --queryformat '%{name}\n' $packagename`
|
|
RPM_VER=`rpm -q --queryformat '%{version}\n' $packagename`
|
|
RPM_REL=`rpm -q --queryformat '%{release}\n' $packagename`
|
|
#RPM_ARCH=`rpm -q --queryformat '%{arch}\n' $packagename`
|
|
OUTPUTDIR=/mnt/testarea/acpica-tools-tests
|
|
|
|
# Functions
|
|
|
|
|
|
# Make log and output directories if needed
|
|
function mk_test_dirs()
|
|
{
|
|
if test ! -d $OUTPUTDIR ; then
|
|
echo "Creating $OUTPUTDIR" | tee -a $OUTPUTFILE
|
|
mkdir -p $OUTPUTDIR || rlDie "Can't create directory ${OUTPUTDIR}!"
|
|
fi
|
|
log_dir=${OUTPUTDIR}/logs/${TESTNAME}-${$}
|
|
if test ! -d $log_dir ; then
|
|
echo "Creating $log_dir" | tee -a $OUTPUTFILE
|
|
mkdir -p $log_dir || rlDie "Can't create directory ${log_dir}!"
|
|
fi
|
|
RPMBUILDDIR=${OUTPUTDIR}/rpmbuild
|
|
if test ! -d $RPMBUILDDIR ; then
|
|
echo "Creating RPM build directorires" | tee -a $OUTPUTFILE
|
|
mkdir -p $RPMBUILDDIR/{BUILD,BUILDROOT,RPMS,SPECS,SOURCES,SRPMS} || rlDie "Can't create RPM build directories"
|
|
fi
|
|
export OUTPUTDIR log_dir RPMBUILDDIR
|
|
}
|
|
|
|
# Grab src rpm from brew using wget requires package n v r
|
|
function get_srpm_from_koji()
|
|
{
|
|
local name=$1
|
|
local version=$2
|
|
local release=$3
|
|
local wget_opts="-Nnv"
|
|
local url2srcfile="http://kojipkgs.fedoraproject.org/packages/${name}/${version}/${release}/src/${name}-${version}-${release}.src.rpm"
|
|
wget $wget_opts $url2srcfile >> $OUTPUTFILE 2>&1
|
|
if [ "$?" -eq "0" ] ; then
|
|
echo "***** Successfully downloaded ${name}-${version}-${release}.src.rpm from brewroot *****" | tee -a $OUTPUTFILE
|
|
fi
|
|
}
|
|
|
|
# Install a src.rpm to a given buildroot
|
|
# Requires path to src.rpm and an existing buildroot directory to install to.
|
|
function install_srpm()
|
|
{
|
|
local srpm=$1
|
|
local buildroot=$2
|
|
if [ -d "$buildroot" ] ; then
|
|
if [ -e $srpm ] ; then
|
|
rpm --define "_topdir $RPMBUILDDIR" -ivh $srpm
|
|
if [ "$?" -eq "0" ] ; then
|
|
echo "***** Successfully installed $srpm *****" | tee -a $OUTPUTFILE
|
|
else
|
|
echo "***** Unable to install $srpm *****" | tee -a $OUTPUTFILE
|
|
return 1
|
|
fi
|
|
else
|
|
echo "***** $srpm file not found *****" | tee -a $OUTPUTFILE
|
|
return 1
|
|
fi
|
|
else
|
|
echo "***** $buildroot does not exist *****" | tee -a $OUTPUTFILE
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# run rpm -bp on extracted acpi-tools src.rpm if needed
|
|
function rpmbp_acpica-tools()
|
|
{
|
|
rpmbuild --define "_topdir $RPMBUILDDIR" -bp $RPMBUILDDIR/SPECS/acpica-tools.spec > ${log_dir}/rpm-bp-acpica-tools-${$}.log 2>&1
|
|
[ $? -eq 0 ] && return 0 || return 1
|
|
}
|
|
|
|
function acpica-tools_prep()
|
|
{
|
|
if [ ! -d ${RPMBUILDDIR}/BUILD/acpica-unix2-${RPM_VER} ] ; then
|
|
rlRun "get_srpm_from_koji $RPM_NAME $RPM_VER $RPM_REL"
|
|
rlRun "install_srpm ${RPM_NAME}-${RPM_VER}-${RPM_REL}.src.rpm $RPMBUILDDIR"
|
|
rlRun rpmbp_acpica-tools
|
|
else
|
|
rlLog "acpica-tools source tree is already prepared for testing, skipping acpica-tools_prep()"
|
|
fi
|
|
}
|
|
|
|
|
|
# wrapper around rlFileSubmit to preserve path names of the log files and submit all files in the log directory
|
|
function submit_logs()
|
|
{
|
|
for f in $log_dir/*; do
|
|
if [ -f $f ] ; then
|
|
rlFileSubmit $f
|
|
fi
|
|
done
|
|
}
|
|
|