#!/bin/bash

me="$(readlink -f $0)"
cd $(dirname "${me}")

usage() {
  >&2 echo 'usage:'
  >&2 echo '  bumpPython 2'
  >&2 echo 'or:'
  >&2 echo '  bumpPython 3'
  exit 1
}

if [ $# -ne 1 ]; then
  usage
fi

case "$1" in

  '2')
    pkgbuilds=(
      $(grep -l 'python>=2' */PKGBUILD)
    )
    pyver=$(
      python2 --version 2>&1
    )
  ;;
  '3')
    pkgbuilds=(
      $(grep -l 'python>=3' */PKGBUILD)
    )
    pyver=$(
      python --version 2>&1
    )
  ;;
  *)
    usage
  ;;
esac

pyver=$(
  printf '%s\n' "${pyver}" | \
    cut -d' ' -f2 | \
    cut -d. -f1,2
)
pymajor="${pyver%%.*}"
pyverupper="${pymajor}.$((${pyver#*.}+1))"

for pkgbuild in "${pkgbuilds[@]}"; do

  eval "$(
    grep '^pkgrel=' "${pkgbuild}"
  )"
  sed -i '
    s@^\(pkgrel=\)\('"'"'\?\)[0-9]\+\2$@\1'"'$((pkgrel+1))'"'@
    s@'"'python>=${pymajor}\.[0-9]\+'@'python>=${pyver}'"'@
    s@'"'python<${pymajor}\.[0-9]\+'@'python<${pyverupper}'"'@
  ' "${pkgbuild}"
  git add "${pkgbuild}"

done

git commit -m 'recompile all python packages'