blob: 8af23cb3c9f36b6457e439743dbec2ea2852ff6e [file] [log] [blame]
UPSTREAM_REMOTE=origin
source ~/.config/linux-stable-queue
# Get base version, i.e. the Linus stable release that a version is based on
base_version() {
local ver
ver="${1%-rc*}"
case "$ver" in
2.6.*.* | [3-9].*.* | ??.*.*)
ver="${ver%.*}"
;;
esac
echo "$ver"
}
add_update() {
local base update
base="$(base_version "$1")"
update="${1#$base.}"
if [ "$update" = "$1" ]; then
update=0
fi
update="$((update + $2))"
if [ $update = 0 ]; then
echo "$base"
else
echo "$base.$update"
fi
}
# Get last stable update version (or Linus stable release, for .1)
last_update() {
add_update "$1" -1
}
# Get next stable update version
next_update() {
add_update "$1" 1
}
_validate_base_ver() {
for base_ver in $STABLE_BASE_VERSIONS; do
if [ "$1" = "$base_ver" ]; then
return 0
fi
done
echo >&2 "E: Invalid base version: $1"
return 1
}
# Get patch queue directory for a given base version
get_queue() {
_validate_base_ver "$1" || return 1
local queue="$STABLE_QUEUES/queue-$1"
mkdir -p "$queue"
echo "$queue"
}
# Get git repo directory for a given base version
get_git() {
_validate_base_ver "$1" || return 1
local var_name
var_name=STABLE_GIT_${1//./_}
eval echo \$$var_name
}