old mode 100644
new mode 100755
| | |
| | | #!/bin/bash |
| | | |
| | | #Number of old packages to store, should be at least 1 |
| | | NUM_BACK=5 |
| | | #remote details |
| | | RUSER=joelgrun |
| | | RLOC=35.225.177.191 |
| | | RPATH=/var/www/joelg.cf/html/x86_64/ |
| | | |
| | | function newest_matching_file |
| | | { |
| | | # Use ${1-} instead of $1 in case 'nounset' is set |
| | |
| | | return 0 |
| | | } |
| | | |
| | | sudo pacman -Syu |
| | | cd $(dirname "$(realpath $0)") |
| | | git rm -r x86_64/*.pkg.tar.xz |
| | | function oldest_matching_file |
| | | { |
| | | # Use ${1-} instead of $1 in case 'nounset' is set |
| | | local -r glob_pattern=${1-} |
| | | |
| | | if (( $# != 1 )) ; then |
| | | echo 'usage: oldest_matching_file GLOB_PATTERN' >&2 |
| | | return 1 |
| | | fi |
| | | |
| | | # To avoid printing garbage if no files match the pattern, set |
| | | # 'nullglob' if necessary |
| | | local -i need_to_unset_nullglob=0 |
| | | if [[ ":$BASHOPTS:" != *:nullglob:* ]] ; then |
| | | shopt -s nullglob |
| | | need_to_unset_nullglob=1 |
| | | fi |
| | | |
| | | oldest_file= |
| | | for file in $glob_pattern ; do |
| | | [[ -z $oldest_file || $file -ot $oldest_file ]] \ |
| | | && oldest_file=$file |
| | | done |
| | | |
| | | # To avoid unexpected behaviour elsewhere, unset nullglob if it was |
| | | # set by this function |
| | | (( need_to_unset_nullglob )) && shopt -u nullglob |
| | | |
| | | # Use printf instead of echo in case the file name begins with '-' |
| | | [[ -n $oldest_file ]] && printf '%s\n' "$oldest_file" |
| | | |
| | | return 0 |
| | | } |
| | | |
| | | #update system |
| | | sudo pacman -Syu --noconfirm |
| | | |
| | | #go to build directory |
| | | cd $(dirname "$(realpath $0)") |
| | | |
| | | #Remove old packages |
| | | #git rm -r x86_64/* |
| | | #rm -r x86_64 |
| | | #mkdir x86_64 |
| | | |
| | | #dependencies |
| | | cd dependencies |
| | | for d in `find . -maxdepth 1 -not -path '*/\.*' -type d` |
| | | do |
| | | #Only do package directories |
| | | if [ "$d" = "./x86_64" ] || [ "$d" = "." ]; then |
| | | continue |
| | | fi |
| | | cd $d |
| | | #update package to latest from AUR |
| | | git pull |
| | | makepkg -si --noconfirm |
| | | if [ $? = 0 ]; then |
| | | latest=$(newest_matching_file '*.pkg.tar.xz') |
| | | while [ $NUM_BACK \< $(find . -name "*.pkg.tar.xz" | wc -l) ] |
| | | do |
| | | oldest=$(oldest_matching_file '*.pkg.tar.xz') |
| | | rm $oldest |
| | | done |
| | | cd .. |
| | | rm ../x86_64/"$d"*".pkg.tar.xz" |
| | | ln $d/$latest ../x86_64/$latest |
| | | else |
| | | cd .. |
| | | fi |
| | | # repo-add ../Chizi123.db.tar.xz ../x86_64/$latest |
| | | done |
| | | cd .. |
| | | |
| | | #main packages |
| | | for d in `find . -maxdepth 1 -not -path '*/\.*' -type d` |
| | | do |
| | | #Only do package directories |
| | | if [ "$d" = "./x86_64" ] || [ "$d" = "." ] || [ "$d" = "./dependencies" ]; then |
| | | continue |
| | | fi |
| | | cd $d |
| | | #update package to latest from AUR |
| | | git pull |
| | | makepkg -s --noconfirm |
| | | latest=$(newest_matching_file '*.pkg.tar.xz') |
| | | cd .. |
| | | rsync $d/$latest x86_64/$latest |
| | | repo-add ./Chizi123.db.tar.xz x86_64/$latest |
| | | if [ $? = 0 ]; then |
| | | latest=$(newest_matching_file '*.pkg.tar.xz') |
| | | while [ $NUM_BACK \< $(find . -name "*.pkg.tar.xz" | wc -l) ] |
| | | do |
| | | oldest=$(oldest_matching_file '*.pkg.tar.xz') |
| | | rm $oldest |
| | | done |
| | | cd .. |
| | | rm x86_64/"$d"*".pkg.tar.xz" |
| | | ln $d/$latest x86_64/$latest |
| | | else |
| | | cd .. |
| | | fi |
| | | # repo-add ./Chizi123.db.tar.xz x86_64/$latest |
| | | done |
| | | |
| | | cp Chizi123.db.tar.xz x86_64/Chizi123.db |
| | | cp Chizi123.files.tar.xz x86_64/Chizi123.files |
| | | repo-add Chizi123.db.tar.xz x86_64/* |
| | | ln Chizi123.db.tar.xz x86_64/Chizi123.db |
| | | ln Chizi123.files.tar.xz x86_64/Chizi123.files |
| | | git add x86_64 |
| | | git commit -m "'$(date +%d/%m/%y-%H:%M)'" |
| | | git push |
| | | rsync -ah --delete x86_64 $RUSER@$RLOC:$RPATH |