#!/bin/bash # # Deliver packages to Fedora # # $Id$ # ( dname=`dirname $0` prem=`echo $dname |cut -c1` if [ _${prem} = _"/" ]; then export TOOLHOME=$dname else export TOOLHOME=${PWD}/$dname fi . $TOOLHOME/common-env . $TOOLHOME/distro-env . $TOOLHOME/fc-env export LANGUAGE="C" # We need to get $VER and $TAG if [ "$1" = "" ]; then LAST=`cat ${TOPDIR}/LAST` else LAST=$1 shift fi VER=`echo $LAST | cut -d- -f1` TAG=`echo $LAST | cut -d- -f2` echo "Working on ${VER}-$TAG" if [ "$1" = "" ]; then c="mondo-doc mindi mindi-busybox mondo" else if [ "$1" = "all" ]; then c="mindi-kernel mondo-doc mindi mindi-busybox mondo" else c="$*" fi fi export pkg="" echo "Working under $TOPBUILDDIR" cd $TOPBUILDDIR ppkg="" spkg="" for p in $c; do # s= stable; t = trunk; 1-9 = official version src=${TOPDIR}/${VER}-$TAG/$p-[1-9st]*.tar.gz pv=`basename $src .tar.gz` tag=`echo $pv | sed "s/-\([0-9]*.*\)/\2/"` spkg="$spkg ${TOPBUILDDIR}/SRPMS/$pv-${tag}${suf}.src.rpm" ppkg="$ppkg $pv-${tag}${suf}.src.rpm" done echo "Packages delivery to ${ACCOUNT}" cat > /tmp/mkmondo << EOF rm -f /tmp/mondorescue.log for p in $ppkg ; do rpm -ivh \$p src=\`rpm -qlp \$p | grep -E '\.spec'\` spec=\`tar tvf rpm/SOURCES/\$src | grep -E "\$p-fc.spec"\` tar xf rpm/SOURCES/\$src \$spec s=\`rpm -qlp \$p | egrep '\.spec'\` mv \$p-fc.spec rpm/SPECS/\$s # Use dist for fc perl -pi -e "s/define Release:[ \t]+([0-9]+)..*/define Release: \$1%{?dist}/" rpm/SPECS/\$s perl -pi -e 's/ Bruno Cornec ..*/ Bruno Cornec %{version}-%{release}/' rpm/SPECS/\$s rm -rf rpm/BUILD/* rpmbuild -ba rpm/SPECS/\$s 2>&1 | tee -a /tmp/mondorescue.log done apkg=\`egrep "^Wrote:" /tmp/mondorescue.log | grep -v debug | cut -d: -f2\` aspkg=\`echo \$apkg | egrep "\.src.rpm"\` mkdir -p \$DSTDIR mv \$aspkg \$DSTDIR rm -f \$ppkg EOF chmod 755 /tmp/mkmondo scp -p ${spkg} /tmp/mkmondo ${ACCOUNT}: scp -p /tmp/mkmondo ${ACCOUNT}: echo "Packages rebuild on ${DSTNODE}" ssh -q ${ACCOUNT} ${DSTNODE} "./mkmondo" ) 2>&1 | tee /tmp/pk2fc.log