Bug #219837 - Adjust date calculations to improve accuracy.
authorZac Medico <zmedico@gentoo.org>
Wed, 30 Apr 2008 18:25:10 +0000 (18:25 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 30 Apr 2008 18:25:10 +0000 (18:25 -0000)
svn path=/main/trunk/; revision=10047

bin/emerge-webrsync

index 84b1075f9b59a870b2d95a50c1aae841a61936da..fbb2cd50932ce1f16c7725a69e8c5de9dcbff1c5 100755 (executable)
@@ -308,11 +308,15 @@ do_snapshot() {
 }
 
 do_latest_snapshot() {
-       local attempts=-1
+       local attempts=0
        local r=1
 
        vecho "Fetching most recent snapshot ..."
 
+       # The snapshot for a given day is generated at 01:45 UTC on the following
+       # day, so the current day's snapshot (going by UTC time) hasn't been
+       # generated yet.  Therefore, always start by looking for the previous day's
+       # snapshot (for attempts=1, subtract 1 day from the current UTC time).
        while (( ${attempts} <  40 )) ; do
                local day
                local month
@@ -326,9 +330,9 @@ do_latest_snapshot() {
                day=$(get_date_part ${utc_attempt} "%d")
                month=$(get_date_part ${utc_attempt} "%m")
                year=$(get_date_part ${utc_attempt} "%Y")
-               utc_midnight=$(get_date_part $(expr ${utc_attempt} - ${utc_attempt} % 86400) "%s")
+               utc_midnight=$(expr ${utc_attempt} - ${utc_attempt} % 86400)
 
-               if [ ${utc_midnight} -lt $(($(get_portage_timestamp)-86400)) ]; then
+               if [ ${utc_midnight} -lt $(get_portage_timestamp) ]; then
                        wecho "portage content is newer than available snapshots (use --revert option to overide)"
                        r=0
                        break