Use checksum to determine if we should create and copy a tarball

This commit is contained in:
Jacob 2023-09-16 16:53:39 +02:00
parent 938c3058b1
commit 7393a99ccd

15
aurmake
View file

@ -3,9 +3,22 @@
source .OPT || exit 1
get_checksum() {
summary() {
printf "%s\n" "$(stat -c '%y' "$1") $(md5sum "$1")"
}
export -f summary
find packages/ -name "*.tar*" -type f -exec bash -c 'summary "$0"' {} \; | LC_ALL=C sort | md5sum
}
[ -d "packages/" ] && sum1="$(get_checksum)"
if [ -x "$(command -v repo-add)" ]; then
[ ! -d "packages/" ] && printf "No packages, exiting..\n" >> /dev/stderr && exit 1
printf "Creating packages\n"
cd packages/ || exit 1
rm -f ./*"${SERVER_NAME}"*
repo-add -s -R "${SERVER_NAME}.db.tar.gz" *.pkg.tar.zst > /tmp/repo-add.log
@ -18,7 +31,7 @@ else
printf "Warning: repo-add not found, will only copy viewer.\n" >> /dev/stderr
fi
if [ -d "packages/" ]; then
if [ -d "packages/" ] && [ "$sum1" != "$(get_checksum)" ]; then
tar -cf packages.tar packages
gzip -c packages.tar > packages/packages.tar.gz
rm -f packages.tar