Modified: trunk/darwinup/Depot.cpp (1009 => 1010)
--- trunk/darwinup/Depot.cpp 2012-02-08 21:39:56 UTC (rev 1009)
+++ trunk/darwinup/Depot.cpp 2012-02-08 21:40:40 UTC (rev 1010)
@@ -994,6 +994,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: trunk/darwinup/main.cpp (1009 => 1010)
--- trunk/darwinup/main.cpp 2012-02-08 21:39:56 UTC (rev 1009)
+++ trunk/darwinup/main.cpp 2012-02-08 21:40:40 UTC (rev 1010)
@@ -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);