summaryrefslogtreecommitdiff
path: root/bumpPkgrel
blob: 110cf7833d6c64d9b7fd8211c5d0b06b2e4b3bb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash

if [ $# -eq 0 ]; then
  >&2 echo 'usage: bumpPkgrel [-n] $pkg1 $pkg2 $pkg3 ...'
  exit 1
fi

if [ "x$1" = 'x-n' ]; then
  commit=false
  shift
else
  commit=true
fi

if [ $# -eq 1 ]; then

  cd "$(dirname "$0")"

  pkg="${1%/}"
  cd "${pkg}"
  eval "$(
    grep '^pkgrel=' 'PKGBUILD'
  )"
  sed -i '
    s@^\(pkgrel=\)\('"'"'\?\)[0-9]\+\2$@\1'"$((pkgrel+1))"'@
  ' 'PKGBUILD'
  if ${commit}; then
    if [ -d '.git' ] || [ -f '.git' ]; then
      makepkg --printsrcinfo > .SRCINFO
      git commit 'PKGBUILD' '.SRCINFO' -m "${pkg}: rebuild"
      for remote in $(
        git remote
      ); do
        git push "${remote}" || exit 1
      done
      cd ..
      git commit "${pkg}" -m "${pkg}: rebuild"
    else
      git commit 'PKGBUILD' -m "${pkg}: rebuild"
    fi
  fi

else

  printf '%s\n' "$@" \
    | xargs -rn1 "$0"

fi