diff --git a/internal/task/package_tasks.go b/internal/task/package_tasks.go index 903078e5e..ceae5f656 100644 --- a/internal/task/package_tasks.go +++ b/internal/task/package_tasks.go @@ -61,7 +61,7 @@ func DefaultPackageTaskFactories() Factories { newSimplePackageTaskFactory(alpine.NewDBCataloger, pkgcataloging.DirectoryTag, pkgcataloging.InstalledTag, pkgcataloging.ImageTag, pkgcataloging.OSTag, "linux", "apk", "alpine"), newPackageTaskFactory( func(cfg CatalogingFactoryConfig) pkg.Cataloger { - return debian.NewDBCatalogerWithOpts(cfg.PackagesConfig.Debian) + return debian.NewDpkgDBCataloger(cfg.PackagesConfig.Debian) }, pkgcataloging.DirectoryTag, pkgcataloging.InstalledTag, pkgcataloging.ImageTag, pkgcataloging.OSTag, "linux", "dpkg", "debian", ), @@ -72,7 +72,7 @@ func DefaultPackageTaskFactories() Factories { newSimplePackageTaskFactory(redhat.NewArchiveCataloger, pkgcataloging.DeclaredTag, pkgcataloging.DirectoryTag, pkgcataloging.OSTag, "linux", "rpm", "redhat"), newPackageTaskFactory( func(cfg CatalogingFactoryConfig) pkg.Cataloger { - return debian.NewArchiveCatalogerWithOpts(cfg.PackagesConfig.Debian) + return debian.NewDpkgArchiveCataloger(cfg.PackagesConfig.Debian) }, pkgcataloging.DeclaredTag, pkgcataloging.DirectoryTag, pkgcataloging.OSTag, "linux", "deb", "debian", ), diff --git a/syft/pkg/cataloger/debian/cataloger.go b/syft/pkg/cataloger/debian/cataloger.go index 52ee645c6..0e47eead7 100644 --- a/syft/pkg/cataloger/debian/cataloger.go +++ b/syft/pkg/cataloger/debian/cataloger.go @@ -11,15 +11,11 @@ import ( // NewDBCataloger returns a new Deb package cataloger capable of parsing DPKG status DB flat-file stores. func NewDBCataloger() pkg.Cataloger { - return generic.NewCataloger("dpkg-db-cataloger"). - // note: these globs have been intentionally split up in order to improve search performance, - // please do NOT combine into: "**/var/lib/dpkg/{status,status.d/*}" - WithParserByGlobs(parseDpkgDB(CatalogerConfig{IncludeDeInstalled: true}), "**/lib/dpkg/status", "**/lib/dpkg/status.d/*", "**/lib/opkg/info/*.control", "**/lib/opkg/status"). - WithProcessors(dependency.Processor(dbEntryDependencySpecifier)) + return NewDpkgDBCataloger(DefaultCatalogerConfig()) } -// NewDBCatalogerWithOpts returns a new Deb package cataloger capable of parsing DPKG status DB flat-file stores with syft configuration. -func NewDBCatalogerWithOpts(cfg CatalogerConfig) pkg.Cataloger { +// NewDpkgDBCataloger returns a new Deb package cataloger capable of parsing DPKG status DB flat-file stores with syft configuration. +func NewDpkgDBCataloger(cfg CatalogerConfig) pkg.Cataloger { return generic.NewCataloger("dpkg-db-cataloger"). // note: these globs have been intentionally split up in order to improve search performance, // please do NOT combine into: "**/var/lib/dpkg/{status,status.d/*}" @@ -29,12 +25,11 @@ func NewDBCatalogerWithOpts(cfg CatalogerConfig) pkg.Cataloger { // NewArchiveCataloger returns a new Debian package cataloger object capable of parsing .deb archive files func NewArchiveCataloger() pkg.Cataloger { - return generic.NewCataloger("deb-archive-cataloger"). - WithParserByGlobs(parseDebArchive(CatalogerConfig{IncludeDeInstalled: true}), "**/*.deb") + return NewDpkgDBCataloger(DefaultCatalogerConfig()) } -// NewArchiveCatalogerWithOpts returns a new Debian package cataloger object capable of parsing .deb archive files with syft configuration. -func NewArchiveCatalogerWithOpts(cfg CatalogerConfig) pkg.Cataloger { +// NewDpkgArchiveCataloger returns a new Debian package cataloger object capable of parsing .deb archive files with syft configuration. +func NewDpkgArchiveCataloger(cfg CatalogerConfig) pkg.Cataloger { return generic.NewCataloger("deb-archive-cataloger"). WithParserByGlobs(parseDebArchive(cfg), "**/*.deb") } diff --git a/syft/pkg/cataloger/debian/parse_deb_archive_test.go b/syft/pkg/cataloger/debian/parse_deb_archive_test.go index 4bfc46836..202260953 100644 --- a/syft/pkg/cataloger/debian/parse_deb_archive_test.go +++ b/syft/pkg/cataloger/debian/parse_deb_archive_test.go @@ -127,7 +127,7 @@ Description: This is a test package And even more details ` - metadata, err := parseControlFile(controlContent) + metadata, err := parseControlFile(controlContent, CatalogerConfig{}) require.NoError(t, err) assert.Equal(t, "test-package", metadata.Package) diff --git a/syft/pkg/cataloger/debian/parse_dpkg_db_test.go b/syft/pkg/cataloger/debian/parse_dpkg_db_test.go index 9d415edb2..70365ae95 100644 --- a/syft/pkg/cataloger/debian/parse_dpkg_db_test.go +++ b/syft/pkg/cataloger/debian/parse_dpkg_db_test.go @@ -278,7 +278,7 @@ func Test_parseDpkgStatus(t *testing.T) { reader := bufio.NewReader(f) - entries, err := parseDpkgStatus(reader) + entries, err := parseDpkgStatus(reader, CatalogerConfig{}) require.NoError(t, err) if diff := cmp.Diff(test.expected, entries); diff != "" { @@ -295,7 +295,7 @@ func Test_corruptEntry(t *testing.T) { reader := bufio.NewReader(f) - _, err = parseDpkgStatus(reader) + _, err = parseDpkgStatus(reader, CatalogerConfig{}) require.Error(t, err) } @@ -523,7 +523,7 @@ func Test_parseDpkgStatus_deinstall(t *testing.T) { IncludeDeInstalled: tt.includeDeinstall, } - entries, err := parseDpkgStatusWithConfig(fixture, cfg) + entries, err := parseDpkgStatus(fixture, cfg) require.NoError(t, err) assert.Len(t, entries, tt.expectedCount, "expected %d entries", tt.expectedCount)