| 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 |
| } |