make.sh: Rewrite uploadsrc with rsync

Instead of having a very dodgy diff of filelists, this rsync call does
everything automatically and only requires authentication once.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Michael Tremer
2021-10-20 17:46:37 +00:00
committed by Arne Fitzenreiter
parent 65710b528a
commit dbd455ef93

22
make.sh
View File

@@ -1904,24 +1904,24 @@ gettoolchain)
fi
;;
uploadsrc)
PWD=`pwd`
if [ -z $IPFIRE_USER ]; then
echo -n "You have to setup IPFIRE_USER first. See .config for details."
print_status FAIL
exit 1
fi
URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }')
REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
URL_SOURCE="$(awk '/^URL_SOURCE/ { print $3 }' lfs/Config)"
rsync \
--recursive \
--update \
--ignore-existing \
--progress \
--human-readable \
--exclude="toolchains/" \
"${BASEDIR}/cache/" \
"${IPFIRE_USER}@${URL_SOURCE}"
for file in ${BASEDIR}/cache/*; do
[ -d "${file}" ] && continue
grep -q "$(basename ${file})" <<<$REMOTE_FILES && continue
NEW_FILES="$NEW_FILES $file"
done
[ -n "$NEW_FILES" ] && scp -2 $NEW_FILES ${IPFIRE_USER}@${URL_SOURCE}
cd $BASEDIR
cd $PWD
exit 0
;;
lang)