summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDario Freni2018-05-25 10:07:19 -0500
committerDario Freni2018-07-26 11:27:28 -0500
commit361371009902150d332cb23575f5833a57cf0ef0 (patch)
tree7975ec21d6a7554d8c379ebfe7b716395b465182 /rootdir
parent28fb130cbbd7c01ef706d5b6a5a9877b290f275c (diff)
downloadplatform-system-core-361371009902150d332cb23575f5833a57cf0ef0.tar.gz
platform-system-core-361371009902150d332cb23575f5833a57cf0ef0.tar.xz
platform-system-core-361371009902150d332cb23575f5833a57cf0ef0.zip
Add support for /product-services partition.
This CL is largely and adaptation of Ie996def20e25dc1afe0c74af2096af844934b2dc Bug: 80741439 Test: Successfully built product-services.img with one module in it, and flashed on device. Also successfully built image with /system/product-services and no dedicated /product-services partition. Change-Id: I1046dfe19bf874da929c9131b76a1f85422fbb80 Merged-In: I1046dfe19bf874da929c9131b76a1f85422fbb80
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/Android.mk6
-rw-r--r--rootdir/etc/ld.config.txt14
2 files changed, 20 insertions, 0 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index 478b8d094..87eb733d5 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -93,6 +93,11 @@ ifdef BOARD_USES_PRODUCTIMAGE
93else 93else
94 LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product $(TARGET_ROOT_OUT)/product 94 LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product $(TARGET_ROOT_OUT)/product
95endif 95endif
96ifdef BOARD_USES_PRODUCT_SERVICES_IMAGE
97 LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/product-services
98else
99 LOCAL_POST_INSTALL_CMD += ; ln -sf /system/product-services $(TARGET_ROOT_OUT)/product-services
100endif
96 101
97# For /odm partition. 102# For /odm partition.
98LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/odm 103LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/odm
@@ -202,6 +207,7 @@ $(2): $(1)
202 $$(hide) sed -i -e 's?%SANITIZER_RUNTIME_LIBRARIES%?$$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES)?g' $$@ 207 $$(hide) sed -i -e 's?%SANITIZER_RUNTIME_LIBRARIES%?$$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES)?g' $$@
203 $$(hide) sed -i -e 's?%VNDK_VER%?$$(PRIVATE_VNDK_VERSION)?g' $$@ 208 $$(hide) sed -i -e 's?%VNDK_VER%?$$(PRIVATE_VNDK_VERSION)?g' $$@
204 $$(hide) sed -i -e 's?%PRODUCT%?$$(TARGET_COPY_OUT_PRODUCT)?g' $$@ 209 $$(hide) sed -i -e 's?%PRODUCT%?$$(TARGET_COPY_OUT_PRODUCT)?g' $$@
210 $$(hide) sed -i -e 's?%PRODUCTSERVICES%?$$(TARGET_COPY_OUT_PRODUCTSERVICES)?g' $$@
205 211
206llndk_libraries_list := 212llndk_libraries_list :=
207vndksp_libraries_list := 213vndksp_libraries_list :=
diff --git a/rootdir/etc/ld.config.txt b/rootdir/etc/ld.config.txt
index 42dc7abe7..7d22a3acc 100644
--- a/rootdir/etc/ld.config.txt
+++ b/rootdir/etc/ld.config.txt
@@ -8,6 +8,7 @@
8dir.system = /system/bin/ 8dir.system = /system/bin/
9dir.system = /system/xbin/ 9dir.system = /system/xbin/
10dir.system = /%PRODUCT%/bin/ 10dir.system = /%PRODUCT%/bin/
11dir.system = /%PRODUCTSERVICES%/bin/
11 12
12dir.vendor = /odm/bin/ 13dir.vendor = /odm/bin/
13dir.vendor = /vendor/bin/ 14dir.vendor = /vendor/bin/
@@ -40,6 +41,7 @@ namespace.default.isolated = true
40 41
41namespace.default.search.paths = /system/${LIB} 42namespace.default.search.paths = /system/${LIB}
42namespace.default.search.paths += /%PRODUCT%/${LIB} 43namespace.default.search.paths += /%PRODUCT%/${LIB}
44namespace.default.search.paths += /%PRODUCTSERVICES%/${LIB}
43 45
44# We can't have entire /system/${LIB} as permitted paths because doing so 46# We can't have entire /system/${LIB} as permitted paths because doing so
45# makes it possible to load libs in /system/${LIB}/vndk* directories by 47# makes it possible to load libs in /system/${LIB}/vndk* directories by
@@ -52,6 +54,7 @@ namespace.default.permitted.paths = /system/${LIB}/drm
52namespace.default.permitted.paths += /system/${LIB}/extractors 54namespace.default.permitted.paths += /system/${LIB}/extractors
53namespace.default.permitted.paths += /system/${LIB}/hw 55namespace.default.permitted.paths += /system/${LIB}/hw
54namespace.default.permitted.paths += /%PRODUCT%/${LIB} 56namespace.default.permitted.paths += /%PRODUCT%/${LIB}
57namespace.default.permitted.paths += /%PRODUCTSERVICES%/${LIB}
55# These are where odex files are located. libart has to be able to dlopen the files 58# These are where odex files are located. libart has to be able to dlopen the files
56namespace.default.permitted.paths += /system/framework 59namespace.default.permitted.paths += /system/framework
57namespace.default.permitted.paths += /system/app 60namespace.default.permitted.paths += /system/app
@@ -66,6 +69,9 @@ namespace.default.permitted.paths += /oem/app
66namespace.default.permitted.paths += /%PRODUCT%/framework 69namespace.default.permitted.paths += /%PRODUCT%/framework
67namespace.default.permitted.paths += /%PRODUCT%/app 70namespace.default.permitted.paths += /%PRODUCT%/app
68namespace.default.permitted.paths += /%PRODUCT%/priv-app 71namespace.default.permitted.paths += /%PRODUCT%/priv-app
72namespace.default.permitted.paths += /%PRODUCTSERVICES%/framework
73namespace.default.permitted.paths += /%PRODUCTSERVICES%/app
74namespace.default.permitted.paths += /%PRODUCTSERVICES%/priv-app
69namespace.default.permitted.paths += /data 75namespace.default.permitted.paths += /data
70namespace.default.permitted.paths += /mnt/expand 76namespace.default.permitted.paths += /mnt/expand
71 77
@@ -73,6 +79,8 @@ namespace.default.asan.search.paths = /data/asan/system/${LIB}
73namespace.default.asan.search.paths += /system/${LIB} 79namespace.default.asan.search.paths += /system/${LIB}
74namespace.default.asan.search.paths += /data/asan/product/${LIB} 80namespace.default.asan.search.paths += /data/asan/product/${LIB}
75namespace.default.asan.search.paths += /product/${LIB} 81namespace.default.asan.search.paths += /product/${LIB}
82namespace.default.asan.search.paths += /data/asan/product-services/${LIB}
83namespace.default.asan.search.paths += /product-services/${LIB}
76 84
77namespace.default.asan.permitted.paths = /data 85namespace.default.asan.permitted.paths = /data
78namespace.default.asan.permitted.paths += /system/${LIB}/drm 86namespace.default.asan.permitted.paths += /system/${LIB}/drm
@@ -92,6 +100,10 @@ namespace.default.asan.permitted.paths += /%PRODUCT%/${LIB}
92namespace.default.asan.permitted.paths += /%PRODUCT%/framework 100namespace.default.asan.permitted.paths += /%PRODUCT%/framework
93namespace.default.asan.permitted.paths += /%PRODUCT%/app 101namespace.default.asan.permitted.paths += /%PRODUCT%/app
94namespace.default.asan.permitted.paths += /%PRODUCT%/priv-app 102namespace.default.asan.permitted.paths += /%PRODUCT%/priv-app
103namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/${LIB}
104namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/framework
105namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/app
106namespace.default.asan.permitted.paths += /%PRODUCTSERVICES%/priv-app
95namespace.default.asan.permitted.paths += /mnt/expand 107namespace.default.asan.permitted.paths += /mnt/expand
96 108
97############################################################################### 109###############################################################################
@@ -328,6 +340,7 @@ namespace.system.isolated = false
328 340
329namespace.system.search.paths = /system/${LIB} 341namespace.system.search.paths = /system/${LIB}
330namespace.system.search.paths += /%PRODUCT%/${LIB} 342namespace.system.search.paths += /%PRODUCT%/${LIB}
343namespace.system.search.paths += /%PRODUCTSERVICES%/${LIB}
331 344
332namespace.system.asan.search.paths = /data/asan/system/${LIB} 345namespace.system.asan.search.paths = /data/asan/system/${LIB}
333namespace.system.asan.search.paths += /system/${LIB} 346namespace.system.asan.search.paths += /system/${LIB}
@@ -346,3 +359,4 @@ namespace.system.asan.search.paths += /product/${LIB}
346namespace.default.isolated = false 359namespace.default.isolated = false
347namespace.default.search.paths = /system/${LIB} 360namespace.default.search.paths = /system/${LIB}
348namespace.default.search.paths += /%PRODUCT%/${LIB} 361namespace.default.search.paths += /%PRODUCT%/${LIB}
362namespace.default.search.paths += /%PRODUCTSERVICES%/${LIB}