You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.7 KiB
43 lines
1.7 KiB
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
|