Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28c97bc5 authored by Kiyoung Kim's avatar Kiyoung Kim
Browse files

Do not allow to link libbinder from Vendor APEX

Libbinder was temporarily allowed to be linked from Vendor APEXes before
all other modules are ready to use libbinder_ndk instead. This should be
removed before VNDK deprecation.

Bug: 301378087
Test: Husky build and boot succeeded
Ignore-AOSP-First: Build fix required from plus aosp branch
Change-Id: Id32868489a1a5dd0337aa6bdb773d93bc4e5a921
parent a4ccd035
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package apex

import (
	"fmt"
	"log"
	"path/filepath"
	"regexp"
	"sort"
@@ -1002,10 +1001,8 @@ func (a *apexBundle) ApexInfoMutator(mctx android.TopDownMutatorContext) {
			}
		}

		//TODO: b/296491928 Vendor APEX should use libbinder.ndk instead of libbinder once VNDK is fully deprecated.
		if useVndk && mctx.Config().IsVndkDeprecated() && child.Name() == "libbinder" {
			log.Print("Libbinder is linked from Vendor APEX ", a.Name(), " with module ", parent.Name())
			return false
			mctx.ModuleErrorf("Module %s in the vendor APEX %s should not use libbinder. Use libbinder_ndk instead.", parent.Name(), a.Name())
		}

		// By default, all the transitive dependencies are collected, unless filtered out
@@ -2180,10 +2177,6 @@ func (a *apexBundle) depVisitor(vctx *visitorContext, ctx android.ModuleContext,
				return false
			}

			//TODO: b/296491928 Vendor APEX should use libbinder.ndk instead of libbinder once VNDK is fully deprecated.
			if ch.InVendorOrProduct() && ctx.Config().IsVndkDeprecated() && child.Name() == "libbinder" {
				return false
			}
			af := apexFileForNativeLibrary(ctx, ch, vctx.handleSpecialLibs)
			af.transitiveDep = true