* In Android T, AOSP moved `libnetutils` to an APEX that is inaccessible
to the vendor namespace - and it can't be built to vendor in any
treble-compliant way.
* Our `wfc-pkt-router` blob lives on vendor, and relies on `libnetutils.so`.
* Upon further analysis, we only reply on a few checksum related functions,
such as the symbol `ipv4_pseudo_header_checksum`, which lives in the (now)
staticly included dependency of `libnetutils.so`, `libip_checksum`.
* To work around this, we enabled building `libip_checksum` as a stand-alone
vendor_available library called `libip_checksum_shim.so`, and `patchelf`
`wfc-pkt-router` to depend on `lib_up_checksum.so`.
Depends-on: I7dff9ec6c8ff146f6090e9519ece7844b4a057eb
Change-Id: Ibaae5435c20f36469bf3417069a3fa3cfeb3aa9a
PRODUCT_PACKAGES += \
android.hardware.wifi@1.0-service \
hostapd \
+ libip_checksum_shim.vendor \
WifiOverlay \
wpa_supplicant
"${PATCHELF}" --replace-needed "libmedia.so" "libmedia_ims.so" "${BLOB_ROOT}"/lib64/libmediaadaptor.so
+"${PATCHELF}" --replace-needed "libnetutils.so" "libip_checksum_shim.so" "${BLOB_ROOT}"/vendor/bin/wfc-pkt-router
+
"${PATCHELF}" --replace-needed "libutils.so" "libutils-v32.so" "${BLOB_ROOT}"/vendor/lib/libexynosdisplay.so
"${PATCHELF}" --replace-needed "libutils.so" "libutils-v32.so" "${BLOB_ROOT}"/vendor/lib64/libexynosdisplay.so
"${PATCHELF}" --replace-needed "libutils.so" "libutils-v32.so" "${BLOB_ROOT}"/vendor/lib/hw/hwcomposer.exynos9610.so