diff --git a/.gitignore b/.gitignore index 0b1b5d2785..7f655fde3f 100644 --- a/.gitignore +++ b/.gitignore @@ -111,4 +111,7 @@ geckodriver.log var .metaflow selenium -/dist/ \ No newline at end of file +/dist/ + +# Ignore extra rpmdb sqlite stuff +rpmdb.sqlite-* diff --git a/src/packagedcode/rpm.py b/src/packagedcode/rpm.py index 01ae1ab850..b9ba09a206 100644 --- a/src/packagedcode/rpm.py +++ b/src/packagedcode/rpm.py @@ -229,10 +229,9 @@ class RpmInstalledNdbDatabaseHandler(BaseRpmInstalledDatabaseHandler): # TODO: add dependencies!!! class RpmInstalledSqliteDatabaseHandler(BaseRpmInstalledDatabaseHandler): - # used by newer RHEL/CentOS/Fedora + # used by newer RHEL/CentOS/Fedora/CoreOS datasource_id = 'rpm_installed_database_sqlite' - path_patterns = ('*var/lib/rpm/rpmdb.sqlite',) - filetypes = ('berkeley',) + path_patterns = ('*rpm/rpmdb.sqlite',) default_package_type = 'rpm' default_package_namespace = 'TBD' description = 'RPM installed package SQLite database' diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index f004d93ed6..3be5468004 100755 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -746,7 +746,7 @@ Package type: rpm documentation URL: https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb primary language: None description: RPM installed package SQLite database - path_patterns: '*var/lib/rpm/rpmdb.sqlite' + path_patterns: '*rpm/rpmdb.sqlite' -------------------------------------------- Package type: rpm datasource_id: rpm_spefile diff --git a/tests/packagedcode/data/rpm/rpmdb.sqlite b/tests/packagedcode/data/rpm/rpmdb.sqlite new file mode 100644 index 0000000000..ff1f6e880e Binary files /dev/null and b/tests/packagedcode/data/rpm/rpmdb.sqlite differ diff --git a/tests/packagedcode/test_recognize.py b/tests/packagedcode/test_recognize.py index 1d32c6cf67..f7736aeeb6 100644 --- a/tests/packagedcode/test_recognize.py +++ b/tests/packagedcode/test_recognize.py @@ -196,3 +196,9 @@ def test_recognize_go_sum(self): packages = recognize_package_data(test_file) assert packages assert isinstance(packages[0], models.PackageData) + + def test_recognize_rpmdb_sqlite(self): + test_file = self.get_test_loc('rpm/rpmdb.sqlite') + packages = recognize_package_data(test_file, system=True) + assert packages + assert isinstance(packages[0], models.PackageData)