diff --git a/src/backend/libsisyphus.py b/src/backend/libsisyphus.py index ac7d7b2..1d05b8c 100755 --- a/src/backend/libsisyphus.py +++ b/src/backend/libsisyphus.py @@ -192,28 +192,28 @@ def rescueDB(): def startInstall(pkgList): syncAll() portageExec = subprocess.Popen(['emerge', '-aq'] + pkgList) - portageExec.communicate() + portageExec.wait() syncLocalDatabase() # call portage to uninstall the package(s) (CLI frontend) def startUninstall(pkgList): portageExec = subprocess.Popen(['emerge', '--depclean', '-aq'] + pkgList) - portageExec.communicate() + portageExec.wait() syncLocalDatabase() # call portage to force-uninstall the package(s) (CLI frontend) def startUninstallForce(pkgList): portageExec = subprocess.Popen(['emerge', '--unmerge', '-aq'] + pkgList) - portageExec.communicate() + portageExec.wait() syncLocalDatabase() # call portage to remove orphan package(s) (CLI frontend) def removeOrphans(): portageExec = subprocess.Popen(['emerge', '--depclean', '-aq']) - portageExec.communicate() + portageExec.wait() syncLocalDatabase() # call portage to perform a system upgrade (CLI frontend) @@ -221,7 +221,7 @@ def removeOrphans(): def startUpgrade(): syncAll() portageExec = subprocess.Popen(['emerge', '-uDaNq', '--backtrack=100', '--with-bdeps=y', '@world']) - portageExec.communicate() + portageExec.wait() syncLocalDatabase() # call portage to search for package(s) (CLI frontend) diff --git a/src/frontend/gui/sisyphus-gui.py b/src/frontend/gui/sisyphus-gui.py index 406ea7a..0f290c8 100755 --- a/src/frontend/gui/sisyphus-gui.py +++ b/src/frontend/gui/sisyphus-gui.py @@ -377,6 +377,7 @@ def startInstall(self): atexit.register(portageKill, portageExec) for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"): self.strReady.emit(portageOutput.rstrip()) + portageExec.wait() syncLocalDatabase() self.finished.emit() @@ -389,6 +390,7 @@ def startUninstall(self): atexit.register(portageKill, portageExec) for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"): self.strReady.emit(portageOutput.rstrip()) + portageExec.wait() syncLocalDatabase() self.finished.emit() @@ -400,6 +402,7 @@ def startUpgrade(self): atexit.register(portageKill, portageExec) for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"): self.strReady.emit(portageOutput.rstrip()) + portageExec.wait() syncLocalDatabase() self.finished.emit() @@ -411,6 +414,7 @@ def cleanOrphans(self): atexit.register(portageKill, portageExec) for portageOutput in io.TextIOWrapper(portageExec.stdout, encoding="utf-8"): self.strReady.emit(portageOutput.rstrip()) + portageExec.wait() syncLocalDatabase() self.finished.emit()