diff options
author | Brian Harring <ferringb@gentoo.org> | 2006-02-02 12:58:20 +0000 |
---|---|---|
committer | Brian Harring <ferringb@gentoo.org> | 2006-02-02 12:58:20 +0000 |
commit | f20801229de80aba3686ed4b1683da5ae9bf8bf3 (patch) | |
tree | 11c7c2826d6714d23a13183b62aab2493299df0d | |
parent | eff2a2d5cfc93b89a7ee5cc85a7258ca5562be8d (diff) | |
download | portage-f20801229de80aba3686ed4b1683da5ae9bf8bf3.tar.gz portage-f20801229de80aba3686ed4b1683da5ae9bf8bf3.tar.bz2 portage-f20801229de80aba3686ed4b1683da5ae9bf8bf3.zip |
optional tarsync integration; thanks to Johannes Fahrenkrug for doing the legwork.
svn path=/main/trunk/; revision=2624
-rwxr-xr-x | bin/emerge-webrsync | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync index f68d0265b..2173ecd95 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 } |