summaryrefslogtreecommitdiff
path: root/src/backend/uninstall.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/uninstall.py')
-rw-r--r--src/backend/uninstall.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/backend/uninstall.py b/src/backend/uninstall.py
index 8da7e79..9d76067 100644
--- a/src/backend/uninstall.py
+++ b/src/backend/uninstall.py
@@ -1,9 +1,12 @@
#!/usr/bin/python3
+import atexit
+import io
import subprocess
+import sys
import sisyphus.check
import sisyphus.database
-import sys
+import sisyphus.killportage
def start(pkgname):
if sisyphus.check.root():
@@ -12,3 +15,14 @@ def start(pkgname):
sisyphus.database.syncLocal()
else:
sys.exit("\nYou need root permissions to do this, exiting!\n")
+
+def startqt(pkgname):
+ portageExec = subprocess.Popen(['emerge', '--depclean'] + pkgname, stdout=subprocess.PIPE)
+ # kill portage if the program dies or it's terminated by the user
+ atexit.register(sisyphus.killportage.start, portageExec)
+
+ for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"):
+ print(portageOutput.rstrip())
+
+ portageExec.wait()
+ sisyphus.database.syncLocal()