Yesterday, I worked with Nate True to help him release a 1.1.3 jailbreak for iPhones (FAQ, here). My part of it was the “1.1.3 soft upgrade” package, version 1.0 (he wrote it - I just made it available).
It was discovered that there was a problem with that, if you weren’t starting from a freshly wiped iPhone. Basically, if you had my OpenSSH package installed and performed the upgrade, your iPhone was left thinking OpenSSH (and a lot of other stuff) was still installed. However, because it wasn’t really there, combined with how I wrote the uninstall script for it, you were unable to “uninstall” it and make Installer.app think it was gone, so that you could actually install it again.
While I was asleep, Nullriver was kind enough to create and release a package called “1.1.3 OpenSSH Fix”, version 1.0. After you install it, you will be able to “uninstall” the non-existant OpenSSH package, which will then allow you to reinstall it properly.
I have just released a new version - 2.0 - of the “1.1.3 soft upgrade” package, that addresses this problem. During install, it saves a copy of Installer.app’s LocalPackages.plist file as “/var/root/LocalPackages.plist.old” and then when Nate’s script runs, it deletes the original, making Installer.app forget that anything had been installed. Then, after the upgrade, you are free to install whatever you want, unhindered by Installer.app.
Why did I save a copy of the LocalPackages.plist file, rather than just delete it? Glad you asked. Some people may have moved their Applications directory to the Media partition. After they upgrade, all their old apps (at least the ones that reside entirely in the Applications directory) are still there, but Installer will not know about them. For those folks, they can use the old plist file to edit the new one and add back the apps they want to (if you do this, make sure you keep the 1.1.3 versions of Apple’s apps, and not the old ones). Or, they can delete the copy of the plist file, and delete their old Applications directory and start fresh.
Another problem is that because the “1.1.3 soft upgrade” package ends with a reboot, it cannot clean up after itself, leaving you a “/var/root/Media/softupgrade” directory lying around that takes up around 300MB. If you want, you can ssh in and remove that entire directory after you successfully have upgraded and reinstalled OpenSSH. Look for a “cleaning” package from me soon, that you can just install and uninstall, to clean it up for you if you don’t have OpenSSH installed.
-ste