On Thu, Feb 12, 2004 at 06:05:54PM -0500, David R. Morrison wrote:2) in a post-remove script, (gently) force a reboot.
How? If we use 'reboot' from the command-line, it will force-quit every application, losing any unsaved changes. If we do a Mac-style reboot (this should work :osascript -e 'tell app "System Events" to restart'), then it's trivially user-cancellable, leaving the user with a loaded but deleted kext. I don't know if that situation can cause harm.
I still think it's much safer to ask the user to reboot, but instead of the startup script loading the kext after reboot, it deletes the kext instead. I don't like leaving things around post-remove, but I'm not sure there's any other way to be safe. I'd like to hear any contrary opinions.
The only implicit paths when doing kext loading are those for resolving the kext's dependencies, and then only /S/L/E is used. Regardless of where fink put it's kexts, the loading process would need to specify the explicit path to the kext, as well as the fink location for kexts to resolve dependencies.
Apple's website seems to imply differently: http://developer.apple.com/documentation/Darwin/Conceptual/ KernelProgramming/Extend/chapter_17_section_6.html
KEXTs can also be installed in several other locations... • inside an application bundle
[This] allows an application to register KEXTs without the need to install them permanently elsewhere within the system hierarchy... Note that, although the application is responsible for registering the KEXT...[i]t is still up to a kernel component, such as the I/O Kit, to determine a need...and tell the KEXT Manager to load the appropriate KEXTs.
However I can't find any information about how to register a kext. Is this just wishful thinking on Apple's part?
Dave
PGP.sig
Description: This is a digitally signed message part
