summaryrefslogtreecommitdiffstats
path: root/bin/emerge-webrsync
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-04-26 14:59:44 -0700
committerZac Medico <zmedico@gentoo.org>2010-04-26 14:59:44 -0700
commitfa651f44178fa2d7a6e10f6ce2be7b36217022ca (patch)
treef4625d87d2fc9fe4da4c52a8a8e5aa1a7e7ba7ea /bin/emerge-webrsync
parent4628db03bdb74f37c0804e5cad72a8fd590c0d24 (diff)
downloadportage-fa651f44178fa2d7a6e10f6ce2be7b36217022ca.tar.gz
portage-fa651f44178fa2d7a6e10f6ce2be7b36217022ca.tar.bz2
portage-fa651f44178fa2d7a6e10f6ce2be7b36217022ca.zip
Add a SYNC sanity check to help prevent people like funtoo users
from accidentally wiping out their git tree. It will bail out if SYNC does not refer to an rsync URI.
Diffstat (limited to 'bin/emerge-webrsync')
-rwxr-xr-xbin/emerge-webrsync16
1 files changed, 15 insertions, 1 deletions
diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync
index 9b2fcbb95..6964168b6 100755
--- a/bin/emerge-webrsync
+++ b/bin/emerge-webrsync
@@ -34,7 +34,7 @@ fi
eval $(portageq envvar -v FEATURES FETCHCOMMAND GENTOO_MIRRORS \
PORTAGE_BIN_PATH PORTAGE_GPG_DIR \
PORTAGE_NICENESS PORTAGE_RSYNC_EXTRA_OPTS PORTAGE_TMPDIR PORTDIR \
- http_proxy ftp_proxy)
+ SYNC http_proxy ftp_proxy)
DISTDIR="${PORTAGE_TMPDIR}/emerge-webrsync"
export http_proxy ftp_proxy
@@ -434,6 +434,20 @@ main() {
*) usage "Invalid option '${arg}'" ;;
esac
done
+
+ # This is a sanity check to help prevent people like funtoo users
+ # from accidentally wiping out their git tree.
+ if [[ -n $SYNC && ${SYNC#rsync:} = $SYNC ]] ; then
+ echo "The current SYNC variable setting does not refer to an rsync URI:" >&2
+ echo >&2
+ echo " SYNC=$SYNC" >&2
+ echo >&2
+ echo "If you intend to use emerge-webrsync then please" >&2
+ echo "adjust SYNC to refer to an rsync URI." >&2
+ echo "emerge-webrsync exiting due to abnormal SYNC setting." >&2
+ exit 1
+ fi
+
[[ ${do_debug} -eq 1 ]] && set -x
if [[ -n ${revert_date} ]] ; then