]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
debian: new release, push, build, publish scripts
authorSage Weil <sage@newdream.net>
Mon, 1 Mar 2010 04:19:04 +0000 (20:19 -0800)
committerSage Weil <sage@newdream.net>
Mon, 1 Mar 2010 04:19:04 +0000 (20:19 -0800)
.gitignore
build_upload_debian_packages.sh [deleted file]
builddebs.sh [new file with mode: 0755]
publish.sh [new file with mode: 0755]
pull.sh [new file with mode: 0755]
push.sh [new file with mode: 0755]
release.sh [new file with mode: 0755]
sign.sh [new file with mode: 0755]

index b662b8f38aeb5d8c41cd922f468b714c3b9c2a1f..72fe289ca0603f34c92841e1800468ecf948aea8 100644 (file)
@@ -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 (executable)
index 020aa2f..0000000
+++ /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 (executable)
index 0000000..fd63ccf
--- /dev/null
@@ -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 (executable)
index 0000000..39a741b
--- /dev/null
@@ -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 (executable)
index 0000000..ecc1e23
--- /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 (executable)
index 0000000..fb63d83
--- /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 (executable)
index 0000000..5d8fca2
--- /dev/null
@@ -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 (executable)
index 0000000..e9148ec
--- /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