On Mar 25, 2005, at 5:57 PM, Robert Kern wrote:
Bob Ippolito wrote:On Mar 25, 2005, at 1:45 PM, Robert Kern wrote:So I issue a challenge to the PythonMac masses: Write me an uninstaller. Standalone GUI is a plus, although I can live with a CLI script. For now, it only needs to be run by the intrepid testers. One ought to be able to uninstall indivdual packages.Is this <http://www.osxgnu.org/software/Utils/OSXGNU/> usable?
No, it assumes things about the naming conventions of the BOM file.
It looked kinda crappy anyway, I was just wondering if you had tried it.
I'm not volunteering to do this, as I don't need it and I have plenty of other things to work on.. but here is a brain dump of the procedure for uninstalling a package generated by bdist_mpkg (or most anything else):
(1) Somehow know the name of all the .pkgs inside, the .mpkg does not create a receipt of its own
(2) Pick up the value of the "IFPkgReceiptLocation" key in the ./Contents/Info.plist of the .pkg
(3) Grab the output of "/usr/bin/lsbom -p f ./Contents/Archive.bom" (obviously using the full path to the bom)
(4) shutil.rmtree(os.path.join(IFPkgReceiptLocation, line.rstrip()), ignore_errors=True) for every line in the output gathered from (3)
This, of course, basically needs to happen with euid 0. So, you could: (a) make it only usable from the shell via sudo (b) write an AppleScript stub that does the root stuff (c) use Authorization wrappers .. amongst other possibilities
-bob
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig