_=${LINUX_REPO:=""}
_=${LINUX_BRANCH:=""}
_=${LOG_FILE:="/tmp/wrapfs-fix-branch.log"}
-_=${SCRIPT:=$(readlink -f $0)}
-_=${LOCATION:=$(dirname $SCRIPT)}
+_=${LOCATION:=$(pwd)}
# check if the script is running for a git repository or not
if [ ! -d .git ]; then
fi
}
+trim() {
+ local var="$*"
+ # remove leading whitespace characters
+ var="${var#"${var%%[![:space:]]*}"}"
+ # remove trailing whitespace characters
+ var="${var%"${var##*[![:space:]]}"}"
+ echo -n "$var"
+}
+
+get_linux_version() {
+ local file=$1
+ local ret=""
+ while IFS='' read -r line || [[ -n "$line" ]]; do
+ key=$(trim ${line%%=*})
+ value=$(trim ${line#*=})
+ if [[ $key == "VERSION" ]]; then
+ ret=${ret}${value}
+ fi
+ if [[ $key == "PATCHLEVEL" ]]; then
+ ret=${ret}.${value}
+ fi
+ if [[ $key == "SUBLEVEL" ]]; then
+ ret=${ret}.${value}
+ fi
+ if [[ $key == "EXTRAVERSION" ]]; then
+ ret=${ret}${value}
+ fi
+ if [ -z "$key" ] || [ -z "$value" ]; then
+ break;
+ fi
+ done < $file
+ echo -n $ret
+}
+
case "$WRAPFS_REPO" in
wrapfs-latest*)
LINUX_REPO="torvalds/linux.git"
- LINUX_BRANCH="master"
+ LINUX_BRANCH="korg/master"
;;
wrapfs-2.* | wrapfs-3.* | wrapfs-4.* )
LINUX_REPO="stable/linux-stable.git"
- LINUX_BRANCH=$(echo $WRAPFS_REPO | sed s/wrapfs/linux/g | sed s/\.git//g)
+ LINUX_BRANCH=$(get_linux_version $LOCATION/Makefile)
+ LINUX_BRANCH="v$LINUX_BRANCH"
;;
* )
echo "$WRAPFS_REPO: Unidentified repository. Script support only for wrapfs repository."
# Fetch correct tags for respective linux version
runcmd git fetch korg --tags $LINUX_BRANCH
-runcmd git reset --hard korg/$LINUX_BRANCH
+runcmd git reset --hard $LINUX_BRANCH
# Reset master to linux code base
runcmd git push -f origin master
else
runcmd git branch -r
fi
+
_=${LINUX_BRANCH:=""}
_=${LOCATION:=$(pwd)}
_=${PATCH_FILE:=""}
+_=${LINUX_PATCH_VERSION:=""}
# check if the script is running for a git repository or not
if [ ! -d .git ]; then
esac
done
-if [ -z "${PATCH_FILE:+x}" ]; then
- echo "Please give a path file name using -patch or -p option."
- exit 1
-fi
-
# function to execute commands
runcmd() {
echo "----------------------------------------------------------------------"
}
patch() {
- local src="v$1"
+ local src="$1"
local dest="wrapfs"
local file="$2"
- runcmd git diff -u $src..$dest > $2
+ echo "runcmd git diff -u $src..$dest > $2"
}
trim() {
if [[ $key == "SUBLEVEL" ]]; then
ret=${ret}.${value}
fi
- if [[ $key == "EXTRAVERSION" ]]; then
- ret=${ret}${value}
- fi
if [ -z "$key" ] || [ -z "$value" ]; then
break;
fi
if [[ "$LINUX_VERSION" != "" ]]; then
runcmd git reset --hard "v$LINUX_VERSION"
else
- runcmd git reset --hard "v$WRAPFS_KERNEL_VERSION"
+ #echo "runcmd git reset --hard "v$WRAPFS_KERNEL_VERSION""
+ runcmd git pull korg "linux-${WRAPFS_KERNEL_VERSION}.y"
fi
# Push the latest chnages from korg to origin
# Merge master on wrapfs
runcmd git merge master
-# Release patch with latest linux
-if [[ "$LINUX_VERSION" != "" ]]; then
- patch $LINUX_VERSION $PATCH_FILE
-else
- patch $WRAPFS_KERNEL_VERSION $PATCH_FILE
+if [ -n "${PATCH_FILE:+x}" ]; then
+ # Release patch with latest linux
+ if [[ "$LINUX_VERSION" != "" ]]; then
+ LINUX_PATCH_VERSION="v$LINUX_VERSION"
+ patch $LINUX_PATCH_VERSION $PATCH_FILE
+ else
+ LINUX_PATCH_VERSION=`git describe`
+ patch $LINUX_PATCH_VERSION $PATCH_FILE
+ fi
fi