From: Chris Wright Date: Thu, 30 Jun 2005 00:57:23 +0000 (-0700) Subject: Add release script X-Git-Tag: v2.6.12.3~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=33a5d277d48d1d01c41a1d8d0134909d0223f3c5;p=thirdparty%2Fkernel%2Fstable-queue.git Add release script --- diff --git a/scripts/dorelease b/scripts/dorelease new file mode 100755 index 00000000000..f97ea981250 --- /dev/null +++ b/scripts/dorelease @@ -0,0 +1,69 @@ +#!/bin/bash +# build -stable release from current -stable series +# Copyright (c) 2005 Chris Wright + +if [ $# -ne 1 ]; then + echo -e "Usage:\t $0 release_number\ne.g.\t $0 2.6.11.12" + exit 1 +fi + +RELEASE=$1 +REL_ARRAY=(${RELEASE//./ }) +BASE=${REL_ARRAY[0]}.${REL_ARRAY[1]}.${REL_ARRAY[2]} +REL=${REL_ARRAY[3]} +LAST=$(($REL - 1)) +if [ $LAST -eq 0 ]; then + LAST_REL=${BASE} +else + LAST_REL=${BASE}.${LAST} +fi +echo "creating stable release $RELEASE (base $BASE last version $LAST_REL)" +echo "[ret] to continue ^C to quit" +read + +RELDIR="../release-$RELEASE" +mkdir $RELDIR + +# apply patches +quilt series | while read PATCH +do + cat $PATCH >> $RELDIR/apply.mbox +done +dotest $RELDIR/apply.mbox +rm $RELDIR/apply.mbox + +# update EXTRAVERSION +vim +/^EXTRAVERSION Makefile + +# check that the EXTRAVERSION change is all that's outstanding +echo +echo "**** About to commit ****" +echo +git-diff-files -p + +echo "[ret] to continue" +read + +# commit EXTRAVERSION change +git-update-cache Makefile +RELEASE_COMMIT=$(echo "Linux $RELEASE" | git-commit-tree $(git-write-tree) -p HEAD) +echo $RELEASE_COMMIT > .git/HEAD + +# tag it +TAG=$(echo "This is the $RELEASE stable release" | git-tag-script v$RELEASE) +echo $TAG > .git/refs/tags/v$RELEASE + +BASE_COMMIT="$(git-cat-file tag $(cat .git/refs/tags/v${BASE}) | grep object | cut -d" " -f2)" +LAST_COMMIT="$(git-cat-file tag $(cat .git/refs/tags/v${LAST_REL}) | grep object | cut -d" " -f2)" + +# build release materials, tarball, base patch, incr patch, changelog +git-tar-tree HEAD linux-$RELEASE | gzip -9 > $RELDIR/linux-${RELEASE}.tar.gz +git-diff-tree -p $BASE_COMMIT $RELEASE_COMMIT | gzip -9 > $RELDIR/patch-${RELEASE}.gz +git-diff-tree -p $LAST_COMMIT $RELEASE_COMMIT | gzip -9 > $RELDIR/patch-${LAST_REL}-${REL}.gz +zcat $RELDIR/patch-${LAST_REL}-${REL}.gz | diffstat -p1 > $RELDIR/diffstat-${LAST_REL}-${REL} 2>/dev/null +git log ${LAST_COMMIT}..${RELEASE_COMMIT} > $RELDIR/ChangeLog-$RELEASE +< $RELDIR/ChangeLog-$RELEASE git-shortlog > $RELDIR/shortlog-$RELEASE + +echo "ready to upload files" +echo "scp $RELDIR/* master.kernel.org:$RELDIR/" +echo "don't forget to update LATEST-IS"