#!/bin/bash # # Deliver packages and tgz files to Mandriva # # $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/mdv-env # 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 mondo" else if [ "$1" = "all" ]; then c="mindi-kernel mondo-doc mindi mondo" else c=$1 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` 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 s=\`rpm -qlp \$p | egrep '\.spec'\` # Use mkrel for mdv perl -pi -e 's/define mrel[ \t]+([0-9]+)\..*/define mrel %mkrel \$1/' rpm/SPECS/\$s perl -pi -e 's/ Bruno Cornec ([0-9]+.*)/ 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"\` for d in 2006 200664; do scp -p \$aspkg chroot\${d}: ssh chroot\${d} "for p in $aspkg; do rpm -ivh \`basename \$p\` ; rpmbuild -ba rpm/SPECS/\$s | tee -a /tmp/mondorescue.log ; done ; sudo ftp\${d}contrib \`egrep '^Wrote:' /tmp/mondorescue.log | grep -v debug | cut -d: -f2\`" done for p in \$apkg; do sudo ftpcontrib \$p done 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 ${ACCOUNT} ${DSTNODE} "./mkmondo" ) 2>&1 | tee /tmp/pk2mdv.log