Revision
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

Diff

Modified: branches/PR-9709247/darwinup/Depot.cpp (1001 => 1002)


--- 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 (1001 => 1002)


--- 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);