diff --git a/src/packagedcode/debian.py b/src/packagedcode/debian.py index 86623671efe..5590a0161bf 100644 --- a/src/packagedcode/debian.py +++ b/src/packagedcode/debian.py @@ -405,7 +405,7 @@ def assemble(cls, package_data, resource, codebase): package.update( package_data=pkgdt, datafile_path=res.path, - ) + ) res.for_packages.append(package_uid) res.save(codebase) @@ -545,7 +545,7 @@ def parse_debian_files_list(location, datasource_id, package_type): ref = models.FileReference(path=path, md5=md5sum) file_references.append(ref) - + if not file_references: return diff --git a/src/packagedcode/models.py b/src/packagedcode/models.py index 401571a7c49..4f140ad9b01 100644 --- a/src/packagedcode/models.py +++ b/src/packagedcode/models.py @@ -1274,6 +1274,9 @@ def update(self, package_data, datafile_path, replace=False): if not package_data: return + if isinstance(package_data, dict): + package_data = PackageData.from_dict(package_data) + if not self.is_compatible(package_data, include_qualifiers=False): if TRACE_UPDATE: logger_debug(f'update: {self.purl} not compatible with: {package_data.purl}')