@@ -808,7 +808,11 @@ def add_to_package(package_uid, resource, codebase):
808808 Append `package_uid` to `resource.for_packages`, if the attribute exists and
809809 `package_uid` is not already in `resource.for_packages`.
810810 """
811- if hasattr (resource , 'for_packages' ) and isinstance (resource .for_packages , list ):
811+ if (
812+ hasattr (resource , 'for_packages' )
813+ and isinstance (resource .for_packages , list )
814+ and package_uid
815+ ):
812816 if package_uid in resource .for_packages :
813817 return
814818 resource .for_packages .append (package_uid )
@@ -1113,16 +1117,21 @@ def assemble_from_many(cls, pkgdata_resources, codebase, package_adder=add_to_pa
11131117 package .license_expression = cls .compute_normalized_license (package )
11141118 yield package
11151119 yield from dependencies
1116- yield from resources
11171120
1118- # Associate Package to Resources once they have been yielded
1121+ # Associate Package to Resources and yield them
1122+ for resource in resources :
1123+ package_adder (package_uid , resource , codebase )
1124+ yield resource
1125+
11191126 for package_uid , resource in resources_from_package :
11201127 package_adder (package_uid , resource , codebase )
1128+ yield resource
11211129
11221130 # the whole parent subtree of the base_resource is for this package
11231131 if package_uid :
11241132 for res in base_resource .walk (codebase ):
11251133 package_adder (package_uid , res , codebase )
1134+ yield res
11261135
11271136 @classmethod
11281137 def assemble_from_many_datafiles (
0 commit comments