#!/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 mindi-busybox mondo" else if [ "$1" = "all" ]; then c="mindi-kernel mondo-doc mindi mindi-busybox mondo" else c="$*" fi fi for p in $c; do src=${TOPDIR}/${VER}-$TAG/$p-[1-9]*.tar.bz2 s=`basename $src` oldver=`echo $s | sed "s/$p-\([1-9][0-9.]*\).tar.bz2/\1/"` newver=`echo $oldver | sed 's/\([0-9]\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1.\2\3/'` distro=`ls -d ${TOPDIR}/${VER}-$TAG/$p-[1-9]*/distributions/mandriva-* | tail -1` spec=${distro}/$p.spec echo "Updating Mandriva package in $SVNMDV/$p" cd $SVNMDV/$p mkdir -p SOURCES SPECS echo "Modifying $oldver => $newver" svn del --force SOURCES/$p-*.tar.bz2 cp -a $src SOURCES/$p-$newver.tar.bz2 tar xfj SOURCES/$p-$newver.tar.bz2 mv $p-$oldver $p-$newver perl -pi -e "s/$oldver/$newver/" $p-$newver/VERSION tar cfj SOURCES/$p-$newver.tar.bz2 $p-$newver rm -rf $p-$newver svn add SOURCES/$p-$newver.tar.bz2 cp -a $spec SPECS # Use mkrel for mdv perl -pi -e "s/^Release:[ \t]+..*/Release: %mkrel $tag/" SPECS/$p.spec perl -pi -e 's/^Version:[ \t]+([0-9])\.([0-9]+)\.([0-9]+)/Version: $1.$2$3/' SPECS/$p.spec perl -pi -e 's/mindi >= ..*,/mindi/' SPECS/$p.spec $TOOLHOME/mdv-changelog.pl SPECS/$p.spec # Changelog management echo "Building packages" bm if [ $? -eq 0 ]; then rm -rf BUILD RPMS SRPMS BUILDROOT echo "Committing from $SVNMDV/$p into Mandriva's SVN" svn ci -F $MONDOTMP/cmt.spec if [ $? -eq 0 ]; then svn up rm -f $MONDOTMP/cmt.spec echo "Building on Mandriva's cluster" ssh $ACCOUNT $DSTNODE "yr $p" fi fi done rm -rf $MONDOTMP ) 2>&1 | tee /tmp/pk2mdv.log