diff --git a/src/spdx_diff/cli.py b/src/spdx_diff/cli.py index 16a70b3..74860ae 100644 --- a/src/spdx_diff/cli.py +++ b/src/spdx_diff/cli.py @@ -587,10 +587,15 @@ def main() -> None: pkg_diff = compare_dicts(sbom_ref.packages, sbom_new.packages) cfg_diff = compare_dicts(sbom_ref.config, sbom_new.config) pcfg_diff = compare_packageconfig(sbom_ref.packageconfig, sbom_new.packageconfig) + pcfg_light_diff = ( + {k: v for k, v in pcfg_diff[0].items() if k not in pkg_diff[0]}, + {k: v for k, v in pcfg_diff[1].items() if k not in pkg_diff[1]}, + pcfg_diff[2], + ) # Print summary or full output if args.summary: - print_summary(pkg_diff, cfg_diff, pcfg_diff) + print_summary(pkg_diff, cfg_diff, pcfg_light_diff) elif args.format in {"text", "both"}: if show_packages: print_diff( @@ -612,7 +617,7 @@ def main() -> None: ) if show_packageconfig: print_packageconfig_diff( - *pcfg_diff, + *pcfg_light_diff, show_all=args.full, show_added=show_added, show_removed=show_removed, @@ -620,7 +625,7 @@ def main() -> None: ) if args.format in ["json", "both"]: - write_diff_to_json(pkg_diff, cfg_diff, pcfg_diff, args.output) + write_diff_to_json(pkg_diff, cfg_diff, pcfg_light_diff, args.output) if __name__ == "__main__": diff --git a/tests/test_package.py b/tests/test_package.py index b139222..36ac913 100644 --- a/tests/test_package.py +++ b/tests/test_package.py @@ -21,6 +21,13 @@ def test_new_pkg_with_proprietary( exp = ExpectedDiff() exp.package_added("example", "0.1") exp.package_added("i2c-tools", i2c_tools_version) + exp.package_added("libacl1", "2.3.2") + exp.package_added("libattr1", "2.5.1") + exp.package_added("libpopt0", "1.19") + exp.package_added("rsync", "3.2.7") + exp.package_removed("libgcc1", "13.4.0") + exp.package_removed("libstdc++6", "13.4.0") + exp.package_removed("zstd", "1.5.5") run_spdx_diff_check( tmp_dir, @@ -40,6 +47,13 @@ def test_new_pkg_ign_proprietary( ) -> None: exp = ExpectedDiff() exp.package_added("i2c-tools", i2c_tools_version) + exp.package_added("libacl1", "2.3.2") + exp.package_added("libattr1", "2.5.1") + exp.package_added("libpopt0", "1.19") + exp.package_added("rsync", "3.2.7") + exp.package_removed("libgcc1", "13.4.0") + exp.package_removed("libstdc++6", "13.4.0") + exp.package_removed("zstd", "1.5.5") run_spdx_diff_check( tmp_dir,