#!/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 cd $TOPBUILDDIR ppkg="" spkg="" lastfc=`cat $TOOLHOME/DISTROS | grep fedora | tail -1 | cut -d_ -f2` 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` tar -xz -C $MONDOTMP -f $src $pv/TAG tag=`cat $MONDOTMP/$pv/TAG` spkg="$spkg ${DSTDIR}/../fedora/${lastfc}/$pv-${tag}.fc${lastfc}.src.rpm" done echo "Packages delivery to ${ACCOUNT}" cat > /tmp/mkmondo << EOF set -x TOPBUILDDIR=\`rpmquery --eval '%{_topdir}' 2> /dev/null\` echo "Working under $TOPBUILDDIR" rm -f /tmp/mondorescue.log for p in $spkg ; do pkg=\`basename \$p\` rpm -ivh \$pkg sp=\`rpm -qlp \$pkg | grep -E '\.spec'\` src=\`rpm -qlp \$pkg | grep -E '\.tar\.'\` fcsp=\`echo \$sp | sed 's/\.spec/-fc.spec/'\` spec=\`tar tfz \$TOPBUILDDIR/SOURCES/\$src | grep -E "\$fcsp"\` tar xzf \$TOPBUILDDIR/SOURCES/\$src \$spec for s in \$spec ; do file \$s | grep -q ISO-8859 if [ \$? -eq 0 ]; then cat \$s | recode latin1..utf-8 > \$TOPBUILDDIR/SPECS/\$sp else mv \$s \$TOPBUILDDIR/SPECS/\$sp fi # Use dist for fc perl -pi -e 's/Release:[ \t]+([0-9]+)..*/Release: \$1%{?dist}/' \$TOPBUILDDIR/SPECS/\$sp perl -pi -e 's/ Bruno Cornec ..*/ Bruno Cornec %{version}-%{release}/' \$TOPBUILDDIR/SPECS/\$sp rm -rf \$TOPBUILDDIR/BUILD/* rpmbuild -ba \$TOPBUILDDIR/SPECS/\$sp 2>&1 | tee -a /tmp/mondorescue.log done 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 cd /tmp EOF chmod 755 /tmp/mkmondo echo "Packages rebuild on ${ACCOUNT}" scp -p /tmp/mkmondo ${ACCOUNT}: ssh -q ${ACCOUNT} "cp -v ${spkg} . ; ./mkmondo" ) 2>&1 | tee /tmp/pk2fc.log