Revision: 1002 http://trac.macosforge.org/projects/darwinbuild/changeset/1002 Author: mww@apple.com Date: 2012-01-26 19:04:52 -0800 (Thu, 26 Jan 2012) Log Message: ----------- Touch /S/L/Extensions when uninstalling a kext. Modified Paths: -------------- branches/PR-9709247/darwinup/Depot.cpp branches/PR-9709247/darwinup/main.cpp Modified: branches/PR-9709247/darwinup/Depot.cpp =================================================================== --- branches/PR-9709247/darwinup/Depot.cpp 2012-01-27 03:04:42 UTC (rev 1001) +++ branches/PR-9709247/darwinup/Depot.cpp 2012-01-27 03:04:52 UTC (rev 1002) @@ -989,6 +989,11 @@ } else { IF_DEBUG("[uninstall] no changes; leaving in place\n"); } + if (!context->depot->m_modified_extensions && + (strncmp(file->path(), "/System/Library/Extensions", 26) == 0)) { + IF_DEBUG("[uninstall] kernel extension detected\n"); + context->depot->m_modified_extensions = true; + } } uint32_t info = preceding->info(); if (INFO_TEST(info, FILE_INFO_NO_ENTRY | FILE_INFO_ROLLBACK_DATA) && Modified: branches/PR-9709247/darwinup/main.cpp =================================================================== --- branches/PR-9709247/darwinup/main.cpp 2012-01-27 03:04:42 UTC (rev 1001) +++ branches/PR-9709247/darwinup/main.cpp 2012-01-27 03:04:52 UTC (rev 1002) @@ -273,6 +273,7 @@ if (!disable_automation && depot->has_modified_extensions() && res == 0) { char *sle_path; res = join_path(&sle_path, depot->prefix(), "/System/Library/Extensions"); + IF_DEBUG("Touching /System/Library/Extensions\n"); if (res == 0) res = utimes(sle_path, NULL); if (res) { fprintf(stderr, "Warning: unable to touch %s \n", sle_path);