#!/bin/bash source ~/sbostuff/sbostuff.sh FROM_NAME="B. Watson" FROM_EMAIL="urchlay@slackware.uk" SELF="$( basename $0 )" die() { echo "$SELF: $@" 2>&1 exit 1 } get_dependees() { local build="$1" local i i="$( git grep -l "^REQUIRES=.*\<$build\>" | cut -d/ -f1,2 )" echo $i } make_offer() { local i local j local mailto local build="$1" local dependees="$( get_dependees "$1" )" if [ "$dependees" = "" ]; then echo "No dependees for $build" return fi echo "$build dependees: $dependees" if [ "$dependees" = "" ]; then echo "=> no dependees for $build, nobody offer to!" return fi for i in $dependees; do cdsb $i mailto="$( git grep '^EMAIL=' *.info | cut -d\" -f2 )" [ "$mailto" = "NOEMAIL" ] && continue echo "=> Enter email address for offer [$mailto]:" read j [ "$j" = "" ] && j="$mailto" mailto="$j" tmpfile="$( mktemp $SELF.XXXXXXXXXX )" rm -f $tmpfile echo "To: $mailto" cat <$tmpfile From: $FROM_NAME <$FROM_EMAIL> Subject: $( basename $i ) and $build on SBo $build needs a new maintainer. Your build $( basename $i ) lists it as a dependency, so you're the logical choice to take it over. If you want, I can update the .info file with your contact information, so you don't even have to submit an update. EOF cat $tmpfile echo echo -n "=> Send this email[y]? " read j if [ "$j" = "y" -o "$j" = "Y" -o "$j" = "" ]; then j="y" echo "==> Sending email to $mailto" cat $tmpfile | msmtp "$mailto" fi rm -f $tmpfile [ "$j" = "y" ] && return done } ### main() hoorex --version > /dev/null || die "hoorex not installed" cd $SBO_GITROOT || die "edit sbostuff.sh and set SBO_GITROOT" for build in "$@"; do echo "checking $build" make_offer "$build" done