compat-drivers: rename gen-stable-release.sh to gen-release.sh
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>
Thu, 20 Sep 2012 21:44:37 +0000 (14:44 -0700)
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>
Thu, 20 Sep 2012 21:44:37 +0000 (14:44 -0700)
We'll use this same script to make daily linux-next.git based
releases.

Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
scripts/gen-release.sh [new file with mode: 0755]
scripts/gen-stable-release.sh [deleted file]

diff --git a/scripts/gen-release.sh b/scripts/gen-release.sh
new file mode 100755 (executable)
index 0000000..fbe00ba
--- /dev/null
@@ -0,0 +1,223 @@
+#!/usr/bin/env bash
+# Copyright 2009  Luis R. Rodriguez <mcgrof@gmail.com>
+#
+# You can use this to make stable compat-drivers releases
+#
+# The assumption is you have the linux-stable git tree on your $HOME
+# git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+#
+# Local branches will be created based on the remote linux-2.6.X.y branches.
+# If your branch already exists we will nuke it for you to avoid rebasing.
+#
+# If no kernel is specified we use the latest rc-release, which will be on the
+# remove master branch. Your master branch should be clean.
+
+# Pretty colors
+GREEN="\033[01;32m"
+YELLOW="\033[01;33m"
+NORMAL="\033[00m"
+BLUE="\033[34m"
+RED="\033[31m"
+PURPLE="\033[35m"
+CYAN="\033[36m"
+UNDERLINE="\033[02m"
+GIT_STABLE_URL="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git"
+
+# Note that this tree may not have the latest RC stuff, so you should also add
+# Linus' tree as a remote and fetch those objects if you want to make an RC
+# release instead.
+ALL_STABLE_TREE="linux-stable"
+STAGING=/tmp/staging/compat-drivers/
+
+function usage()
+{
+       echo -e "Usage: ${GREEN}$1${NORMAL} ${BLUE}[ -n | -p | -c | -f | -i ]${NORMAL} ${CYAN}[ linux-2.6.X.y ]${NORMAL}"
+       echo
+       echo Examples usages:
+       echo
+       echo  -e "${PURPLE}${1}${NORMAL}"
+       echo  -e "${PURPLE}${1} ${CYAN}linux-2.6.29.y${NORMAL}"
+       echo  -e "${PURPLE}${1} ${CYAN}linux-2.6.30.y${NORMAL}"
+       echo
+       echo -e "If no kernel is specified we try to make a release based on the latest RC kernel."
+       echo -en "If a kernel release is specified ${CYAN}X${NORMAL} is the next stable release "
+       echo -en "as ${CYAN}35${NORMAL} in ${CYAN}2.6.35.y${NORMAL}\n"
+       exit
+}
+
+UPDATE_ARGS=""
+POSTFIX_RELEASE_TAG="-"
+
+if [ -z $GIT_TREE ]; then
+       export GIT_TREE=$HOME/$ALL_STABLE_TREE
+       if [ ! -d $GIT_TREE ]; then
+               echo "Please tell me where your linux-stable git tree is."
+               echo "You can do this by exporting its location as follows:"
+               echo
+               echo "  export GIT_TREE=/home/$USER/linux-stable/"
+               echo
+               echo "If you do not have one you can clone the repository:"
+               echo "  git clone $GIT_STABLE_URL"
+               exit 1
+       fi
+else
+       echo "You said to use git tree at: $GIT_TREE for linux-stable"
+fi
+COMPAT_WIRELESS_DIR=$(pwd)
+COMPAT_WIRELESS_BRANCH=$(git branch | grep \* | awk '{print $2}')
+
+cd $GIT_TREE
+# --abbrev=0 on branch should work but I guess it doesn't on some releases
+EXISTING_BRANCH=$(git branch | grep \* | awk '{print $2}')
+
+# target branch we want to use from hpa's tree, by default
+# this respects the existing branch on the target kernel.
+# You can override the target branch by specifying an argument
+# to this script.
+TARGET_BRANCH="$EXISTING_BRANCH"
+
+# By default we will not do a git fetch and reset of the branch,
+# use -f if you want to force an update, this will delete all
+# of your local patches so be careful.
+FORCE_UPDATE="no"
+
+while [ $# -ne 0 ]; do
+       if [[ "$1" = "-s" ]]; then
+               UPDATE_ARGS="${UPDATE_ARGS} $1"
+               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}s"
+               shift; continue;
+       fi
+       if [[ "$1" = "-n" ]]; then
+               UPDATE_ARGS="${UPDATE_ARGS} $1"
+               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}n"
+               shift; continue;
+       fi
+       if [[ "$1" = "-p" ]]; then
+               UPDATE_ARGS="${UPDATE_ARGS} $1"
+               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}p"
+               shift; continue;
+       fi
+       if [[ "$1" = "-c" ]]; then
+               UPDATE_ARGS="${UPDATE_ARGS} $1"
+               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}c"
+               shift; continue;
+       fi
+       if [[ "$1" = "-f" ]]; then
+               FORCE_UPDATE="yes"
+               shift; continue;
+       fi
+
+       if [[ $(expr "$1" : '^linux-') -eq 6 ]]; then
+               TARGET_BRANCH="$1"
+               shift; continue;
+       fi
+
+       echo -e "Unexpected argument passed: ${RED}${1}${NORMAL}"
+       usage $0
+       exit
+done
+
+function check_for_updates()
+{
+       case $TARGET_BRANCH in
+       "master") # Preparing a new stable compat-drivers release based on an RC kernel
+               git checkout -f
+               git fetch
+               git reset --hard origin
+               ;;
+       *) # Based on a stable {2.6.x.y, 3.x.y} release, lets just move to the target branch
+          # we'll only ask for object updates if and only if you asked us to with -f,
+          # otherwise we eat up whatever you already have on your existing branch.
+               git checkout -f
+               git fetch
+               git branch -D $TARGET_BRANCH
+               git checkout -b $TARGET_BRANCH origin/$TARGET_BRANCH
+               ;;
+       esac
+}
+
+# We will not update your linux-stable git tree by default. You can force
+# an update by two methods:
+#
+# a) Specifying a different target branch
+# b) Specifying the -f flag to this script
+if [[ "$FORCE_UPDATE" = "yes" || "$TARGET_BRANCH" != "$EXISTING_BRANCH" ]]; then
+       check_for_updates
+else
+       echo -e "Skipping $ALL_STABLE_TREE git tree update checks for branch: $TARGET_BRANCH"
+fi
+
+echo "On $ALL_STABLE_TREE: $TARGET_BRANCH"
+
+# At this point your linux-stable tree should be up to date
+# with the target kernel you want to use. Lets now make sure you are
+# on matching compat-drivers branch.
+
+# This is a super hack, but let me know if you figure out a cleaner way
+TARGET_KERNEL_RELEASE=$(make VERSION="linux-3" SUBLEVEL="" EXTRAVERSION=".y" kernelversion)
+
+BASE_TREE=$(basename $GIT_TREE)
+
+if [[ $COMPAT_WIRELESS_BRANCH != $TARGET_KERNEL_RELEASE && $BASE_TREE != "linux-next" ]]; then
+       echo -e "You are on the compat-drivers ${GREEN}${COMPAT_WIRELESS_BRANCH}${NORMAL} but are "
+       echo -en "on the ${RED}${TARGET_KERNEL_RELEASE}${NORMAL} branch... "
+       echo -e "try changing to that first."
+
+       read -p "Do you still want to continue (y/N)? "
+       if [[ "${REPLY}" != "y" ]]; then
+           echo -e "Bailing out !"
+           exit
+       fi
+fi
+
+
+cd $COMPAT_WIRELESS_DIR
+
+if [[ $COMPAT_WIRELESS_BRANCH != "master" ]]; then
+       RELEASE=$(git describe --abbrev=0 | sed -e 's/v//g')
+else
+       RELEASE=$(git describe --abbrev=0)
+fi
+
+if [[ $POSTFIX_RELEASE_TAG != "-" ]]; then
+       RELEASE="${RELEASE}${POSTFIX_RELEASE_TAG}"
+fi
+RELEASE_TAR="$RELEASE.tar.bz2"
+
+rm -rf $STAGING
+mkdir -p $STAGING
+cp -a $COMPAT_WIRELESS_DIR $STAGING/$RELEASE
+cd $STAGING/$RELEASE
+
+./scripts/admin-update.sh $UPDATE_ARGS
+rm -rf $STAGING/$RELEASE/.git
+
+# Remove any gunk
+echo
+echo "Cleaning up the release ..."
+make clean 2>&1 > /dev/null
+find ./ -type f -name *.orig | xargs rm -f
+find ./ -type f -name *.rej  | xargs rm -f
+
+cd $STAGING/
+
+echo "Creating ${RELEASE}.tar ..."
+tar -cf ${RELEASE}.tar $RELEASE/
+bzip2 -9 ${RELEASE}.tar
+
+# kup allows us to upload a compressed archive but wants us
+# to sign the tarball alone, it will uncompress the
+# compressed tarball, verify the tarball and then re-compress
+# the tarball.
+gpg --armor --detach-sign ${RELEASE}.tar
+
+# XXX: Add this for daily / stable release:
+# kup put ${RELEASE}.tar.bz2 ${RELEASE}.tar.asc /pub/linux/kernel/projects/backports/2012/09/18/
+
+echo
+echo "compat-drivers release: $RELEASE"
+echo "Size: $(du -h ${RELEASE_TAR})"
+echo "sha1sum: $(sha1sum ${RELEASE_TAR})"
+echo
+echo "Release:           ${STAGING}${RELEASE_TAR}"
+echo "Release signature: ${STAGING}${RELEASE}.tar.asc"
diff --git a/scripts/gen-stable-release.sh b/scripts/gen-stable-release.sh
deleted file mode 100755 (executable)
index fbe00ba..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2009  Luis R. Rodriguez <mcgrof@gmail.com>
-#
-# You can use this to make stable compat-drivers releases
-#
-# The assumption is you have the linux-stable git tree on your $HOME
-# git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
-#
-# Local branches will be created based on the remote linux-2.6.X.y branches.
-# If your branch already exists we will nuke it for you to avoid rebasing.
-#
-# If no kernel is specified we use the latest rc-release, which will be on the
-# remove master branch. Your master branch should be clean.
-
-# Pretty colors
-GREEN="\033[01;32m"
-YELLOW="\033[01;33m"
-NORMAL="\033[00m"
-BLUE="\033[34m"
-RED="\033[31m"
-PURPLE="\033[35m"
-CYAN="\033[36m"
-UNDERLINE="\033[02m"
-GIT_STABLE_URL="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git"
-
-# Note that this tree may not have the latest RC stuff, so you should also add
-# Linus' tree as a remote and fetch those objects if you want to make an RC
-# release instead.
-ALL_STABLE_TREE="linux-stable"
-STAGING=/tmp/staging/compat-drivers/
-
-function usage()
-{
-       echo -e "Usage: ${GREEN}$1${NORMAL} ${BLUE}[ -n | -p | -c | -f | -i ]${NORMAL} ${CYAN}[ linux-2.6.X.y ]${NORMAL}"
-       echo
-       echo Examples usages:
-       echo
-       echo  -e "${PURPLE}${1}${NORMAL}"
-       echo  -e "${PURPLE}${1} ${CYAN}linux-2.6.29.y${NORMAL}"
-       echo  -e "${PURPLE}${1} ${CYAN}linux-2.6.30.y${NORMAL}"
-       echo
-       echo -e "If no kernel is specified we try to make a release based on the latest RC kernel."
-       echo -en "If a kernel release is specified ${CYAN}X${NORMAL} is the next stable release "
-       echo -en "as ${CYAN}35${NORMAL} in ${CYAN}2.6.35.y${NORMAL}\n"
-       exit
-}
-
-UPDATE_ARGS=""
-POSTFIX_RELEASE_TAG="-"
-
-if [ -z $GIT_TREE ]; then
-       export GIT_TREE=$HOME/$ALL_STABLE_TREE
-       if [ ! -d $GIT_TREE ]; then
-               echo "Please tell me where your linux-stable git tree is."
-               echo "You can do this by exporting its location as follows:"
-               echo
-               echo "  export GIT_TREE=/home/$USER/linux-stable/"
-               echo
-               echo "If you do not have one you can clone the repository:"
-               echo "  git clone $GIT_STABLE_URL"
-               exit 1
-       fi
-else
-       echo "You said to use git tree at: $GIT_TREE for linux-stable"
-fi
-COMPAT_WIRELESS_DIR=$(pwd)
-COMPAT_WIRELESS_BRANCH=$(git branch | grep \* | awk '{print $2}')
-
-cd $GIT_TREE
-# --abbrev=0 on branch should work but I guess it doesn't on some releases
-EXISTING_BRANCH=$(git branch | grep \* | awk '{print $2}')
-
-# target branch we want to use from hpa's tree, by default
-# this respects the existing branch on the target kernel.
-# You can override the target branch by specifying an argument
-# to this script.
-TARGET_BRANCH="$EXISTING_BRANCH"
-
-# By default we will not do a git fetch and reset of the branch,
-# use -f if you want to force an update, this will delete all
-# of your local patches so be careful.
-FORCE_UPDATE="no"
-
-while [ $# -ne 0 ]; do
-       if [[ "$1" = "-s" ]]; then
-               UPDATE_ARGS="${UPDATE_ARGS} $1"
-               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}s"
-               shift; continue;
-       fi
-       if [[ "$1" = "-n" ]]; then
-               UPDATE_ARGS="${UPDATE_ARGS} $1"
-               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}n"
-               shift; continue;
-       fi
-       if [[ "$1" = "-p" ]]; then
-               UPDATE_ARGS="${UPDATE_ARGS} $1"
-               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}p"
-               shift; continue;
-       fi
-       if [[ "$1" = "-c" ]]; then
-               UPDATE_ARGS="${UPDATE_ARGS} $1"
-               POSTFIX_RELEASE_TAG="${POSTFIX_RELEASE_TAG}c"
-               shift; continue;
-       fi
-       if [[ "$1" = "-f" ]]; then
-               FORCE_UPDATE="yes"
-               shift; continue;
-       fi
-
-       if [[ $(expr "$1" : '^linux-') -eq 6 ]]; then
-               TARGET_BRANCH="$1"
-               shift; continue;
-       fi
-
-       echo -e "Unexpected argument passed: ${RED}${1}${NORMAL}"
-       usage $0
-       exit
-done
-
-function check_for_updates()
-{
-       case $TARGET_BRANCH in
-       "master") # Preparing a new stable compat-drivers release based on an RC kernel
-               git checkout -f
-               git fetch
-               git reset --hard origin
-               ;;
-       *) # Based on a stable {2.6.x.y, 3.x.y} release, lets just move to the target branch
-          # we'll only ask for object updates if and only if you asked us to with -f,
-          # otherwise we eat up whatever you already have on your existing branch.
-               git checkout -f
-               git fetch
-               git branch -D $TARGET_BRANCH
-               git checkout -b $TARGET_BRANCH origin/$TARGET_BRANCH
-               ;;
-       esac
-}
-
-# We will not update your linux-stable git tree by default. You can force
-# an update by two methods:
-#
-# a) Specifying a different target branch
-# b) Specifying the -f flag to this script
-if [[ "$FORCE_UPDATE" = "yes" || "$TARGET_BRANCH" != "$EXISTING_BRANCH" ]]; then
-       check_for_updates
-else
-       echo -e "Skipping $ALL_STABLE_TREE git tree update checks for branch: $TARGET_BRANCH"
-fi
-
-echo "On $ALL_STABLE_TREE: $TARGET_BRANCH"
-
-# At this point your linux-stable tree should be up to date
-# with the target kernel you want to use. Lets now make sure you are
-# on matching compat-drivers branch.
-
-# This is a super hack, but let me know if you figure out a cleaner way
-TARGET_KERNEL_RELEASE=$(make VERSION="linux-3" SUBLEVEL="" EXTRAVERSION=".y" kernelversion)
-
-BASE_TREE=$(basename $GIT_TREE)
-
-if [[ $COMPAT_WIRELESS_BRANCH != $TARGET_KERNEL_RELEASE && $BASE_TREE != "linux-next" ]]; then
-       echo -e "You are on the compat-drivers ${GREEN}${COMPAT_WIRELESS_BRANCH}${NORMAL} but are "
-       echo -en "on the ${RED}${TARGET_KERNEL_RELEASE}${NORMAL} branch... "
-       echo -e "try changing to that first."
-
-       read -p "Do you still want to continue (y/N)? "
-       if [[ "${REPLY}" != "y" ]]; then
-           echo -e "Bailing out !"
-           exit
-       fi
-fi
-
-
-cd $COMPAT_WIRELESS_DIR
-
-if [[ $COMPAT_WIRELESS_BRANCH != "master" ]]; then
-       RELEASE=$(git describe --abbrev=0 | sed -e 's/v//g')
-else
-       RELEASE=$(git describe --abbrev=0)
-fi
-
-if [[ $POSTFIX_RELEASE_TAG != "-" ]]; then
-       RELEASE="${RELEASE}${POSTFIX_RELEASE_TAG}"
-fi
-RELEASE_TAR="$RELEASE.tar.bz2"
-
-rm -rf $STAGING
-mkdir -p $STAGING
-cp -a $COMPAT_WIRELESS_DIR $STAGING/$RELEASE
-cd $STAGING/$RELEASE
-
-./scripts/admin-update.sh $UPDATE_ARGS
-rm -rf $STAGING/$RELEASE/.git
-
-# Remove any gunk
-echo
-echo "Cleaning up the release ..."
-make clean 2>&1 > /dev/null
-find ./ -type f -name *.orig | xargs rm -f
-find ./ -type f -name *.rej  | xargs rm -f
-
-cd $STAGING/
-
-echo "Creating ${RELEASE}.tar ..."
-tar -cf ${RELEASE}.tar $RELEASE/
-bzip2 -9 ${RELEASE}.tar
-
-# kup allows us to upload a compressed archive but wants us
-# to sign the tarball alone, it will uncompress the
-# compressed tarball, verify the tarball and then re-compress
-# the tarball.
-gpg --armor --detach-sign ${RELEASE}.tar
-
-# XXX: Add this for daily / stable release:
-# kup put ${RELEASE}.tar.bz2 ${RELEASE}.tar.asc /pub/linux/kernel/projects/backports/2012/09/18/
-
-echo
-echo "compat-drivers release: $RELEASE"
-echo "Size: $(du -h ${RELEASE_TAR})"
-echo "sha1sum: $(sha1sum ${RELEASE_TAR})"
-echo
-echo "Release:           ${STAGING}${RELEASE_TAR}"
-echo "Release signature: ${STAGING}${RELEASE}.tar.asc"