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>
if [ -z $IPFIRE_USER ]; then
echo -n "You have to setup IPFIRE_USER first. See .config for details."
print_status FAIL
exit 1
fi
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