#! /bin/sh get_config() { echo "Read config from tests/config/default" . tests/config/default if [ -f tests/config/`hostname` ] then echo "Read config from tests/config/`hostname`" . tests/config/`hostname` fi if [ ! -z "$1" ] then echo "Set HOST to $1" export HOST="$1" fi } prepare_workspace() { export CURDIR=`pwd` WORKDIR=$(cd $CURDIR/..; pwd) export WORKSPACE=${WORKSPACE:-$WORKDIR} export RPM_TMP=$WORKDIR/tmp export BUILDRESULT=$WORKSPACE/build/packages mkdir -p $BUILDRESULT export BUILDERDIR=${BUILDERDIR:-$HOME/builder} # Delete existing packages if [ -d $WORKSPACE/build/packages ] then rm -fr $WORKSPACE/build/packages/* fi # Create place to build package if necessary [ ! -d $WORKSPACE/build/packages ] || mkdir -p $WORKSPACE/build/packages # Erase config [ ! -d $WORKSPACE/build/config ] || rm -fr $WORKSPACE/build/config mkdir -p $WORKSPACE/build/config # Erase reports [ ! -d $WORKSPACE/reports ] || rm -fr $WORKSPACE/reports mkdir -p $WORKSPACE/reports/coverage # Erase apidocs [ ! -d $WORKSPACE/apidocs ] || rm -fr $WORKSPACE/apidocs mkdir -p $WORKSPACE/apidocs } setup_epel_repo() { if [ -z "$HOST" ] ; then echo "HOST undefined" ;exit 1; fi HOST=$1 # EPEL REPO if [ ! -z "$EPEL_REPO" ] ; then echo "Installing specific EPEL REPO $EPEL_REPO" ssh root@$HOST "cat > /etc/yum.repos.d/epel.repo" <<-EOF # Name: EPEL RPM Repository for Red Hat Enterprise \$releasever - epel # URL: http://fedoraproject.org/wiki/EPEL [epel] name=Extra Packages for Enterprise Linux \$releasever - \$basearch baseurl=$EPEL_REPO/\$releasever/\$basearch #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel\$releasever&arch=\$basearch failovermethod=priority enabled=0 gpgcheck=0 EOF else echo "Installing standard EPEL REPO" ssh root@$HOST "cat > /etc/yum.repos.d/epel.repo" <<-EOF # Name: EPEL RPM Repository for Red Hat Enterprise \$releasever - epel # URL: http://fedoraproject.org/wiki/EPEL [epel] name=Extra Packages for Enterprise Linux \$releasever - \$basearch #baseurl=http://download.fedoraproject.org/pub/epel/\$releasever/\$basearch mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel\$releasever&arch=\$basearch failovermethod=priority enabled=0 gpgcheck=0 EOF fi } setup_dag_repo() { HOST=$1 if [ -z "$HOST" ] ; then echo "HOST undefined" ;exit 1; fi # DAG REPO if [ ! -z "$DAG_RPMFORGE_REPO" ] ; then echo "Installing specific DAG REPO $DAG_RPMFORGE_REPO" ssh root@$HOST "cat > /etc/yum.repos.d/dag-rpmforge.repo" <<-EOF # Name: RPMforge RPM Repository for Red Hat Enterprise \$releasever - dag # URL: http://rpmforge.net/ [dag-rpmforge] name = Red Hat Enterprise \$releasever - RPMforge.net - dag baseurl = $DAG_RPMFORGE_REPO/el\$releasever/en/\$basearch/dag #mirrorlist = http://apt.sw.be/redhat/el\$releasever/en/mirrors-rpmforge enabled = 1 protect = 0 gpgcheck = 0 [dag-rpmforge-extra] name = Red Hat Enterprise \$releasever - RPMforge.net - extra baseurl = $DAG_RPMFORGE_REPO/el\$releasever/en/\$basearch/extras #mirrorlist = http://apt.sw.be/redhat/el\$releasever/en/mirrors-rpmforge enabled = 0 protect = 0 gpgcheck = 0 EOF else echo "Installing standard DAG REPO" ssh root@$HOST "cat > /etc/yum.repos.d/dag-rpmforge.repo" <<-EOF # Name: RPMforge RPM Repository for Red Hat Enterprise \$releasever - dag # URL: http://rpmforge.net/ [dag-rpmforge] name = Red Hat Enterprise \$releasever - RPMforge.net - dag #baseurl = http://apt.sw.be/redhat/el\$releasever/en/\$basearch/dag mirrorlist = http://apt.sw.be/redhat/el\$releasever/en/mirrors-rpmforge enabled = 1 protect = 0 gpgcheck = 0 [dag-rpmforge-extra] name = Red Hat Enterprise \$releasever - RPMforge.net - extra #baseurl = http://apt.sw.be/redhat/el\$releasever/en/\$basearch/extras mirrorlist = http://apt.sw.be/redhat/el\$releasever/en/mirrors-rpmforge enabled = 0 protect = 0 gpgcheck = 0 EOF fi } setup_debian_3rdparty_repo() { if [ -z "$HOST" ] ; then echo "HOST undefined" ;exit 1; fi if [ -z "$DEB3RD" ] ; then echo "DEB3RD undefined" ; exit 2 ; fi if [ -z "$DIST" ] ; then echo "DIST undefined" ; exit 3 ; fi echo "Installing debian 3rd party repo $DEB3RD $DIST on $HOST" ssh root@$HOST "echo \"deb $DEB3RD $DIST main\" > /etc/apt/sources.list.d/3rd-party.list" wget -q -O - ${DEB3RD}key | ssh root@$HOST "apt-key add -" } setup_redhat_3rdparty_repo() { if [ -z "$HOST" ] ; then echo "HOST undefined" ;exit 1; fi if [ -z "$RPM3RD" ] ; then echo "RPM3RD undefined" ; exit 2 ; fi echo "Installing redhat 3rd party repo $RPM3RD on $HOST" ssh root@$HOST "cat > /etc/yum.repos.d/FusionForge-3rdparty.repo" <<-EOF [FusionForge-3rdparty] name = Red Hat Enterprise \$releasever - fusionforge.org baseurl = $RPM3RD enabled = 1 protect = 0 gpgcheck = 0 EOF }