mirror of https://github.com/Chizi123/Arch-autobuild-repo.git

Joel Grunbaum
2023-06-24 8a6e0dcb5aaeaca02e40bd1af3b8bdbf320b085e
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,7 +343,31 @@
   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 {
#  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" \
@@ -351,6 +380,7 @@
         echo "There were build errors for the build of $REPONAME at $(date), please address them soon."
         echo "The errors were: $@"
      )
   fi
   return $?
}
@@ -365,6 +395,8 @@
      remove ${@:2};;
   "check")
      check;;
   "remake")
      remake-repo;;
   "test-mail")
      send_email
      exit $?;;
@@ -377,6 +409,7 @@
      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