mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 16:33:21 +01:00
* Adds java and npm package comparison * Adds probable matching of extra packages syft found and missing packages that syft did not find (but inline did). This way there is a section of output that fuzzy-matches the package names to get a better sense of "real" problems (actual missing packages) vs slightly mismatched metadata during troubleshooting. * Adds a set or probable missing packages to the report based on the probable matches (again, to aid in troubleshooting) * Fixes image reference clean function to support references with registries * Only shows metadata differences when the package was found by both inline and syft * Splits the inline-compare code into more manageable pieces Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
49 lines
1.1 KiB
Makefile
49 lines
1.1 KiB
Makefile
ifndef SYFT_CMD
|
|
SYFT_CMD = go run ../../main.go
|
|
endif
|
|
|
|
IMAGE_CLEAN = $(shell basename $(COMPARE_IMAGE) | tr ":" "_" )
|
|
SYFT_DIR = syft-reports
|
|
SYFT_REPORT = $(SYFT_DIR)/$(IMAGE_CLEAN).json
|
|
INLINE_DIR = inline-reports
|
|
INLINE_REPORT = $(INLINE_DIR)/$(IMAGE_CLEAN)-content-os.json
|
|
|
|
ifndef SYFT_DIR
|
|
$(error SYFT_DIR is not set)
|
|
endif
|
|
|
|
ifndef INLINE_DIR
|
|
$(error INLINE_DIR is not set)
|
|
endif
|
|
|
|
.PHONY: all
|
|
.DEFAULT_GOAL :=
|
|
all: clean-syft
|
|
./compare-all.sh
|
|
|
|
.PHONY: compare-image
|
|
compare-image: $(SYFT_REPORT) $(INLINE_REPORT)
|
|
./compare.py $(COMPARE_IMAGE)
|
|
|
|
.PHONY: gather-image
|
|
gather-image: $(SYFT_REPORT) $(INLINE_REPORT)
|
|
|
|
$(INLINE_REPORT):
|
|
echo "Creating $(INLINE_REPORT)..."
|
|
mkdir -p $(INLINE_DIR)
|
|
curl -s https://ci-tools.anchore.io/inline_scan-v0.7.0 | bash -s -- -p -r $(COMPARE_IMAGE)
|
|
mv anchore-reports/* $(INLINE_DIR)/
|
|
rmdir anchore-reports
|
|
|
|
$(SYFT_REPORT):
|
|
echo "Creating $(SYFT_REPORT)..."
|
|
mkdir -p $(SYFT_DIR)
|
|
$(SYFT_CMD) $(COMPARE_IMAGE) -o json > $(SYFT_REPORT)
|
|
|
|
.PHONY: clean
|
|
clean: clean-syft
|
|
rm -f $(INLINE_DIR)/*
|
|
|
|
.PHONY: clean-syft
|
|
clean-syft:
|
|
rm -f $(SYFT_DIR)/*
|