diff --git a/HelperResources/CommonResources b/HelperResources/CommonResources index 882fd03..7c2397a 100755 --- a/HelperResources/CommonResources +++ b/HelperResources/CommonResources @@ -1633,9 +1633,10 @@ if ! [ -z "$fileListPatched" ];then fi rm "$previousPatchFile" fi - # this package has not previously modified the active file but other packages may have - # (if no others, there is no .orig file) - # patch active file + # this package has not previously modified the active file + # other packages have modified the active file + # if not, there is no .orig file + # either way, patch the active file else cp "$file" "$tempActiveFile" patchOk=true diff --git a/PackageManager.py b/PackageManager.py index 418d6cb..0795f0d 100755 --- a/PackageManager.py +++ b/PackageManager.py @@ -4219,9 +4219,8 @@ def main(): # this runs in the background and will CONTINUE after PackageManager.py exits below try: - logging.critical ("finishing up in packageManagerEnd.sh") - proc = subprocess.Popen ( command, bufsize=-1, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) - proc.communicate () # output ignored + logging.warning ("finishing up in packageManagerEnd.sh") + proc = subprocess.Popen ( command ) except: logging.critical ("packageManagerEnd.sh failed") @@ -4230,7 +4229,7 @@ def main(): time.sleep (5.0) DbusIf.RemoveDbusService () - logging.critical (">>>> PackageManager exiting") + logging.warning (">>>> PackageManager exiting") # program exits here diff --git a/blindInstall/SetupHelperVersion b/blindInstall/SetupHelperVersion index b3fe0b0..3365887 100644 --- a/blindInstall/SetupHelperVersion +++ b/blindInstall/SetupHelperVersion @@ -1 +1 @@ -v8.0~28 +v8.0~29 diff --git a/changes b/changes index 3885b45..cc525bb 100644 --- a/changes +++ b/changes @@ -18,6 +18,7 @@ v8.0: (beta) replace OS's patch with one that handles more cases (eg, 0 context) and options fixed: PackageManager hangs on Python 2 (Venus OS prior to v2.80) fixed: some patching errors + fixed: PackageManager does not exit for reboot v7.18: fixed: only first service is uninstalled diff --git a/packageManagerEnd.sh b/packageManagerEnd.sh index 88018ef..32860bd 100755 --- a/packageManagerEnd.sh +++ b/packageManagerEnd.sh @@ -64,16 +64,20 @@ while [ $# -gt 0 ]; do done # allow PackageManager exit before doing anything -# insure the PackageManager service doesn't restart when it exits -# it will start up again after the reboot if it is still installed if $shUninstall || $reboot ; then - svc -o "/service/PackageManager" + service="/service/PackageManager" + # insure the PackageManager service doesn't restart when it exits + # it will start up again after the reboot if it is still installed + # only issue svc -o if PM is running or it will be started !!! + if [ $(svstat "$service" | awk '{print $2}') == "up" ]; then + svc -o "$service" + fi while true; do - if [ -z $( pgrep -f PackageManager.py ) ]; then + if [ -z "$( pgrep -f PackageManager.py )" ]; then break else logMessage "waiting for PackageManager.py to exit" - sleep 1 + sleep 5 fi done fi @@ -95,9 +99,9 @@ if $shUninstall ; then fi if $reboot ; then - logMessage ">>>> rebooting to complete package un/install" + logMessage ">>>> REBOOTING ..." # TODO: add -k for debugging - outputs message but doesn't reboot - shutdown -r now "rebooting to complete package un/install" + shutdown -r now "PackageManager is REBOOTING SYSTEM ..." elif $guiRestart ; then if $shUninstall ; then logMessage ">>>> restarting GUI" diff --git a/venus-data-UninstallPackages.tgz b/venus-data-UninstallPackages.tgz index 8da47f3..12bce71 100644 Binary files a/venus-data-UninstallPackages.tgz and b/venus-data-UninstallPackages.tgz differ diff --git a/venus-data.tgz b/venus-data.tgz index 7a133c1..24c044b 100644 Binary files a/venus-data.tgz and b/venus-data.tgz differ diff --git a/version b/version index b3fe0b0..3365887 100644 --- a/version +++ b/version @@ -1 +1 @@ -v8.0~28 +v8.0~29