From 8a6e0dcb5aaeaca02e40bd1af3b8bdbf320b085e Mon Sep 17 00:00:00 2001 From: Joel Grunbaum <joelgrun@gmail.com> Date: Sat, 24 Jun 2023 12:38:55 +0000 Subject: [PATCH] changed to oneshot --- main.sh | 62 ++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 10 deletions(-) diff --git a/main.sh b/main.sh index 81b5cf4..41535c1 100755 --- a/main.sh +++ b/main.sh @@ -74,6 +74,11 @@ makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) 2>&1 fi if [[ $? != 0 && $? != 13 ]]; then + if [[ -n $(find . -iname "*cmake") && "$2" != "-s" ]]; then + find ./src -iname "*cmake*" -type f -delete + build_pkg "$1" -s + return $? + fi #Register error echo $1 >> $ERRORFILE return 1 @@ -285,7 +290,7 @@ #Check helper function function check_pkg { - if [[ -z "$(curl -sI "https://aur.archlinux.org/packages/$2" | head -n1 | grep 200)" ]]; then + if [[ -z "$(curl -si "https://aur.archlinux.org/packages/$2" | head -n1 | grep 200)" ]]; then echo "$2" >> $1 fi } @@ -338,15 +343,45 @@ return 0 } +function remake-repo { + cd $REPODIR + rm -f $REPONAME.db.* + pkgs="$(find . -name '*.pkg.*' -not -name '*.sig')" + repo-add $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n "$COMPRESSION" ] || echo $COMPRESSION && echo zst) $pkgs +} + function send_email { - ( - echo "From: $FROM_EMAIL" - echo "To: $EMAIL" - echo "Subject: Build errors" - echo "" - echo "There were build errors for the build of $REPONAME at $(date), please address them soon." - echo "The errors were: $@" - ) | sendmail -t +# message=(echo "From: $FROM_EMAIL" +# echo "To: $TO_EMAIL" +# echo "Subject: Build errors" +# echo "" +# echo "There were build errors for the build of $REPONAME at $(date), please address them soon." +# echo "The errors were: $@" +# ) + if [ 1 ]; then + ( + echo "From: $FROM_EMAIL" + echo "To: $TO_EMAIL" + echo "Subject: Build errors" + echo "" + echo "There were build errors for the build of $REPONAME at $(date), please address them soon." + echo "The errors were: $@" + ) | sendmail -t + else + curl -s --url "smtp://$EMAIL_HOST" --ssl \ + --mail-from "$FROM_EMAIL" \ + --mail-rcpt "$TO_EMAIL" \ + --user "$EMAIL_USER" \ + -T <( + echo "From: $FROM_EMAIL" + echo "To: $TO_EMAIL" + echo "Subject: Build errors" + echo "" + echo "There were build errors for the build of $REPONAME at $(date), please address them soon." + echo "The errors were: $@" + ) + fi + return $? } case $1 in @@ -360,14 +395,21 @@ remove ${@:2};; "check") check;; + "remake") + remake-repo;; + "test-mail") + send_email + exit $?;; *) echo -e "\033[0;31mInvalid usage\033[0m" echo -e "Usage: $0 init|check|add|remove|build-all" echo -e "\033[0;32minit\033[0m - initialise repository for use" + echo -e "\033[0;32mtest-mail\033[m - test email configuration by sending the default email without a message" echo -e "\033[0;32mcheck\033[0m - check if packages have been moved into the official repositories or removed from the AUR" echo -e "\033[0;32madd package ...\033[0m - add a package to \$BUILDDIR and repository, also used to rebuild failed packages" echo -e "\033[0;32mremove -a | package ...\033[0m - remove package from \$BUILDDIR and repository, \"-a\" removes packages added to official repos" echo -e "\033[0;32mbuild-all [-f]\033[0m - build all packages in \$BUILDDIR, \"-f\" force builds whole repository" + echo -e "\033[-;32mremake\033[0m - Recreate repo" esac # Error reporting, send email only for build-all as assuming an batch job for that @@ -375,7 +417,7 @@ if [[ -n $(cat $ERRORFILE) ]]; then ERRORS=$(cat $ERRORFILE | tr '\n' ' ') echo "Errors in packages: $ERRORS" - if [[ "$EMAIL" != "" && "$1" == "build-all" ]]; then + if [[ "$TO_EMAIL" != "" && "$1" == "build-all" ]]; then send_email $ERRORS fi else -- Gitblit v1.10.0