summaryrefslogtreecommitdiffstats
path: root/cmds/installd
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2012-10-17 10:02:22 -0700
committerKenny Root <kroot@google.com>2012-10-17 10:02:22 -0700
commitad0090e7b8c70cf44609aafbfea8c3946e2802a9 (patch)
treee00685d10039cdcd83a33a7e848724d724b9b787 /cmds/installd
parent9cb417b76fa72b3a53c6ce6d4017b389f553a2b8 (diff)
parent85f9ba9e7fdf9c3bf063f2e4c44a670861b4f199 (diff)
downloadframeworks_base-ad0090e7b8c70cf44609aafbfea8c3946e2802a9.zip
frameworks_base-ad0090e7b8c70cf44609aafbfea8c3946e2802a9.tar.gz
frameworks_base-ad0090e7b8c70cf44609aafbfea8c3946e2802a9.tar.bz2
resolved conflicts for merge of 85f9ba9e to jb-mr1-dev-plus-aosp
Change-Id: I9ae49075935f0e9ec432ce9d828ee26a4fcdb44c
Diffstat (limited to 'cmds/installd')
-rw-r--r--cmds/installd/Android.mk9
-rw-r--r--cmds/installd/commands.c20
2 files changed, 8 insertions, 21 deletions
diff --git a/cmds/installd/Android.mk b/cmds/installd/Android.mk
index 3e722ea..1dd4ee5 100644
--- a/cmds/installd/Android.mk
+++ b/cmds/installd/Android.mk
@@ -29,17 +29,12 @@ LOCAL_SRC_FILES := \
$(common_src_files)
LOCAL_SHARED_LIBRARIES := \
- libcutils
+ libcutils \
+ libselinux
LOCAL_STATIC_LIBRARIES := \
libdiskusage
-ifeq ($(HAVE_SELINUX),true)
-LOCAL_C_INCLUDES += external/libselinux/include
-LOCAL_SHARED_LIBRARIES += libselinux
-LOCAL_CFLAGS := -DHAVE_SELINUX
-endif # HAVE_SELINUX
-
LOCAL_MODULE := installd
LOCAL_MODULE_TAGS := optional
diff --git a/cmds/installd/commands.c b/cmds/installd/commands.c
index a276225..902463d 100644
--- a/cmds/installd/commands.c
+++ b/cmds/installd/commands.c
@@ -17,10 +17,7 @@
#include <linux/capability.h>
#include "installd.h"
#include <diskusage/dirsize.h>
-
-#ifdef HAVE_SELINUX
#include <selinux/android.h>
-#endif
/* Directory records that are used in execution of commands. */
dir_rec_t android_data_dir;
@@ -74,14 +71,12 @@ int install(const char *pkgname, uid_t uid, gid_t gid)
return -1;
}
-#ifdef HAVE_SELINUX
- if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
- ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
+ if (selinux_android_setfilecon(libdir, pkgname, uid) < 0) {
+ ALOGE("cannot setfilecon dir '%s': %s\n", libdir, strerror(errno));
unlink(libsymlink);
unlink(pkgdir);
return -1;
}
-#endif
if (chown(pkgdir, uid, gid) < 0) {
ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
@@ -186,19 +181,16 @@ int make_user_data(const char *pkgname, uid_t uid, uid_t persona)
unlink(pkgdir);
return -errno;
}
- if (chown(pkgdir, uid, uid) < 0) {
- ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
+ if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
+ ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
unlink(pkgdir);
return -errno;
}
-
-#ifdef HAVE_SELINUX
- if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
- ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
+ if (chown(pkgdir, uid, uid) < 0) {
+ ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
unlink(pkgdir);
return -errno;
}
-#endif
return 0;
}