Revision
1010
Author
mww@apple.com
Date
2012-02-08 13:40:40 -0800 (Wed, 08 Feb 2012)

Log Message

darwinup: Touch /System/Library/Extensions when uninstalling kernel extensions.

Modified Paths

Property Changed

Diff

Property changes: trunk


Modified: svn:mergeinfo

/branches/PR-10307836:993-996 /branches/PR-10363375:959-960 /branches/PR-10397485:967 /branches/PR-10412052:973-975 /branches/PR-10412066:974-975 /branches/PR-10428083:994-997 /branches/PR-10431324:979-980 /branches/PR-4841388:399-419 /branches/PR-6358021:442-443 /branches/PR-6392966:423-427 /branches/PR-6398060:433-434 /branches/PR-6493844:460-461 /branches/PR-6497694:466-468,471 /branches/PR-6634286:632-650 /branches/PR-6688645:479-490 /branches/PR-6722857:495-499 /branches/PR-6729491:655-664 /branches/PR-6973110:804-813 /branches/PR-7250612:635-650 /branches/PR-7341154:682-694 /branches/PR-7431723:660-664 /branches/PR-7461534:650-664 /branches/PR-7482850:670-671 /branches/PR-7489777:676-731 /branches/PR-7529688:692-694 /branches/PR-7593824:739-772 /branches/PR-7598640:703-731 /branches/PR-7748469:777-785 /branches/PR-7765119:790-791 /branches/PR-7798586:796-799 /branches/PR-7872907:830-840 /branches/PR-7935095:819-821 /branches/PR-8116613:849 /branches/PR-8279204:854-862 /branches/PR-8416637:870-880 /branches/PR-8486662:885-889 /branches/PR-8488185:894-898 /branches/PR-8604911:903-905 /branches/PR-8817822:917-933 /branches/PR-8908468:912 /branches/PR-9697169:1004-1008 + /branches/PR-10008999:984 /branches/PR-10307836:993-996 /branches/PR-10363375:959-960 /branches/PR-10397485:967 /branches/PR-10412052:973-975 /branches/PR-10412066:974-975 /branches/PR-10428083:994-997 /branches/PR-10431324:979-980 /branches/PR-4841388:399-419 /branches/PR-6358021:442-443 /branches/PR-6392966:423-427 /branches/PR-6398060:433-434 /branches/PR-6493844:460-461 /branches/PR-6497694:466-468,471 /branches/PR-6634286:632-650 /branches/PR-6688645:479-490 /branches/PR-6722857:495-499 /branches/PR-6729491:655-664 /branches/PR-6973110:804-813 /branches/PR-7250612:635-650 /branches/PR-7341154:682-694 /branches/PR-7431723:660-664 /branches/PR-7461534:650-664 /branches/PR-7482850:670-671 /branches/PR-7489777:676-731 /branches/PR-7529688:692-694 /branches/PR-7593824:739-772 /branches/PR-7598640:703-731 /branches/PR-7748469:777-785 /branches/PR-7765119:790-791 /branches/PR-7798586:796-799 /branches/PR-7872907:830-840 /branches/PR-7935095:819-821 /branches/PR-8116613:849 /branches/PR-8279204:854-862 /branches/PR-8416637:870-880 /branches/PR-8486662:885-889 /branches/PR-8488185:894-898 /branches/PR-8604911:903-905 /branches/PR-8817822:917-933 /branches/PR-8908468:912 /branches/PR-9697169:1004-1008 /branches/PR-9709247:1002-1009

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