diff -urNp a/agent/mibgroup/host/data_access/swinst_rpm.c b/agent/mibgroup/host/data_access/swinst_rpm.c --- a/agent/mibgroup/host/data_access/swinst_rpm.c 2023-10-23 16:59:37.392368620 +0200 +++ b/agent/mibgroup/host/data_access/swinst_rpm.c 2023-10-23 17:01:59.760640169 +0200 @@ -73,15 +73,21 @@ netsnmp_swinst_arch_init(void) #endif snprintf( pkg_directory, SNMP_MAXPATH, "%s/Packages", dbpath ); + if (-1 == stat( pkg_directory, &stat_buf )) { + + /* check for SQLite DB backend */ + snprintf( pkg_directory, SNMP_MAXPATH, "%s/rpmdb.sqlite", dbpath ); + + if (-1 == stat( pkg_directory, &stat_buf )) { + snmp_log(LOG_ERR, "Can't find directory of RPM packages\n"); + pkg_directory[0] = '\0'; + } + } SNMP_FREE(rpmdbpath); dbpath = NULL; #ifdef HAVE_RPMGETPATH rpmFreeRpmrc(); #endif - if (-1 == stat( pkg_directory, &stat_buf )) { - snmp_log(LOG_ERR, "Can't find directory of RPM packages"); - pkg_directory[0] = '\0'; - } } void diff -urNp a/agent/mibgroup/host/hr_swinst.c b/agent/mibgroup/host/hr_swinst.c --- a/agent/mibgroup/host/hr_swinst.c 2023-10-23 16:59:37.391368611 +0200 +++ b/agent/mibgroup/host/hr_swinst.c 2023-10-23 17:02:47.159063503 +0200 @@ -229,6 +229,9 @@ init_hr_swinst(void) snprintf(path, sizeof(path), "%s/Packages", swi->swi_dbpath); if (stat(path, &stat_buf) == -1) snprintf(path, sizeof(path), "%s/packages.rpm", swi->swi_dbpath); + /* check for SQLite DB backend */ + if (stat(path, &stat_buf) == -1) + snprintf(path, sizeof(path), "%s/rpmdb.sqlite", swi->swi_dbpath); path[ sizeof(path)-1 ] = 0; swi->swi_directory = strdup(path); #ifdef HAVE_RPMGETPATH