Clients of PackagingBase can customize dependency tag to use

Previously, the dep tag used by PackagingBase was fixed, which prevented
some of its clients (e.g. cvd-host-package) from opting in to
android.InstallAlwaysNeededDependencyTag. Now, PackagingBase.AddDeps
accepts the dependency tag to use.

Also, dependencies toward rust dylib, rlib, and proc_macro are
configured to return true on InstallDepNeeded. This is required to
install shared_lib dependencies of the rust modules when they are
depended on by a rust binary.

Exempt-From-Owner-Approval: a trivial change after +2 from the owner.
This has to land ASAP as many users are affected by acloud being
unavailable.

Bug: N/A
Test: m
Test: acloud create --local-instance --local-image
Change-Id: If22aee7c6f314fcb03b9d4fe6901a2557f1e899c
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index a1605b4..ecbfbab 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -18,6 +18,8 @@
 	"fmt"
 
 	"android/soong/android"
+
+	"github.com/google/blueprint"
 )
 
 func init() {
@@ -36,8 +38,10 @@
 	return module
 }
 
+var dependencyTag = struct{ blueprint.BaseDependencyTag }{}
+
 func (f *filesystem) DepsMutator(ctx android.BottomUpMutatorContext) {
-	f.AddDeps(ctx)
+	f.AddDeps(ctx, dependencyTag)
 }
 
 var pctx = android.NewPackageContext("android/soong/filesystem")