Fix SQLight RPM transition warning and split perl package
This commit is contained in:
parent
0867787a38
commit
0f69787599
65
net-snmp-5.9-rpmdb.patch
Normal file
65
net-snmp-5.9-rpmdb.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From ed4ee14af5b83fa4a86dfaa783f841d3e8545ce4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Josef=20=C5=98=C3=ADdk=C3=BD?= <jridky@redhat.com>
|
||||
Date: Wed, 9 Aug 2023 16:51:28 +0200
|
||||
Subject: [PATCH] Add support for RPM SQLite DB background.
|
||||
|
||||
From RPM 4.16 the SQLite support is available for RPM DB.
|
||||
After https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb, rpm changed
|
||||
it's background DB from Berkeley to SQLite in Fedora.
|
||||
Net-SNMP is using hard coded paths to determine where RPM DB files are.
|
||||
|
||||
This update is adding check for rpmdb.sqlite file in order to be able
|
||||
invalidate internal cache after system package change.
|
||||
|
||||
Closes #596
|
||||
---
|
||||
agent/mibgroup/host/data_access/swinst_rpm.c | 18 +++++++++++++-----
|
||||
agent/mibgroup/host/hr_swinst.c | 3 +++
|
||||
2 files changed, 16 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/agent/mibgroup/host/data_access/swinst_rpm.c b/agent/mibgroup/host/data_access/swinst_rpm.c
|
||||
index 050edff307..7ad91a3194 100644
|
||||
--- a/agent/mibgroup/host/data_access/swinst_rpm.c
|
||||
+++ b/agent/mibgroup/host/data_access/swinst_rpm.c
|
||||
@@ -73,15 +73,23 @@ 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\n");
|
||||
- pkg_directory[0] = '\0';
|
||||
- }
|
||||
+#endif
|
||||
}
|
||||
|
||||
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-07-31 11:37:44.855071535 +0200
|
||||
+++ b/agent/mibgroup/host/hr_swinst.c 2023-08-14 12:45:14.846357019 +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
|
@ -10,7 +10,7 @@
|
||||
Summary: A collection of SNMP protocol tools and libraries
|
||||
Name: net-snmp
|
||||
Version: 5.9.3
|
||||
Release: 7%{?dist}
|
||||
Release: 8%{?dist}
|
||||
Epoch: 1
|
||||
|
||||
License: Net-SNMP and OpenSSL
|
||||
@ -52,6 +52,7 @@ Patch22: net-snmp-libs-misunderstanding.patch
|
||||
Patch23: net-snmp-5.9-CVE-2022-44792-44793.patch
|
||||
Patch24: net-snmp-5.9-ipv6-disable-leak.patch
|
||||
Patch25: net-snmp-5.9-sendmsg-error-code.patch
|
||||
Patch26: net-snmp-5.9-rpmdb.patch
|
||||
|
||||
# Modern RPM API means at least EL6
|
||||
Patch101: net-snmp-5.8-modern-rpm-api.patch
|
||||
@ -139,8 +140,21 @@ applications for use with the NET-SNMP project's network management
|
||||
tools. You'll also need to have the net-snmp and net-snmp-utils
|
||||
packages installed.
|
||||
|
||||
%package perl-module
|
||||
Summary: The perl NET-SNMP module
|
||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}, perl-interpreter
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: perl-generators
|
||||
|
||||
%description perl-module
|
||||
The net-snmp-perl package contains the perl files to use SNMP from within
|
||||
Perl.
|
||||
|
||||
Install the net-snmp-perl package, if you want to use SNMP with perl.
|
||||
|
||||
|
||||
%package perl
|
||||
Summary: The perl NET-SNMP module and the mib2c tool
|
||||
Summary: The perl-based utilities and the mib2c tool
|
||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}, perl-interpreter
|
||||
Requires: %{name}-agent-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
@ -148,15 +162,17 @@ BuildRequires: perl-interpreter
|
||||
BuildRequires: perl-generators
|
||||
|
||||
%description perl
|
||||
The net-snmp-perl package contains the perl files to use SNMP from within
|
||||
Perl.
|
||||
The net-snmp-perl package contains the utilities written in perl.
|
||||
|
||||
Install the net-snmp-perl package, if you want to use mib2c or SNMP
|
||||
with perl.
|
||||
Install the net-snmp-perl package, if you want to use mib2c or other
|
||||
perl utilities. Use the net-snmp-perl-module package instead to get the
|
||||
SNMP perl module.
|
||||
|
||||
%package gui
|
||||
Summary: An interactive graphical MIB browser for SNMP
|
||||
Requires: perl-Tk, net-snmp-perl%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: perl-Tk, %{name}-perl-module%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: perl-generators
|
||||
|
||||
%description gui
|
||||
The net-snmp-gui package contains tkmib utility, which is a graphical user
|
||||
@ -228,6 +244,7 @@ cp %{SOURCE10} .
|
||||
%patch 23 -p1
|
||||
%patch 24 -p1 -b .ipv6-disable-leak
|
||||
%patch 25 -p1 -b .sendmsg-error-code
|
||||
%patch 26 -p1 -b .rpmdbpatch
|
||||
|
||||
%patch 101 -p1 -b .modern-rpm-api
|
||||
%patch 102 -p1
|
||||
@ -342,6 +359,7 @@ rm -f %{buildroot}/%{_mandir}/man1/fixproc*
|
||||
rm -f %{buildroot}/%{_bindir}/ipf-mod.pl
|
||||
rm -f %{buildroot}/%{_libdir}/*.la
|
||||
rm -f %{buildroot}/%{_libdir}/libsnmp*
|
||||
rm -f %{buildroot}/%{_libdir}/perl5/vendor_perl/Bundle/MakefileSubs.pm
|
||||
|
||||
# remove special perl files
|
||||
find %{buildroot} -name perllocal.pod \
|
||||
@ -451,6 +469,12 @@ LD_LIBRARY_PATH=%{buildroot}/%{_libdir} make test
|
||||
%attr(0755,root,root) %{_bindir}/net-snmp-config*
|
||||
%attr(0644,root,root) %{_mandir}/man1/net-snmp-config*.1.*
|
||||
|
||||
%files perl-module
|
||||
%attr(0644,root,root) %{_mandir}/man3/*.3pm.*
|
||||
%{perl_vendorarch}/*SNMP*
|
||||
%{perl_vendorarch}/auto/*SNMP*
|
||||
%{perl_vendorarch}/auto/Bundle/*SNMP*
|
||||
|
||||
%files perl
|
||||
%{_bindir}/mib2c-update
|
||||
%{_bindir}/mib2c
|
||||
@ -462,13 +486,8 @@ LD_LIBRARY_PATH=%{buildroot}/%{_libdir} make test
|
||||
%{_datadir}/snmp/*.pl
|
||||
%{_bindir}/traptoemail
|
||||
%attr(0644,root,root) %{_mandir}/man[15]/mib2c*
|
||||
%attr(0644,root,root) %{_mandir}/man3/*.3pm.*
|
||||
%attr(0644,root,root) %{_mandir}/man1/traptoemail*.1*
|
||||
%attr(0644,root,root) %{_mandir}/man1/snmp-bridge-mib.1*
|
||||
%{perl_vendorarch}/*SNMP*
|
||||
%{perl_vendorarch}/auto/*SNMP*
|
||||
%{perl_vendorarch}/auto/Bundle/*SNMP*
|
||||
%{perl_vendorarch}/Bundle/MakefileSubs.pm
|
||||
|
||||
%files -n python3-net-snmp
|
||||
%doc README
|
||||
@ -496,6 +515,13 @@ LD_LIBRARY_PATH=%{buildroot}/%{_libdir} make test
|
||||
%{_libdir}/libnetsnmptrapd*.so.%{soname}*
|
||||
|
||||
%changelog
|
||||
* Mon Aug 14 2023 Josef Ridky <jridky@redhat.com> - 1:5.9.3-8
|
||||
- Fix warning for RPM DB
|
||||
- split perl module into separate package that doesn't pull in gcc and
|
||||
other build dependencies (thanks Chris Adams)
|
||||
- don't install MakefileSubs.pm - it's just needed at module build time
|
||||
(thanks Chris Adams)
|
||||
|
||||
* Tue Aug 01 2023 Josef Ridky <jridky@redhat.com> - 1:5.9.3-7
|
||||
- Sync fixes with RHEL
|
||||
- Fix sendmesg error code change for new kernel
|
||||
|
Loading…
Reference in New Issue
Block a user