From fed6f962e15fc44f4aa36e41bf9350274eafb819 Mon Sep 17 00:00:00 2001 From: Gary Lowell Date: Sun, 24 Mar 2013 13:01:04 -0700 Subject: [PATCH] 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 --- do_release.sh | 12 ++++++++---- push_to_deb_repo.sh | 3 ++- sign_debs.sh | 17 ++++++++++++++--- 3 files changed, 24 insertions(+), 8 deletions(-) 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 -- 2.39.5