diff --git a/.gitignore b/.gitignore index b662b8f38aeb5..72fe289ca0603 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ depcomp install-sh missing src/ceph_ver.h +release diff --git a/build_upload_debian_packages.sh b/build_upload_debian_packages.sh deleted file mode 100755 index 020aa2f87b135..0000000000000 --- a/build_upload_debian_packages.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -set -e - -vers=`grep AM_INIT_AUTOMAKE configure.ac | head -1 | cut '-d ' -f 2 | sed 's/)//'` -echo vers $vers - -repo=$1 -arch=$2 - -[ -z "$repo" ] && echo no repo && exit 1 -[ -z "$arch" ] && echo no arch && exit 1 - -if [ "$repo" = "unstable" ]; then - versuffix=`date "+%Y%m%d%H%M%S"` -# if [ `echo $vers | sed 's/[^\.]//g'` = ".." ]; then -# finalvers="$vers$versuffix" -# else -# finalvers="$vers.$versuffix" -# fi - finalvers="${vers}git$versuffix" - debdate=`date "+%a, %d %b %Y %X %z"` -else - finalvers="$vers" -fi - -echo final vers $finalvers - -echo cleanup -rm -rf ceph-* || true -rm -rf debtmp || true - -echo generating git version stamp -cd src -./make_version -grep GIT_VER ceph_ver.h -cd .. - -echo building tarball -make dist - -echo extracting -tar zxf ceph-$vers.tar.gz - -# mangle version -if [ "$vers" != "$finalvers" ]; then - echo "renaming ceph-$vers to ceph-$finalvers, rebuilding tarball" - mv ceph-$vers ceph-$finalvers - sed -i "s/ceph, $vers/ceph, $finalvers/" ceph-$finalvers/configure.ac - - tar zcf ceph-$finalvers.tar.gz ceph-$finalvers -fi; - - -## go - -echo creating debtmp with .orig.tar.gz -mkdir -p debtmp -cp ceph-$finalvers.tar.gz debtmp/ceph_$finalvers.orig.tar.gz -cd debtmp - -echo extracting .orig.tar.gz -tar zxf ceph_$finalvers.orig.tar.gz - -# copy in debian dir, fix up changelog -echo setting up debian dir -cp -a ../debian ceph-$finalvers -if [ "$vers" != "$finalvers" ]; then - cd ceph-$finalvers - DEBEMAIL="sage@newdream.net" dch -v $finalvers-1 'git snapshot' - cd .. -fi - -cd ceph-$finalvers -dpkg-buildpackage -rfakeroot -us -uc -cd .. - -if [ "$3" = "upload" ]; then - - # upload - rsync -v --progress *$arch* sage@ceph.newdream.net:debian/dists/$repo/main/binary-$arch - rsync -v --progress ceph_$finalvers[.-]* sage@ceph.newdream.net:debian/dists/$repo/main/source - - cd .. - -#exit 0 - - if [ "$repo" = "stable" -a "$arch" = "amd64" ]; then - scp ceph-$vers.tar.gz sage@ceph.newdream.net:ceph.newdream.net/downloads - fi - - # rebuild index - ssh sage@ceph.newdream.net build_debian_repo.sh -fi \ No newline at end of file diff --git a/builddebs.sh b/builddebs.sh new file mode 100755 index 0000000000000..fd63ccfab3530 --- /dev/null +++ b/builddebs.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e + +vers=$1 +[ -z "$vers" ] && echo specify version && exit 1 + +./pull.sh $vers gz dsc + +for dist in sid squeeze lenny +do + if [ -e ~/debian/$dist.tgz ]; then + echo updating $dist base.tgz + pbuilder update --basetgz ~/debian/$dist.tgz --distribution $dist + else + echo building $dist base.tgz + pbuilder create --basetgz ~/debian/$dist.tgz --distribution $dist + fi + + dvers="$vers-1" + [ "$dist" = "squeeze" ] && dvers="$dvers~bpo60+1" + [ "$dist" = "lenny" ] && dvers="$dvers~bpo50+1" + echo debian vers $dvers + + echo building debs for $dist + pbuilder build --basetgz ~/debian/$dist.tgz --distribution $dist \ + --buildresult release/$vers \ + --debbuildopts -j`grep -c processor /proc/cpuinfo` \ + release/$vers/ceph_$dvers.dsc + +done + + +# do lintian checks +for dist in sid squeeze lenny +do + dvers="$vers-1" + [ "$dist" = "squeeze" ] && dvers="$dvers~bpo60+1" + [ "$dist" = "lenny" ] && dvers="$dvers~bpo50+1" + echo lintian checks for $dvers + lintian release/$vers/*$dvers*.deb +done + diff --git a/publish.sh b/publish.sh new file mode 100755 index 0000000000000..39a741b90fcf0 --- /dev/null +++ b/publish.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e + +repo=~/debian + +vers=$1 +[ -z "$vers" ] && echo specify version && exit 1 +[ ! -d "release/$vers" ] && echo missing release/$vers && exit 1 + +if echo $vers | grep -q git ; then + component="ceph-unstable" +else + component="ceph-stable" +fi + +echo vers $vers +echo component $component + +for dist in sid squeeze lenny +do + dvers="$vers-1" + [ "$dist" = "squeeze" ] && dvers="$dvers~bpo60+1" + [ "$dist" = "lenny" ] && dvers="$dvers~bpo50+1" + echo debian dist $dist vers $dvers + + for f in release/$vers/ceph_${dvers}_*.changes + do + reprepro -b $repo -C $component --ignore=wrongdistribution include $dist $f + done +done diff --git a/pull.sh b/pull.sh new file mode 100755 index 0000000000000..ecc1e23eebeb8 --- /dev/null +++ b/pull.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +remote=ceph.newdream.net +vers=$1 +[ -z "$vers" ] && echo specify version && exit 1 + +test -d release/$vers || mkdir -p release/$vers + +shift + +if [ -z "$*" ]; then + echo fetching $vers + rsync -auv sage@$remote:release/$vers/ release/$vers +else + for e in $*; do + echo fetching $vers/*.$e + rsync -auv sage@$remote:release/$vers/\*.$e release/$vers + done +fi diff --git a/push.sh b/push.sh new file mode 100755 index 0000000000000..fb63d8332b681 --- /dev/null +++ b/push.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +remote=ceph.newdream.net +vers=$1 +[ -z "$vers" ] && echo specify version && exit 1 +[ ! -d release/$vers ] && echo release/$vers dne && exit 1 + +shift + +if [ -z "$*" ]; then + echo pushing $vers + rsync -auv release/$vers/ $remote:release/$vers +else + for e in $*; do + echo pushing $vers/*.$e + rsync -auv release/$vers/*.$e $remote:release/$vers + done +fi diff --git a/release.sh b/release.sh new file mode 100755 index 0000000000000..5d8fca2b8b13f --- /dev/null +++ b/release.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +set -e + +vers=`grep AM_INIT_AUTOMAKE configure.ac | head -1 | cut '-d ' -f 2 | sed 's/)//'` +echo vers $vers + +repo=$1 +force=$2 + +[ -z "$repo" ] && echo stable or unstable && 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 + +echo generating git version stamp +cd src +./make_version +gitver=`grep GIT_VER ceph_ver.h | awk '{print $3}' | cut -c 1-8` +echo gitver $gitver +cd .. + +if [ "$repo" = "unstable" ]; then + versuffix=`date "+%Y%m%d%H%M"` + finalvers="${vers}git${versuffix}-$gitver" +else + finalvers="$vers" +fi + +echo final vers $finalvers + +echo building tarball +make dist + +echo extracting +mkdir -p release/$finalvers +cd release/$finalvers + +tar zxf ../../ceph-$vers.tar.gz +[ "$vers" != "$finalvers" ] && mv ceph-$vers ceph-$finalvers +tar zcf ceph_$finalvers.orig.tar.gz ceph-$finalvers + +for dist in sid squeeze lenny +do + echo building $dist dsc +# mkdir $dist +# cd $dist + + dvers="$finalvers-1" + [ "$dist" = "squeeze" ] && dvers="$dvers~bpo60+1" + [ "$dist" = "lenny" ] && dvers="$dvers~bpo50+1" + + comment="" + [ -n "$versuffix" ] && comment="git snapshot " + [ "$dist" != "sid" ] && comment="${comment}$dist backport" + + if [ -n "$comment" ]; then + cd ceph-$finalvers + DEBEMAIL="sage@newdream.net" dch -b -v "$dvers" "$comment" + cd .. + fi + + dpkg-source -b ceph-* + +# cd .. +done + +rm -r ceph-$finalvers +cp -a ceph_$finalvers.orig.tar.gz ceph-$finalvers.tar.gz +echo finished release $finalvers \ No newline at end of file diff --git a/sign.sh b/sign.sh new file mode 100755 index 0000000000000..e9148ec105553 --- /dev/null +++ b/sign.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e + +vers=$1 +[ -z "$vers" ] && echo specify version && exit 1 + +./pull.sh $vers dsc changes + +for f in `cd release/$vers ; ls *.{dsc,changes}` +do + if [ -e "release/$vers/$f" ]; then + if head -1 release/$vers/$f | grep -q 'BEGIN PGP SIGNED MESSAGE' ; then + echo already signed $f + else + debsign release/$vers/$f + fi + fi +done \ No newline at end of file