summaryrefslogtreecommitdiff
path: root/services/java/com
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2012-09-11 11:13:52 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-11 11:13:53 -0700
commita36180925bdbde9308f9ae6d27dd5fbadb2fa511 (patch)
tree7a7afe6ba9f7593af1c30b350f766b9dfe0a0ce4 /services/java/com
parent8015f039c744fb59c14920550705af958fc3c86d (diff)
parent9bbd70a96397bd5f1445ad6c21977fccfb350dfa (diff)
Merge "Remove "unlinklib" command from installd" into jb-mr1-dev
Diffstat (limited to 'services/java/com')
-rw-r--r--services/java/com/android/server/pm/Installer.java16
-rw-r--r--services/java/com/android/server/pm/PackageManagerService.java4
2 files changed, 6 insertions, 14 deletions
diff --git a/services/java/com/android/server/pm/Installer.java b/services/java/com/android/server/pm/Installer.java
index 4268ae091509..85de3494bd9b 100644
--- a/services/java/com/android/server/pm/Installer.java
+++ b/services/java/com/android/server/pm/Installer.java
@@ -369,10 +369,10 @@ class Installer {
*/
public int linkNativeLibraryDirectory(String dataPath, String nativeLibPath) {
if (dataPath == null) {
- Slog.e(TAG, "unlinkNativeLibraryDirectory dataPath is null");
+ Slog.e(TAG, "linkNativeLibraryDirectory dataPath is null");
return -1;
} else if (nativeLibPath == null) {
- Slog.e(TAG, "unlinkNativeLibraryDirectory nativeLibPath is null");
+ Slog.e(TAG, "linkNativeLibraryDirectory nativeLibPath is null");
return -1;
}
@@ -383,16 +383,4 @@ class Installer {
return execute(builder.toString());
}
-
- public int unlinkNativeLibraryDirectory(String dataPath) {
- if (dataPath == null) {
- Slog.e(TAG, "unlinkNativeLibraryDirectory dataPath is null");
- return -1;
- }
-
- StringBuilder builder = new StringBuilder("unlinklib ");
- builder.append(dataPath);
-
- return execute(builder.toString());
- }
}
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index b5ae214138fd..e19a80321b5d 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -4468,9 +4468,11 @@ public class PackageManagerService extends IPackageManager.Stub {
throws IOException {
if (!nativeLibraryDir.isDirectory()) {
nativeLibraryDir.delete();
+
if (!nativeLibraryDir.mkdir()) {
throw new IOException("Cannot create " + nativeLibraryDir.getPath());
}
+
try {
Libcore.os.chmod(nativeLibraryDir.getPath(), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH
| S_IXOTH);
@@ -4478,6 +4480,8 @@ public class PackageManagerService extends IPackageManager.Stub {
throw new IOException("Cannot chmod native library directory "
+ nativeLibraryDir.getPath(), e);
}
+ } else if (!SELinux.restorecon(nativeLibraryDir)) {
+ throw new IOException("Cannot set SELinux context for " + nativeLibraryDir.getPath());
}
/*