From: Sage Weil Date: Mon, 24 Sep 2012 21:59:31 +0000 (-0700) Subject: some build_rpm changes X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1b77c8a95ef8ad2bd2cd8dcc59b3b63fc5910b20;p=ceph-build.git some build_rpm changes --- diff --git a/build_rpms.sh b/build_rpms.sh index c1c34f37..c51e29ee 100755 --- a/build_rpms.sh +++ b/build_rpms.sh @@ -8,32 +8,21 @@ usage() { releasedir=$1 cephver=$2 -subver=$3 -shift -shift -shift -dists="$*" + +dist=`$bindir/get_rpm_dist.sh` +echo dist $dist [ -z "$releasedir" ] && echo specify releasedir && usage && exit 1 [ -z "$cephver" ] && echo specify version && usage && exit 1 -[ -z "$subver" ] && subver=1 -[ -z "$dists" ] && dists="centos6" +[ -z "$dists" ] && echo specify distribution name && usage && exit 1 bindir=`dirname $0` echo "$bindir" | grep -v -q '^/' && bindir=`pwd`"/$bindir" -rpmver="$cephver-$subver" - -echo rpmver $rpmver - cd $releasedir/$cephver || exit 1 -# take note XXX debian version keeping here just in case -echo $dists > rpm_dists -echo $rpmver > rpm_version - # Set up build area -BUILDAREA=./rpmbuild +BUILDAREA=./rpm/$dist mkdir -p ${BUILDAREA}/{SOURCES,SRPMS,SPECS,RPMS,BUILD} cp -a ceph-*.tar.bz2 ${BUILDAREA}/SOURCES/. diff --git a/do_release.sh b/do_release.sh index 3c2eb2c9..b8e95011 100755 --- a/do_release.sh +++ b/do_release.sh @@ -16,9 +16,8 @@ dists="$*" [ -z "$releasedir" ] && usage && exit 1 -rhosts="localhost 192.168.106.235" -#rhosts="flab.ops.newdream.net lenny32-packager.dreamhost.com" -#rhosts="localhost lenny32-packager.dreamhost.com" +deb_hosts="localhost 192.168.106.235" +rpm_hosts="gitbuilder-centos6-amd64.front.sepia.ceph.com" versionfile=`mktemp` cleanup() { @@ -33,10 +32,11 @@ rm $releasedir/* || true $bindir/release_tarball.sh $releasedir $versionfile vers=`cat $versionfile` +# debian stuff $bindir/build_dsc.sh $releasedir $vers 1 $dists $bindir/sign_debs.sh $releasedir $vers $gpgkey dsc -for rem in $rhosts +for rem in $deb_hosts do ssh root@$rem rm -r /tmp/release/\* \; mkdir -p /tmp/release || true scp -rp $releasedir/$vers root@$rem:/tmp/release/$vers @@ -48,18 +48,33 @@ do pids="$pids $!" done +# rpm stuff +for rem in $rpm_hosts +do + ssh root@$rem rm -r /tmp/release/\* \; mkdir -p /tmp/release || true + scp -rp $releasedir/$vers root@$rem:/tmp/release/$vers + exit + if [ $xterm -eq 1 ]; then + xterm -l -e ssh root@$rem ceph-build/build_rpms.sh /tmp/release $vers & + else + ssh root@$rem ceph-build/build_rpms.sh /tmp/release $vers > build.$rem 2>&1 & + fi + pids="$pids $!" +done + for p in $pids do wait $p done pids="" -for rem in $rhosts +for rem in $deb_hosts $rpm_hosts do rsync -auv root@$rem:/tmp/release/$vers/\*.\{changes\,deb\} $releasedir/$vers done $bindir/sign_debs.sh $releasedir $vers $gpgkey changes +$bindir/sign_rpms.sh $releasedir $vers $gpgkey # probably a better way, but rm $versionfile diff --git a/push_to_deb_repo.sh b/push_to_deb_repo.sh new file mode 100755 index 00000000..328a2940 --- /dev/null +++ b/push_to_deb_repo.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -e + +releasedir=$1 +repo=$2 +cephvers=$3 +component=$4 + +usage() { + echo "usage: $0 releasedir repodir version component" +} + +[ -z "$releasedir" ] && echo specify releasedir && usage && exit 1 +[ -z "$repo" ] && echo specify reprepro dir && usage && exit 1 +[ -z "$cephvers" ] && echo specify version && usage && exit 1 +[ ! -d "$releasedir/$cephvers" ] && echo missing $releasedir/$cephvers && usage && exit 1 +[ -z "$component" ] && echo "must specify repo component" && usage && exit 1 + +bindir=`dirname $0` + +echo version $cephvers +echo component $component + +[ -z "$dists" ] && dists=`cat $releasedir/$cephvers/debian_dists` +dvers=`cat $releasedir/$cephvers/debian_version` +echo deb vers $dvers +echo dists $dists + + +for dist in $dists +do + bpvers=`$bindir/gen_debian_version.sh $dvers $dist` + echo dist $dist + echo vers $bpvers + for f in $releasedir/$cephvers/*${bpvers}_*.changes + do + echo file $f + reprepro --ask-passphrase -b $repo -C $component --ignore=undefinedtarget --ignore=wrongdistribution include $dist $f + done +done diff --git a/push_to_repo.sh b/push_to_repo.sh deleted file mode 100755 index 328a2940..00000000 --- a/push_to_repo.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -set -e - -releasedir=$1 -repo=$2 -cephvers=$3 -component=$4 - -usage() { - echo "usage: $0 releasedir repodir version component" -} - -[ -z "$releasedir" ] && echo specify releasedir && usage && exit 1 -[ -z "$repo" ] && echo specify reprepro dir && usage && exit 1 -[ -z "$cephvers" ] && echo specify version && usage && exit 1 -[ ! -d "$releasedir/$cephvers" ] && echo missing $releasedir/$cephvers && usage && exit 1 -[ -z "$component" ] && echo "must specify repo component" && usage && exit 1 - -bindir=`dirname $0` - -echo version $cephvers -echo component $component - -[ -z "$dists" ] && dists=`cat $releasedir/$cephvers/debian_dists` -dvers=`cat $releasedir/$cephvers/debian_version` -echo deb vers $dvers -echo dists $dists - - -for dist in $dists -do - bpvers=`$bindir/gen_debian_version.sh $dvers $dist` - echo dist $dist - echo vers $bpvers - for f in $releasedir/$cephvers/*${bpvers}_*.changes - do - echo file $f - reprepro --ask-passphrase -b $repo -C $component --ignore=undefinedtarget --ignore=wrongdistribution include $dist $f - done -done diff --git a/release_rpm_tarball.sh b/release_rpm_tarball.sh deleted file mode 100755 index 08108a56..00000000 --- a/release_rpm_tarball.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -x - -set -e - -usage() { - echo "usage: $0 releasedir [versionfile]" -} - -releasedir=$1 -versionfile=$2 - -[ -z "$releasedir" ] && echo specify releasedir && usage && exit 1 - -if git diff --quiet ; then - echo repository is clean -else - echo - echo "**** REPOSITORY IS DIRTY ****" - echo - if [ "$force" != "force" ]; then - echo "add 'force' argument if you really want to continue." - exit 1 - fi - echo "forcing." -fi - -cephver=`git describe | cut -c 2-` -echo current version $cephver - -srcdir=`pwd` - -if [ -d "$releasedir/$cephver" ]; then - echo "$releasedir/$cephver already exists; reuse that release tarball" -else - echo building tarball - rm ceph-*.tar.gz || true - rm ceph-*.tar.bz2 || true - make dist - make dist-bzip2 - - vers=`ls ceph-*.tar.gz | cut -c 6- | sed 's/.tar.gz//'` - echo tarball vers $vers - - echo extracting - mkdir -p $releasedir/$cephver - cd $releasedir/$cephver - - tar zxf $srcdir/ceph-$vers.tar.gz - [ "$vers" != "$cephver" ] && mv ceph-$vers ceph-$cephver - - tar zcf ceph_$cephver.orig.tar.gz ceph-$cephver - cp -a ceph_$cephver.orig.tar.gz ceph-$cephver.tar.gz - - # need bz2 tarball to match name in spec file - cp -a $srcdir/ceph-$vers.tar.bz2 . - - # copy debian dir, too - # cp -a $srcdir/debian debian - # cd $srcdir -fi - -if [ -n "$versionfile" ]; then - echo $cephver > $versionfile - echo "wrote $cephver to $versionfile" -fi - -echo "done."