Merge changes from topic "revert-3066748-duplicate_entry_fs-CIBDJQYRHU" into main am: 0141b4acad
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3069323 Change-Id: I83e6051471cdde453d3ce944cf99fcc7739d4018 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -50,25 +50,6 @@ type PackagingSpec struct {
|
|||||||
skipInstall bool
|
skipInstall bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PackagingSpec) Equals(other *PackagingSpec) bool {
|
|
||||||
if other == nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if p.relPathInPackage != other.relPathInPackage {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if p.srcPath != other.srcPath || p.symlinkTarget != other.symlinkTarget {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if p.executable != other.executable {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if p.partition != other.partition {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get file name of installed package
|
// Get file name of installed package
|
||||||
func (p *PackagingSpec) FileName() string {
|
func (p *PackagingSpec) FileName() string {
|
||||||
if p.relPathInPackage != "" {
|
if p.relPathInPackage != "" {
|
||||||
@@ -262,15 +243,9 @@ func (p *PackagingBase) GatherPackagingSpecsWithFilter(ctx ModuleContext, filter
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dstPath := ps.relPathInPackage
|
if _, ok := m[ps.relPathInPackage]; !ok {
|
||||||
if existingPs, ok := m[dstPath]; ok {
|
m[ps.relPathInPackage] = ps
|
||||||
if !existingPs.Equals(&ps) {
|
|
||||||
ctx.ModuleErrorf("packaging conflict at %v:\n%v\n%v", dstPath, existingPs, ps)
|
|
||||||
}
|
}
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
m[dstPath] = ps
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return m
|
return m
|
||||||
|
@@ -137,7 +137,6 @@ type filesystemProperties struct {
|
|||||||
// partitions like system.img. For example, cc_library modules are placed under ./lib[64] directory.
|
// partitions like system.img. For example, cc_library modules are placed under ./lib[64] directory.
|
||||||
func filesystemFactory() android.Module {
|
func filesystemFactory() android.Module {
|
||||||
module := &filesystem{}
|
module := &filesystem{}
|
||||||
module.filterPackagingSpec = module.filterInstallablePackagingSpec
|
|
||||||
initFilesystemModule(module)
|
initFilesystemModule(module)
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
@@ -190,12 +189,6 @@ func (f *filesystem) partitionName() string {
|
|||||||
return proptools.StringDefault(f.properties.Partition_name, f.Name())
|
return proptools.StringDefault(f.properties.Partition_name, f.Name())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *filesystem) filterInstallablePackagingSpec(ps android.PackagingSpec) bool {
|
|
||||||
// Filesystem module respects the installation semantic. A PackagingSpec from a module with
|
|
||||||
// IsSkipInstall() is skipped.
|
|
||||||
return !ps.SkipInstall()
|
|
||||||
}
|
|
||||||
|
|
||||||
var pctx = android.NewPackageContext("android/soong/filesystem")
|
var pctx = android.NewPackageContext("android/soong/filesystem")
|
||||||
|
|
||||||
func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
|
@@ -442,26 +442,3 @@ func TestInconsistentPartitionTypesInDefaults(t *testing.T) {
|
|||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPreventDuplicatedEntries(t *testing.T) {
|
|
||||||
fixture.ExtendWithErrorHandler(android.FixtureExpectsOneErrorPattern(
|
|
||||||
"packaging conflict at")).
|
|
||||||
RunTestWithBp(t, `
|
|
||||||
android_filesystem {
|
|
||||||
name: "fs",
|
|
||||||
deps: [
|
|
||||||
"foo",
|
|
||||||
"foo_dup",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
cc_binary {
|
|
||||||
name: "foo",
|
|
||||||
}
|
|
||||||
|
|
||||||
cc_binary {
|
|
||||||
name: "foo_dup",
|
|
||||||
stem: "foo",
|
|
||||||
}
|
|
||||||
`)
|
|
||||||
}
|
|
||||||
|
@@ -98,5 +98,5 @@ func (s *systemImage) buildLinkerConfigFile(ctx android.ModuleContext, root andr
|
|||||||
// Note that "apex" module installs its contents to "apex"(fake partition) as well
|
// Note that "apex" module installs its contents to "apex"(fake partition) as well
|
||||||
// for symbol lookup by imitating "activated" paths.
|
// for symbol lookup by imitating "activated" paths.
|
||||||
func (s *systemImage) filterPackagingSpec(ps android.PackagingSpec) bool {
|
func (s *systemImage) filterPackagingSpec(ps android.PackagingSpec) bool {
|
||||||
return s.filesystem.filterInstallablePackagingSpec(ps) && ps.Partition() == "system"
|
return ps.Partition() == "system"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user