#!/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 ./bumpPkgrel -n "${pkgbuild%/PKGBUILD}" sed -i ' s@'"'python>=${pymajor}\.[0-9]\+'@'python>=${pyver}'"'@ s@'"'python<${pymajor}\.[0-9]\+'@'python<${pyverupper}'"'@ ' "${pkgbuild}" if [ -d "${pkgbuild%/*}"'/.git' ] || [ -f "${pkgbuild%/*}"'/.git' ]; then cd "${pkgbuild%/*}" makepkg --printsrcinfo > .SRCINFO git commit 'PKGBUILD' '.SRCINFO' -m "${pkgbuild%/*}: rebuild against new python ${pyver}" git push || exit 1 cd .. git add "${pkgbuild%/*}" else git add "${pkgbuild}" fi done git commit -m 'recompile all python packages'