summaryrefslogtreecommitdiff
path: root/app-portage/sisyphus/files/sisyphus-1.1710-r4.patch
blob: de2d609673f6870b96e81c54122327f481e7c165 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
diff --git a/Makefile b/Makefile
index 4d9785d..af54dfd 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,6 @@ UBINDIR ?= /usr/bin
 DESKTOPDIR ?= /usr/share/applications
 PIXMAPDIR ?= /usr/share/pixmaps
 SISYPHUSDATADIR ?= /usr/share/sisyphus
-SISYPHUSPYLIBDIR ?= /usr/lib64/python3.4
 POLKITDIR ?= /usr/share/polkit-1/actions
 
 all:
@@ -19,8 +18,6 @@ install:
 	install -d $(DESTDIR)$(UBINDIR)
 	install -m 0755 sisyphus-gui $(DESTDIR)$(UBINDIR)/
 	install -m 0755 sisyphus-gui-pkexec $(DESTDIR)$(UBINDIR)/
-	install -d $(DESTDIR)$(SISYPHUSPYLIBDIR)
-	install -m 0644 src/backend/libsisyphus.py $(DESTDIR)$(SISYPHUSPYLIBDIR)/
 	install -d $(DESTDIR)$(SISYPHUSDATADIR)
 	install -d $(DESTDIR)$(SISYPHUSDATADIR)/helpers
 	install -d $(DESTDIR)$(SISYPHUSDATADIR)/icon
@@ -44,4 +41,3 @@ uninstall:
 	rm -rf $(DESTDIR)$(PIXMAPDIR)/sisyphus-gui.png
 	rm -rf $(DESTDIR)$(POLKITDIR)/org.redcorelinux.sisyphus-gui.policy
 	rm -rf $(DESTDIR)$(SISYPHUSDATADIR)
-	rm -rf $(DESTDIR)$(SISYPHUSPYLIBDIR)/libsisyphus.py
diff --git a/src/backend/libsisyphus.py b/src/backend/libsisyphus.py
index 5f62119..a18e1cc 100755
--- a/src/backend/libsisyphus.py
+++ b/src/backend/libsisyphus.py
@@ -112,10 +112,24 @@ def sync_sisyphus_database_removable_packages_table():
 @animation.wait('syncing remote databases')
 def redcore_sync():
     check_if_root()
-    sync_redcore_portage_tree_and_desktop_overlay()
-    sync_redcore_portage_config()
-    sync_sisyphus_database_remote_packages_table()
-    sync_sisyphus_database_removable_packages_table()
+
+    fetch_sisyphus_remote_packages_table_csv()
+    if filecmp.cmp(sisyphus_remote_csv_path_pre, sisyphus_remote_csv_path_post):
+        os.remove(sisyphus_remote_csv_path_post)
+    else:
+        sync_redcore_portage_tree_and_desktop_overlay()
+        sync_redcore_portage_config()
+        sync_sisyphus_database_remote_packages_table()
+        sync_sisyphus_database_removable_packages_table()
+
+    fetch_sisyphus_removable_packages_table_csv()
+    if filecmp.cmp(sisyphus_removable_csv_path_pre, sisyphus_removable_csv_path_post):
+        os.remove(sisyphus_removable_csv_path_post)
+    else:
+        sync_redcore_portage_tree_and_desktop_overlay()
+        sync_redcore_portage_config()
+        sync_sisyphus_database_remote_packages_table()
+        sync_sisyphus_database_removable_packages_table()
 
 def generate_sisyphus_local_packages_table_csv_pre():
     subprocess.check_call(['/usr/share/sisyphus/helpers/make_local_csv_pre']) # this is really hard to do in python, so we cheat with a bash helper script
@@ -229,7 +243,7 @@ def sisyphus_pkg_auto_remove_orphans():
 def sisyphus_pkg_system_upgrade():
     redcore_sync()
     generate_sisyphus_local_packages_table_csv_pre()
-    portage_call = subprocess.Popen(['emerge', '-uDaNq', '--with-bdeps=y', '@world'])
+    portage_call = subprocess.Popen(['emerge', '-uDaNq', '--backtrack=100', '--with-bdeps=y', '@world'])
     atexit.register(kill_bg_portage, portage_call)
     portage_call.communicate()
     generate_sisyphus_local_packages_table_csv_post()
@@ -238,7 +252,7 @@ def sisyphus_pkg_system_upgrade():
 def sisyphus_pkg_auto_system_upgrade():
     redcore_sync()
     generate_sisyphus_local_packages_table_csv_pre()
-    portage_call = subprocess.Popen(['emerge', '-uDNq', '--with-bdeps=y', '@world'])
+    portage_call = subprocess.Popen(['emerge', '-uDNq', '--backtrack=100', '--with-bdeps=y', '@world'])
     atexit.register(kill_bg_portage, portage_call)
     portage_call.communicate()
     generate_sisyphus_local_packages_table_csv_post()
diff --git a/src/frontend/gui/sisyphus-gui.py b/src/frontend/gui/sisyphus-gui.py
index d64f431..027c90c 100755
--- a/src/frontend/gui/sisyphus-gui.py
+++ b/src/frontend/gui/sisyphus-gui.py
@@ -172,7 +172,7 @@ def loadDatabase(self):
                 AND i.name = a.name
                 AND i.slot = a.slot
                 WHERE %s LIKE %s %s
-                AND a.timestamp <> i.timestamp
+                AND a.timestamp > i.timestamp
             ''' % (Sisyphus.SEARCHFIELD, Sisyphus.SEARCHTERM, FILTEROUT)),
             ])
         with sqlite3.connect(sisyphus_database_path) as db: