summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2006-03-19 17:36:50 +0000
committerMarius Mauch <genone@gentoo.org>2006-03-19 17:36:50 +0000
commitdd5b5fe7182be46e7d753a03a67369eb5ae7ec13 (patch)
tree9543a72dcd0d1e0f50eee02d2e72fcc6aa74ac0e
parent864b12bbd9e2ef833f9222a31594c476fc0c42c9 (diff)
downloadportage-dd5b5fe7182be46e7d753a03a67369eb5ae7ec13.tar.gz
portage-dd5b5fe7182be46e7d753a03a67369eb5ae7ec13.tar.bz2
portage-dd5b5fe7182be46e7d753a03a67369eb5ae7ec13.zip
Add support for generic PORTAGE_RSYNC_{EXTRA_,}OPTS, deprecate existing RSYNC_ variables, rename RSYNC_RETRIES to PORTAGE_RSYNC_RETRIES
svn path=/main/trunk/; revision=2955
-rwxr-xr-xbin/emerge79
-rw-r--r--cnf/make.conf19
-rw-r--r--cnf/make.conf.alpha19
-rw-r--r--cnf/make.conf.amd6419
-rw-r--r--cnf/make.conf.arm19
-rw-r--r--cnf/make.conf.hppa19
-rw-r--r--cnf/make.conf.ia6419
-rw-r--r--cnf/make.conf.mac6
-rw-r--r--cnf/make.conf.mips19
-rw-r--r--cnf/make.conf.ppc19
-rw-r--r--cnf/make.conf.ppc6419
-rw-r--r--cnf/make.conf.s39019
-rw-r--r--cnf/make.conf.sparc19
-rw-r--r--cnf/make.conf.x8619
-rw-r--r--cnf/make.conf.x86-fbsd19
-rw-r--r--cnf/make.globals6
-rw-r--r--man/make.conf.538
17 files changed, 199 insertions, 177 deletions
diff --git a/bin/emerge b/bin/emerge
index a3c256ca6..385d1dfe0 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2508,30 +2508,62 @@ if myaction in ["sync","metadata"] and (not "--help" in myopts):
sys.exit(1)
mytimeout=180
if portage.settings.has_key("RSYNC_TIMEOUT"):
+ print "WARNING: usage of RSYNC_TIMEOUT is deprecated, use PORTAGE_RSYNC_OPTS instead"
try:
mytimeout=int(portage.settings["RSYNC_TIMEOUT"])
+ rsync_flags.append("--timeout=%d" % mytimeout)
except SystemExit, e:
raise # Needed else can't exit
except:
pass
- rsync_flags = [
- "--recursive", # Recurse directories
- "--links", # Consider symlinks
- "--safe-links", # Ignore links outside of tree
- "--perms", # Preserve permissions
- "--times", # Preserive mod times
- "--compress", # Compress the data transmitted
- "--force", # Force deletion on non-empty dirs
- "--whole-file", # Don't do block transfers, only entire files
- "--delete", # Delete files that aren't in the master tree
- "--delete-after", # Delete only after everything else is done
- "--stats", # Show final statistics about what was transfered
- "--timeout="+str(mytimeout), # IO timeout if not done in X seconds
- "--exclude='/distfiles'", # Exclude distfiles from consideration
- "--exclude='/local'", # Exclude local from consideration
- "--exclude='/packages'", # Exclude packages from consideration
- ]
+ if (not portage.settings.has_key("PORTAGE_RSYNC_OPTS")) \
+ or portage.settings["PORTAGE_RSYNC_OPTS"] == "":
+ print "PORTAGE_RSYNC_OPTS empty or unset, using hardcoded defaults"
+ rsync_flags = [
+ "--recursive", # Recurse directories
+ "--links", # Consider symlinks
+ "--safe-links", # Ignore links outside of tree
+ "--perms", # Preserve permissions
+ "--times", # Preserive mod times
+ "--compress", # Compress the data transmitted
+ "--force", # Force deletion on non-empty dirs
+ "--whole-file", # Don't do block transfers, only entire files
+ "--delete", # Delete files that aren't in the master tree
+ "--delete-after", # Delete only after everything else is done
+ "--stats", # Show final statistics about what was transfered
+ "--timeout="+str(mytimeout), # IO timeout if not done in X seconds
+ "--exclude='/distfiles'", # Exclude distfiles from consideration
+ "--exclude='/local'", # Exclude local from consideration
+ "--exclude='/packages'", # Exclude packages from consideration
+ ]
+ rsync_opts = ""
+ else:
+ # handle default opts later
+ print "using PORTAGE_RSYNC_OPTS instead of hardcoded defaults"
+ rsync_flags = []
+ rsync_opts = portage.settings["PORTAGE_RSYNC_OPTS"]
+ if portage.settings.has_key("PORTAGE_RSYNC_EXTRA_OPTS"):
+ rsync_opts = " ".join([rsync_opts, portage.settings["PORTAGE_RSYNC_EXTRA_OPTS"]])
+ # TODO: determine required options
+ for opt in ["--recursive","--times"]:
+ if not rsync_opts.find(opt) >= 0:
+ print yellow("WARNING:")+" adding required option %s not included in PORTAGE_RSYNC_OPTS" % opt
+ rsync_flags.append(opt)
+ for exclude in ["distfiles","local","packages"]:
+ opt = "--exclude='/"+exclude+"'"
+ if not rsync_opts.find(opt) >= 0:
+ print yellow("WARNING:")+" adding required option %s not included in PORTAGE_RSYNC_OPTS (override with --exclude='!')" % opt
+ rsync_flags.append(opt)
+
+ # TODO: determine options required for official servers
+ if syncuri.rstrip("/").endswith(".gentoo.org/gentoo-portage"):
+ if not rsync_opts.find("--timeout") >= 0:
+ rsync_flags.append("--timeout=180")
+ for opt in ["--compress", "--whole-file"]:
+ if not rsync_opts.find(opt) >= 0:
+ print yellow("WARNING:")+" adding required option %s not included in PORTAGE_RSYNC_OPTS" % opt
+ rsync_flags.append(opt)
if "--quiet" in myopts:
rsync_flags.append("--quiet") # Shut up a lot
@@ -2545,15 +2577,20 @@ if myaction in ["sync","metadata"] and (not "--help" in myopts):
rsync_flags.append("--checksum") # Force checksum on all files
if portage.settings.has_key("RSYNC_EXCLUDEFROM"):
+ print yellow("WARNING:")+" usage of RSYNC_EXCLUDEFROM is deprecated, use PORTAGE_RSYNC_EXTRA_OPTS instead"
if os.path.exists(portage.settings["RSYNC_EXCLUDEFROM"]):
rsync_flags.append("--exclude-from="+portage.settings["RSYNC_EXCLUDEFROM"])
else:
print "!!! RSYNC_EXCLUDEFROM specified, but file does not exist."
if portage.settings.has_key("RSYNC_RATELIMIT"):
+ print yellow("WARNING:")+" usage of RSYNC_RATELIMIT is deprecated, use PORTAGE_RSYNC_EXTRA_OPTS instead"
rsync_flags.append("--bwlimit="+portage.settings["RSYNC_RATELIMIT"])
- rsynccommand = "/usr/bin/rsync " + string.join(rsync_flags, " ")
+ rsynccommand = " ".join(["/usr/bin/rsync", " ".join(rsync_flags), rsync_opts])
+
+ if "--debug" in myopts:
+ print rsynccommand
servertimestampdir = portage.settings.depcachedir+"/"
servertimestampfile = portage.settings.depcachedir+"/timestamp.chk"
@@ -2582,7 +2619,11 @@ if myaction in ["sync","metadata"] and (not "--help" in myopts):
#exitcode=0
try:
- maxretries=int(portage.settings["RSYNC_RETRIES"])
+ if portage.settings.has_key("RSYNC_RETRIES"):
+ print yellow("WARNING:")+" usage of RSYNC_RETRIES is deprecated, use PORTAGE_RSYNC_RETRIES instead"
+ maxretries=int(portage.settings["RSYNC_RETRIES"])
+ else:
+ maxretries=int(portage.settings["PORTAGE_RSYNC_RETRIES"])
except SystemExit, e:
raise # Needed else can't exit
except:
diff --git a/cnf/make.conf b/cnf/make.conf
index 863fb957e..4c8b56012 100644
--- a/cnf/make.conf
+++ b/cnf/make.conf
@@ -207,18 +207,17 @@ CHOST="i686-pc-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.alpha b/cnf/make.conf.alpha
index 613c2abb4..6a5609d61 100644
--- a/cnf/make.conf.alpha
+++ b/cnf/make.conf.alpha
@@ -193,18 +193,17 @@ CFLAGS="-mcpu=ev5 -O3 -pipe "
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.amd64 b/cnf/make.conf.amd64
index ef4ef3212..2b83eb566 100644
--- a/cnf/make.conf.amd64
+++ b/cnf/make.conf.amd64
@@ -204,18 +204,17 @@ CHOST="x86_64-pc-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.arm b/cnf/make.conf.arm
index ccb4e47b5..d9a4bdacb 100644
--- a/cnf/make.conf.arm
+++ b/cnf/make.conf.arm
@@ -201,18 +201,17 @@ CHOST="armv4l-unknown-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.hppa b/cnf/make.conf.hppa
index 892fa51c4..ffe0e32db 100644
--- a/cnf/make.conf.hppa
+++ b/cnf/make.conf.hppa
@@ -210,18 +210,17 @@ CHOST="hppa-unknown-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.ia64 b/cnf/make.conf.ia64
index 95df49395..270111443 100644
--- a/cnf/make.conf.ia64
+++ b/cnf/make.conf.ia64
@@ -172,18 +172,17 @@ CHOST="ia64-unknown-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.mac b/cnf/make.conf.mac
deleted file mode 100644
index 292d9a510..000000000
--- a/cnf/make.conf.mac
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id: /var/cvsroot/gentoo-src/portage/cnf/make.conf.mac,v 1.2 2004/09/30 06:34:27 vapier Exp $
-# Contains local system settings for Portage system
-
-#Nothing needed here
diff --git a/cnf/make.conf.mips b/cnf/make.conf.mips
index 8602b00e2..16ac25b9d 100644
--- a/cnf/make.conf.mips
+++ b/cnf/make.conf.mips
@@ -190,18 +190,17 @@ CHOST="mips-unknown-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.ppc b/cnf/make.conf.ppc
index 1b6ebcc77..5bfc411bb 100644
--- a/cnf/make.conf.ppc
+++ b/cnf/make.conf.ppc
@@ -230,18 +230,17 @@ CHOST="powerpc-unknown-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.ppc64 b/cnf/make.conf.ppc64
index 80c4e1fba..f0816ead8 100644
--- a/cnf/make.conf.ppc64
+++ b/cnf/make.conf.ppc64
@@ -214,18 +214,17 @@ CHOST="powerpc64-unknown-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.s390 b/cnf/make.conf.s390
index f1f612711..55f727b4f 100644
--- a/cnf/make.conf.s390
+++ b/cnf/make.conf.s390
@@ -172,18 +172,17 @@ CHOST="s390-ibm-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.sparc b/cnf/make.conf.sparc
index 637bc174e..13605c53c 100644
--- a/cnf/make.conf.sparc
+++ b/cnf/make.conf.sparc
@@ -208,18 +208,17 @@
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.x86 b/cnf/make.conf.x86
index f1272ccd3..c053d7256 100644
--- a/cnf/make.conf.x86
+++ b/cnf/make.conf.x86
@@ -207,18 +207,17 @@ CHOST="i686-pc-linux-gnu"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.conf.x86-fbsd b/cnf/make.conf.x86-fbsd
index 8e4ba3541..53571185a 100644
--- a/cnf/make.conf.x86-fbsd
+++ b/cnf/make.conf.x86-fbsd
@@ -207,18 +207,17 @@ CHOST="i686-unknown-freebsd5.3"
# Australia: "rsync://rsync.au.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#
-# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
+# PORTAGE_RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
-#RSYNC_RETRIES="3"
-#
-# RSYNC_TIMEOUT sets the length of time rsync will wait before it times out
-# on a connection. Most users will benefit from this setting as it will
-# reduce the amount of 'dead air' they experience when they run across
-# the occasional, unreachable mirror. Dialup users might want to set this
-# value up around the 300 second mark.
-#RSYNC_TIMEOUT=180
-
+#PORTAGE_RSYNC_RETRIES="3"
+#
+# PORTAGE_RSYNC_EXTRA_OPTS can be used to feed additional options to the rsync
+# command used by `emerge --sync`. This will not change the default options
+# which are set by PORTAGE_RSYNC_OPTS (don't change those unless you know
+# exactly what you're doing).
+#PORTAGE_RSYNC_EXTRA_OPTS=""
+#
# Advanced Features
# =================
#
diff --git a/cnf/make.globals b/cnf/make.globals
index cdcceb198..36f1d3042 100644
--- a/cnf/make.globals
+++ b/cnf/make.globals
@@ -49,10 +49,12 @@ EMERGE_WARNING_DELAY="10"
AUTOCLEAN="yes"
# Number of times 'emerge --sync' will run before giving up.
-RSYNC_RETRIES="3"
+PORTAGE_RSYNC_RETRIES="3"
# Number of seconds rsync will wait before timing out.
-RSYNC_TIMEOUT="180"
+#RSYNC_TIMEOUT="180"
+
+PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
# Minimal CONFIG_PROTECT
CONFIG_PROTECT="/etc"
diff --git a/man/make.conf.5 b/man/make.conf.5
index 8a56dbea2..86eb0ecf3 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -298,6 +298,24 @@ emerge is running at. In other words, this will not set the nice level,
it will increment it. For more information about nice levels and what
are acceptable ranges, see \fBnice\fR(1).
.TP
+\fBPORTAGE_RSYNC_EXTRA_OPTS\fR = \fI[rsync options string]\fR
+Additional rsync options to be used by \fBemerge --sync\fR.
+.br
+Defaults to no value.
+.TP
+\fBPORTAGE_RSYNC_OPTS\fR = \fI[rsync options string]\fR
+Default rsync options to be used by \fBemerge --sync\fR.
+.br
+\fBDon't change this unless you know exactly what you're doing!\fR
+.br
+Defaults to "--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
+.TP
+\fBPORTAGE_RSYNC_RETRIES\fR = \fI[NUMBER]\fR
+The number of times rsync should retry on failed connections before
+giving up.
+.br
+Defaults to 3.
+.TP
\fBPORTAGE_TMPDIR\fR = \fI[path]\fR
Defines the location of the temporary build directories.
.br
@@ -330,26 +348,6 @@ images.
.br
Defaults to /.
.TP
-\fBRSYNC_EXCLUDEFROM\fR = \fI"/etc/portage/rsync_excludes"\fR
-This is a file that portage will pass to rsync when it updates the portage
-tree. Specific chucks of the tree may be excluded from the sync process.
-This may cause dependency failures if you are not careful. The file format
-is one pattern per line, blanks and ';' or '#' lines are comments. See
-\fBrsync\fR(1) for more details.
-.TP
-\fBRSYNC_RETRIES\fR = \fI[NUMBER]\fR
-The number of times rsync should retry on failed connections before
-giving up.
-.br
-Defaults to 3.
-.TP
-\fBRSYNC_TIMEOUT\fR = \fI[SECONDS]\fR
-The number of seconds rsync should remain idle before it determines the
-connection has timed out. Dialup users may need to set this value at or
-above 300 seconds.
-.br
-Defaults to 180 seconds.
-.TP
\fBRPMDIR\fR = \fI[path]\fR
Defines the location where created RPM packages will be stored.
.br