summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Harring <ferringb@gentoo.org>2006-02-02 12:58:20 +0000
committerBrian Harring <ferringb@gentoo.org>2006-02-02 12:58:20 +0000
commitf20801229de80aba3686ed4b1683da5ae9bf8bf3 (patch)
tree11c7c2826d6714d23a13183b62aab2493299df0d /bin/emerge-webrsync
parentadded PORTAGE_NICENESS support. (diff)
downloadportage-multirepo-f20801229de80aba3686ed4b1683da5ae9bf8bf3.tar.gz
portage-multirepo-f20801229de80aba3686ed4b1683da5ae9bf8bf3.tar.bz2
portage-multirepo-f20801229de80aba3686ed4b1683da5ae9bf8bf3.zip
optional tarsync integration; thanks to Johannes Fahrenkrug for doing the legwork.
svn path=/main/trunk/; revision=2624
Diffstat (limited to 'bin/emerge-webrsync')
-rwxr-xr-xbin/emerge-webrsync36
1 files changed, 22 insertions, 14 deletions
diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync
index f68d0265..2173ecd9 100755
--- a/bin/emerge-webrsync
+++ b/bin/emerge-webrsync
@@ -51,21 +51,29 @@ fi
sync_local() {
echo Syncing local tree...
- if ! tar jxf $FILE; then
- echo "Tar failed to extract the image. Please review the output."
- echo "Executed command: tar jxf $FILE"
- exit 1
+ if type -p tarsync &> /dev/null; then
+ if ! tarsync "${FILE}" "${PORTDIR}" -v -s 1 -o root -g root -e /distfiles -e /packages -e /local; then
+ echo "tarsync failed; tarball is corrupt?"
+ exit 1;
+ fi
+ rm "${FILE}"
+ else
+ if ! tar jxf $FILE; then
+ echo "Tar failed to extract the image. Please review the output."
+ echo "Executed command: tar jxf $FILE"
+ exit 1
+ fi
+ rm -f $FILE
+ # Make sure user and group file ownership is root
+ chown -R 0:0 portage
+ cd portage
+ rsync -av --progress --stats --delete --delete-after \
+ --exclude='/distfiles' --exclude='/packages' \
+ --exclude='/local' . ${PORTDIR%%/}
+ cd ..
+ echo "cleaning up"
+ rm -rf portage
fi
- rm -f $FILE
- # Make sure user and group file ownership is root
- chown -R 0:0 portage
- cd portage
- rsync -av --progress --stats --delete --delete-after \
- --exclude='/distfiles' --exclude='/packages' \
- --exclude='/local' . ${PORTDIR%%/}
- cd ..
- echo "cleaning up"
- rm -rf portage
echo "transferring metadata/cache"
emerge metadata
}