#!/bin/bash # xrevbump MESSAGE TEMPLATES... - increase template revision and commit # TEMPLATES can be "-", then read linewise from stdin. MESSAGE=$1 shift if [ $# -eq 0 ]; then printf "Usage: xrevbump MESSAGE TEMPLATES...\n" 2>&1 exit 1 fi seen=' ' nl=' ' bump() { t="$1" if [ -f "$t" ]; then : elif [ -f "$t/template" ]; then t="$t/template" elif [ -f "srcpkgs/$t/template" ]; then t="srcpkgs/$t/template" elif [ -f "$XBPS_DISTDIR/srcpkgs/$1/template" ]; then t="$XBPS_DISTDIR/srcpkgs/$1/template" else printf "Cannot find template '%s'\n" "$t" return fi . "$t" case "$seen" in *" $pkgname "*) printf "%s: bumped already.\n" "$t" ;; *) revision=$((revision + 1)) printf "%s: bump to revision %d\n" "$t" "$revision" sed -i -e "/^revision=/s/=.*/=$revision/" "$t" git -C "${t%/*}" commit -m "$pkgname: $MESSAGE" template seen="$seen $pkgname " ;; esac } XBPS_DISTDIR="$(xdistdir)" if [ "$1" = - ]; then while IFS="$nl" read -r t; do bump "$t" done else for t; do bump "$t" done fi