From: Gary Lowell Date: Sun, 24 Mar 2013 20:01:04 +0000 (-0700) Subject: build: rysync debian build results into seperate directories X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fed6f962e15fc44f4aa36e41bf9350274eafb819;p=ceph-build.git build: rysync debian build results into seperate directories Avoid collisions of files with the same name, but different checksums, by keeping the results from different build platforms seperate. This wasn't a problem before because these files were not modified during the build. With the addition of the all arch and source builds on the i386 platform, some files are now changed (bug #3969). Signed-off-by: Gary Lowell --- diff --git a/do_release.sh b/do_release.sh index 1d10671f..eb535131 100755 --- a/do_release.sh +++ b/do_release.sh @@ -42,6 +42,7 @@ do ssh $rem sudo rm -r /tmp/release/\* \; sudo mkdir -p /tmp/release \; sudo rm -r /tmp/ceph-build.\* || true scp -rp $releasedir/$vers $rem:/tmp/release/$vers ssh $rem git clone git://github.com/ceph/ceph-build /tmp/ceph-build.$$ + #scp -r ../ceph-build $rem:/tmp/ceph-build.$$ if [ $xterm -eq 1 ]; then xterm -l -e ssh $rem sudo /tmp/ceph-build.$$/build_debs.sh /tmp/release /srv/debian-base $vers & else @@ -73,7 +74,7 @@ done # gather results for rem in $deb_hosts do - rsync -auv $rem:/tmp/release/$vers/\*.\{changes\,deb\} $releasedir/$vers + rsync -auv $rem:/tmp/release/$vers/\*.\{changes\,deb\,dsc\,diff.gz\,orig.tar.gz\} $releasedir/$vers/$rem done for rem in $rpm_hosts do @@ -81,10 +82,13 @@ do done # sign -if [ -n "$deb_hosts" ] ; then - $bindir/sign_debs.sh $releasedir $vers $gpgkey changes -fi +for rem in $deb_hosts +do + echo "signing debs in $rem" + $bindir/sign_debs.sh $releasedir $vers $gpgkey changes $rem +done if [ -n "$rpm_hosts" ] ; then + echo "signing rpms" $bindir/sign_rpms.sh $releasedir $vers $gpgkey fi diff --git a/push_to_deb_repo.sh b/push_to_deb_repo.sh index 328a2940..7b0f8c4c 100755 --- a/push_to_deb_repo.sh +++ b/push_to_deb_repo.sh @@ -33,7 +33,8 @@ do bpvers=`$bindir/gen_debian_version.sh $dvers $dist` echo dist $dist echo vers $bpvers - for f in $releasedir/$cephvers/*${bpvers}_*.changes + #for f in $releasedir/$cephvers/*${bpvers}_*.changes + for f in `find $releasedir/$cephvers/ -name "*${bpvers}_*.changes"` do echo file $f reprepro --ask-passphrase -b $repo -C $component --ignore=undefinedtarget --ignore=wrongdistribution include $dist $f diff --git a/sign_debs.sh b/sign_debs.sh index 949da258..11dce68d 100755 --- a/sign_debs.sh +++ b/sign_debs.sh @@ -1,28 +1,39 @@ -#!/bin/bash +#!/bin/bash -x set -e usage() { - echo "usage: $0 releasedir vers key [filetypetosign]" + echo "usage: $0 releasedir vers key [filetypetosign] [resultdir]" } releasedir=$1 cephvers=$2 keyid=$3 what=$4 +resultdir=$5 [ -z "$what" ] && what="dsc changes" [ -z "$releasedir" ] && echo specify releasedir && usage && exit 1 [ -z "$cephvers" ] && echo specify version && usage && exit 1 [ ! -d "$releasedir/$cephvers" ] && echo missing $releasedir/$cephvers && usage && exit 1 +if [ -n "$resultdir" ] ; then + resultdir=$releasedir/$cephvers/$resultdir + [ ! -d "$resultdir" ] && echo missing $resultdir && usage && exit 1 +fi + [ -z "$keyid" ] && echo specify keyid && exit 1 echo version $cephvers +echo "signing $releasedir/$cephvers/*.$w" for w in $what do - yes | debsign -k$keyid $releasedir/$cephvers/*.$w + if [ -n "$resultdir" -a -d "$resultdir" ] ; then + ( cd $resultdir ; yes | debsign -k$keyid *.$w ) + else + yes | debsign -k$keyid $releasedir/$cephvers/*.$w + fi done