Merge "Fix /init -> /system/bin/init symlink creation race" am: 50f5246352
am: 24d37b9265

Change-Id: I0a2627b8f14400c352f735dd458e6c19cd52fd70
diff --git a/init/Android.mk b/init/Android.mk
index 0e6ee0b..bdd0301 100644
--- a/init/Android.mk
+++ b/init/Android.mk
@@ -104,7 +104,6 @@
 LOCAL_REQUIRED_MODULES := \
    init_second_stage \
 
-LOCAL_POST_INSTALL_CMD := ln -sf /system/bin/init $(TARGET_ROOT_OUT)/init
 include $(BUILD_PHONY_PACKAGE)
 
 include $(CLEAR_VARS)
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index aad00ad..f88f6b9 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -9,6 +9,10 @@
 LOCAL_MODULE_CLASS := ETC
 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
 
+# The init symlink must be a post install command of a file that is to TARGET_ROOT_OUT.
+# Since init.rc is required for init and satisfies that requirement, we hijack it to create the symlink.
+LOCAL_POST_INSTALL_CMD := ln -sf /system/bin/init $(TARGET_ROOT_OUT)/init
+
 include $(BUILD_PREBUILT)
 
 #######################################