summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xbuild_upload_debian_packages.sh94
-rwxr-xr-xbuilddebs.sh43
-rwxr-xr-xpublish.sh31
-rwxr-xr-xpull.sh21
-rwxr-xr-xpush.sh20
-rwxr-xr-xrelease.sh80
-rwxr-xr-xsign.sh19
8 files changed, 215 insertions, 94 deletions
diff --git a/.gitignore b/.gitignore
index b662b8f38ae..72fe289ca06 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 020aa2f87b1..00000000000
--- 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 00000000000..fd63ccfab35
--- /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 00000000000..39a741b90fc
--- /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 00000000000..ecc1e23eebe
--- /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 00000000000..fb63d8332b6
--- /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 00000000000..5d8fca2b8b1
--- /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 00000000000..e9148ec1055
--- /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