#!/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 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 for p in $c; do src=${TOPDIR}/${VER}-$TAG/$p-[1-9]*.tar.bz2 s=`basename $src` if [ _"$p" = _"mindi-busybox" ]; then oldver=`echo $s | sed "s/$p-\([1-9][0-9.]*\).tar.bz2/\1/"` newver=$oldver else 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/'` fi 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 svn del --force SOURCES/$p-*.tar.bz2 cp -a $src SOURCES/$p-$newver.tar.bz2 cp -a $spec SPECS # Case when there is a version change if [ _"$oldver" != _"$newver" ]; then echo "Modifying $oldver => $newver" 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 perl -pi -e 's/^Version:[ \t]+([0-9])\.([0-9]+)\.([0-9]+)/Version: $1.$2$3/' SPECS/$p.spec fi svn add SOURCES/$p-$newver.tar.bz2 # Use mkrel for mdv perl -pi -e "s/^Release:[ \t]+..*/Release: %mkrel $TAG/" SPECS/$p.spec perl -pi -e "s/^Release:/Packager: Bruno Cornec \nRelease:/" 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" rev=`svn info | egrep "^Revision:" | cut -d: -f2` repsys submit svn+ssh://svn.mandriva.com/svn/packages/cooker/$p $rev #repsys submit -t 2007.1 --define section=contrib/backports svn+ssh://svn.mandriva.com/svn/packages/2007.1/$p $rev fi fi done rm -rf $MONDOTMP ) 2>&1 | tee /tmp/pk2mdv.log