summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/emerge11
1 files changed, 10 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge
index 89a048a2a..6482bfb25 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -5154,6 +5154,8 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
("-6" in all_rsync_opts or "--ipv6" in all_rsync_opts):
family = socket.AF_INET6
ips=[]
+ SERVER_OUT_OF_DATE = -1
+ EXCEEDED_MAX_RETRIES = -2
while (1):
if ips:
del ips[0]
@@ -5296,7 +5298,7 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
print ">>> In order to force sync, remove '%s'." % servertimestampfile
print ">>>"
print
- exitcode = 1
+ exitcode = SERVER_OUT_OF_DATE
elif (servertimestamp == 0) or (servertimestamp > mytimestamp):
# actual sync
mycommand = rsynccommand + [dosyncuri+"/", myportdir]
@@ -5322,10 +5324,17 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
# over retries
# exit loop
updatecache_flg=False
+ exitcode = EXCEEDED_MAX_RETRIES
break
if (exitcode==0):
emergelog(xterm_titles, "=== Sync completed with %s" % dosyncuri)
+ elif exitcode == SERVER_OUT_OF_DATE:
+ sys.exit(1)
+ elif exitcode == EXCEEDED_MAX_RETRIES:
+ sys.stderr.write(
+ ">>> Exceeded PORTAGE_RSYNC_RETRIES: %s\n" % maxretries)
+ sys.exit(1)
elif (exitcode>0):
print
if exitcode==1: