summaryrefslogtreecommitdiff
path: root/app-portage/sisyphus/files/sisyphus-fixes.patch
blob: 276f97ce1622b99508c09d9730dd8e3d7a0736fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
diff --git a/src/backend/libsisyphus.py b/src/backend/libsisyphus.py
index 36a2dce..a71db21 100755
--- a/src/backend/libsisyphus.py
+++ b/src/backend/libsisyphus.py
@@ -9,7 +9,8 @@
 import sys
 import urllib3
 import io
-from datetime import datetime
+
+from dateutil import parser
 
 redcore_portage_config_path = '/opt/redcore-build'
 
@@ -98,12 +99,12 @@ def syncAll():
     http = urllib3.PoolManager()
 
     reqRmtPkgTs = http.request('HEAD',rmtCsvUrl)
-    rmtPkgTs = int(datetime.strptime(reqRmtPkgTs.headers['last-modified'], '%a, %d %b %Y %H:%M:%S %Z').strftime("%s"))
-    lclPkgTs = int(datetime.utcnow().strftime("%s"))
+    rmtPkgTs = int(parser.parse(reqRmtPkgTs.headers['last-modified']).strftime("%s"))
+    lclPkgTs = int(os.path.getctime(rmtPkgCsv))
 
     reqRmtDscTs = http.request('HEAD',rmtDscUrl)
-    rmtDscTs = int(datetime.strptime(reqRmtDscTs.headers['last-modified'], '%a, %d %b %Y %H:%M:%S %Z').strftime("%s"))
-    lclDscTs = int(datetime.utcnow().strftime("%s"))
+    rmtDscTs = int(parser.parse(reqRmtDscTs.headers['last-modified']).strftime("%s"))
+    lclDscTs = int(os.path.getctime(rmtDscCsv))
 
     if rmtPkgTs > lclPkgTs or rmtDscTs > lclDscTs:
         fetchRemoteDatabaseCSV()
@@ -167,6 +168,11 @@ def startSearch(pkgList):
 def startUpdate():
     syncAll()
 
+@animation.wait('syncing portage tree && portage config files')
+def startSync():
+    syncGitRepos()
+    syncPortageCfg()
+
 def sysInfo():
     subprocess.check_call(['emerge', '--info'])
 
diff --git a/src/frontend/cli/sisyphus-cli.py b/src/frontend/cli/sisyphus-cli.py
index 965e3f1..9d347ab 100755
--- a/src/frontend/cli/sisyphus-cli.py
+++ b/src/frontend/cli/sisyphus-cli.py
@@ -18,7 +18,7 @@
         elif "remove-orphans" in sys.argv[1:]:
             removeOrphans()
         elif "update" in sys.argv[1:]:
-            startUpdate()
+            startSync()
         elif "upgrade" in sys.argv[1:]:
             startUpgrade()
         elif "search" in sys.argv[1:]: