From 54351867fa0dff593eb61d111d1d7ffb7d3d02f2 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Wed, 1 May 2024 05:25:41 +0000 Subject: [PATCH 1/2] Revert "Filesystem modules follow the installation semantic" Revert submission 3066748-duplicate_entry_fs Reason for revert: b/338159248 Reverted changes: /q/submissionid:3066748-duplicate_entry_fs Change-Id: I8aacdb36efce8343c3713542eee209e71bde660b --- filesystem/filesystem.go | 7 ------- filesystem/system_image.go | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go index 5bcfce7a3..cadf9c246 100644 --- a/filesystem/filesystem.go +++ b/filesystem/filesystem.go @@ -137,7 +137,6 @@ type filesystemProperties struct { // partitions like system.img. For example, cc_library modules are placed under ./lib[64] directory. func filesystemFactory() android.Module { module := &filesystem{} - module.filterPackagingSpec = module.filterInstallablePackagingSpec initFilesystemModule(module) return module } @@ -190,12 +189,6 @@ func (f *filesystem) partitionName() string { 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") func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) { diff --git a/filesystem/system_image.go b/filesystem/system_image.go index 15cacfb4f..5028a493e 100644 --- a/filesystem/system_image.go +++ b/filesystem/system_image.go @@ -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 // for symbol lookup by imitating "activated" paths. func (s *systemImage) filterPackagingSpec(ps android.PackagingSpec) bool { - return s.filesystem.filterInstallablePackagingSpec(ps) && ps.Partition() == "system" + return ps.Partition() == "system" } From 3d65d9cb901a73e63398d31352f3e422d7a68b90 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Wed, 1 May 2024 05:25:41 +0000 Subject: [PATCH 2/2] Revert "Prevent multiple PackagingSpecs having same installation..." Revert submission 3066748-duplicate_entry_fs Reason for revert: b/338159248 Reverted changes: /q/submissionid:3066748-duplicate_entry_fs Change-Id: I89906e160f62f1bf84eb65a1b99940f139626786 --- android/packaging.go | 29 ++--------------------------- filesystem/filesystem_test.go | 23 ----------------------- 2 files changed, 2 insertions(+), 50 deletions(-) diff --git a/android/packaging.go b/android/packaging.go index fe61da1e9..66772183c 100644 --- a/android/packaging.go +++ b/android/packaging.go @@ -50,25 +50,6 @@ type PackagingSpec struct { 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 func (p *PackagingSpec) FileName() string { if p.relPathInPackage != "" { @@ -262,15 +243,9 @@ func (p *PackagingBase) GatherPackagingSpecsWithFilter(ctx ModuleContext, filter continue } } - dstPath := ps.relPathInPackage - if existingPs, ok := m[dstPath]; ok { - if !existingPs.Equals(&ps) { - ctx.ModuleErrorf("packaging conflict at %v:\n%v\n%v", dstPath, existingPs, ps) - } - continue + if _, ok := m[ps.relPathInPackage]; !ok { + m[ps.relPathInPackage] = ps } - - m[dstPath] = ps } }) return m diff --git a/filesystem/filesystem_test.go b/filesystem/filesystem_test.go index acd481352..121504867 100644 --- a/filesystem/filesystem_test.go +++ b/filesystem/filesystem_test.go @@ -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", - } - `) -}