Skip to content
Permalink
Browse files
REGRESSION (r242686): package-root creates roots with broken symlinks…
… in WebKit.framework/XPCServices/

https://bugs.webkit.org/show_bug.cgi?id=196317

Reviewed by Dan Bernstein.

Source/WebKit:

Removed some remnants of the Storage Process.

* Configurations/BaseTarget.xcconfig:
* Resources/SandboxProfiles/ios/com.apple.WebKit.Storage.sb: Removed.
* WebKit.xcodeproj/project.pbxproj:

Tools:

package-root copies built products into a staging directory using ditto(1), which does not
follow symbolic links as it traverses a directory. Now that the files in
WebKit.framework/XPCServices/ are symbolic links to a location outside of the framework
itself, these become broken links when ditto'd into the staging directory.

To account for this, change package-root to copy using cp(1) in a mode that follows symlinks.

* Scripts/package-root:


Canonical link: https://commits.webkit.org/210615@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
aestes committed Mar 27, 2019
1 parent 174e13e commit 3bb7499f5ee30bacb4c8d8d2e40c4d044fa76d93
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 64 deletions.
@@ -1,3 +1,16 @@
2019-03-27 Andy Estes <aestes@apple.com>

REGRESSION (r242686): package-root creates roots with broken symlinks in WebKit.framework/XPCServices/
https://bugs.webkit.org/show_bug.cgi?id=196317

Reviewed by Dan Bernstein.

Removed some remnants of the Storage Process.

* Configurations/BaseTarget.xcconfig:
* Resources/SandboxProfiles/ios/com.apple.WebKit.Storage.sb: Removed.
* WebKit.xcodeproj/project.pbxproj:

2019-03-27 Keith Rollin <krollin@apple.com>

Include the CFNetworking task UUID to the NSError when a resource-load fails
@@ -111,13 +111,3 @@ WK_HAVE_CORE_PREDICTION[sdk=macosx*][arch=i386] = NO;

WK_CORE_PREDICTION_DEFINES = $(WK_CORE_PREDICTION_DEFINES_$(WK_HAVE_CORE_PREDICTION));
WK_CORE_PREDICTION_DEFINES_YES = HAVE_CORE_PREDICTION;

WK_STORAGE_SERVICE_PRODUCT_NAME = $(WK_STORAGE_SERVICE_PRODUCT_NAME_$(WK_USE_LEGACY_STORAGE_SERVICE_NAME));
WK_STORAGE_SERVICE_PRODUCT_NAME_ = $(WK_STORAGE_SERVICE_PRODUCT_NAME_NO);
WK_STORAGE_SERVICE_PRODUCT_NAME_NO = com.apple.WebKit.Storage;
WK_STORAGE_SERVICE_PRODUCT_NAME_YES = com.apple.WebKit.Databases;

WK_USE_LEGACY_STORAGE_SERVICE_NAME[sdk=iphoneos11*] = $(WK_USE_LEGACY_STORAGE_SERVICE_NAME_11$(IPHONEOS_DEPLOYMENT_TARGET:suffix:identifier));
WK_USE_LEGACY_STORAGE_SERVICE_NAME_11_0 = YES;
WK_USE_LEGACY_STORAGE_SERVICE_NAME_11_1 = YES;
WK_USE_LEGACY_STORAGE_SERVICE_NAME_11_2 = YES;

This file was deleted.

@@ -3958,7 +3958,6 @@
A5EC6AD32151BD6900677D17 /* WebPageDebuggable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebPageDebuggable.h; sourceTree = "<group>"; };
A5EFD38B16B0E88C00B2F0E8 /* WKPageVisibilityTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPageVisibilityTypes.h; sourceTree = "<group>"; };
A72D5D7F1236CBA800A88B15 /* APISerializedScriptValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APISerializedScriptValue.h; sourceTree = "<group>"; };
A78CCDD7193AC9E3005ECC25 /* com.apple.WebKit.Storage.sb */ = {isa = PBXFileReference; lastKnownFileType = text; path = com.apple.WebKit.Storage.sb; sourceTree = "<group>"; };
A78CCDD8193AC9E3005ECC25 /* com.apple.WebKit.Networking.sb */ = {isa = PBXFileReference; lastKnownFileType = text; path = com.apple.WebKit.Networking.sb; sourceTree = "<group>"; };
A78CCDD9193AC9E3005ECC25 /* com.apple.WebKit.WebContent.sb */ = {isa = PBXFileReference; lastKnownFileType = text; path = com.apple.WebKit.WebContent.sb; sourceTree = "<group>"; };
A7D792D41767CB0900881CBE /* ActivityAssertion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ActivityAssertion.h; sourceTree = "<group>"; };
@@ -7219,7 +7218,6 @@
isa = PBXGroup;
children = (
A78CCDD8193AC9E3005ECC25 /* com.apple.WebKit.Networking.sb */,
A78CCDD7193AC9E3005ECC25 /* com.apple.WebKit.Storage.sb */,
A78CCDD9193AC9E3005ECC25 /* com.apple.WebKit.WebContent.sb */,
);
path = ios;
@@ -10737,7 +10735,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [[ \"${CONFIGURATION}\" == \"Production\" ]]; then\n exit\nfi\n\nif [[ ${WK_PLATFORM_NAME} != \"macosx\" ]]; then\n XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/XPCServices\"\n BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES=\"../..\"\nelse\n XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/Versions/A/XPCServices\"\n BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES=\"../../../..\"\nfi\n\nmkdir -p \"${XPC_SERVICES_PATH}\"\nln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/com.apple.WebKit.WebContent.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.WebContent.xpc\"\nln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/com.apple.WebKit.Networking.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Networking.xpc\"\nln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/${WK_STORAGE_SERVICE_PRODUCT_NAME}.xpc\" \"${XPC_SERVICES_PATH}/${WK_STORAGE_SERVICE_PRODUCT_NAME}.xpc\"\n\nif [[ ${WK_PLATFORM_NAME} == macosx ]]; then\n ln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/com.apple.WebKit.Plugin.64.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.64.xpc\"\nfi\n";
shellScript = "if [[ \"${CONFIGURATION}\" == \"Production\" ]]; then\n exit\nfi\n\nif [[ ${WK_PLATFORM_NAME} != \"macosx\" ]]; then\n XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/XPCServices\"\n BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES=\"../..\"\nelse\n XPC_SERVICES_PATH=\"${BUILT_PRODUCTS_DIR}/WebKit.framework/Versions/A/XPCServices\"\n BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES=\"../../../..\"\nfi\n\nmkdir -p \"${XPC_SERVICES_PATH}\"\nln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/com.apple.WebKit.WebContent.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.WebContent.xpc\"\nln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/com.apple.WebKit.Networking.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Networking.xpc\"\n\nif [[ ${WK_PLATFORM_NAME} == macosx ]]; then\n ln -sFh \"${BUILT_PRODUCTS_DIR_RELATIVE_PATH_FROM_XPC_SERVICES}/com.apple.WebKit.Plugin.64.xpc\" \"${XPC_SERVICES_PATH}/com.apple.WebKit.Plugin.64.xpc\"\nfi\n";
};
99CA3862207286DB00BAD578 /* Copy WebDriver Atoms to Framework Private Headers */ = {
isa = PBXShellScriptBuildPhase;
@@ -1,3 +1,19 @@
2019-03-27 Andy Estes <aestes@apple.com>

REGRESSION (r242686): package-root creates roots with broken symlinks in WebKit.framework/XPCServices/
https://bugs.webkit.org/show_bug.cgi?id=196317

Reviewed by Dan Bernstein.

package-root copies built products into a staging directory using ditto(1), which does not
follow symbolic links as it traverses a directory. Now that the files in
WebKit.framework/XPCServices/ are symbolic links to a location outside of the framework
itself, these become broken links when ditto'd into the staging directory.

To account for this, change package-root to copy using cp(1) in a mode that follows symlinks.

* Scripts/package-root:

2019-03-27 Aakash Jain <aakash_jain@apple.com>

[ews-app] Update display text of Submit for ews analysis
@@ -80,21 +80,24 @@ my $configuration = configuration();
my $platform = xcodeSDKPlatformName();
my $productDir = productDir();
my $stagingRoot = tempdir(CLEANUP => 1);
my $stagingPrivatePath = "/$stagingRoot$privateInstallPath";
my $stagingPublicPath = "/$stagingRoot/$publicInstallPath";
my $stagingPrivatePath = "$stagingRoot$privateInstallPath";
my $stagingPublicPath = "$stagingRoot$publicInstallPath";
my $archiveName = "webkit-$configuration-$platform";
my $archivePath = "$productDir/$archiveName.tar.gz";
my ($fh, $tempArchiveName) = tempfile( "/tmp/$archiveName-XXXXXXX");

system 'mkdir', '-p', $stagingPrivatePath;
system 'mkdir', '-p', $stagingPublicPath;

foreach my $framework (@privateFrameworks) {
print "Copying Private $framework from $productDir ...\n";
system 'ditto', $productDir . "/$framework.framework/", "$stagingPrivatePath/$framework.framework/";
system 'cp', '-LpR', $productDir . "/$framework.framework", "$stagingPrivatePath/";
die "Check to see that you have built $framework for $configuration-$platform" if $? and $framework ne 'WebKit2';
}

foreach my $framework (@publicFrameworks) {
print "Copying Public $framework from $productDir ...\n";
system 'ditto', $productDir . "/$framework.framework/", "$stagingPublicPath/$framework.framework/";
system 'cp', '-LpR', $productDir . "/$framework.framework", "$stagingPublicPath/";
die "Check to see that you have built $framework for $configuration-$platform" if $?;
}

0 comments on commit 3bb7499

Please sign in to comment.