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
|
Summary: A collection of SNMP protocol tools and libraries
|
||||||
Name: net-snmp
|
Name: net-snmp
|
||||||
Version: 5.9.3
|
Version: 5.9.3
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
|
|
||||||
License: Net-SNMP and OpenSSL
|
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
|
Patch23: net-snmp-5.9-CVE-2022-44792-44793.patch
|
||||||
Patch24: net-snmp-5.9-ipv6-disable-leak.patch
|
Patch24: net-snmp-5.9-ipv6-disable-leak.patch
|
||||||
Patch25: net-snmp-5.9-sendmsg-error-code.patch
|
Patch25: net-snmp-5.9-sendmsg-error-code.patch
|
||||||
|
Patch26: net-snmp-5.9-rpmdb.patch
|
||||||
|
|
||||||
# Modern RPM API means at least EL6
|
# Modern RPM API means at least EL6
|
||||||
Patch101: net-snmp-5.8-modern-rpm-api.patch
|
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
|
tools. You'll also need to have the net-snmp and net-snmp-utils
|
||||||
packages installed.
|
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
|
%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}-libs%{?_isa} = %{epoch}:%{version}-%{release}, perl-interpreter
|
||||||
Requires: %{name}-agent-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-agent-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
@ -148,15 +162,17 @@ BuildRequires: perl-interpreter
|
|||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
|
|
||||||
%description perl
|
%description perl
|
||||||
The net-snmp-perl package contains the perl files to use SNMP from within
|
The net-snmp-perl package contains the utilities written in perl.
|
||||||
Perl.
|
|
||||||
|
|
||||||
Install the net-snmp-perl package, if you want to use mib2c or SNMP
|
Install the net-snmp-perl package, if you want to use mib2c or other
|
||||||
with perl.
|
perl utilities. Use the net-snmp-perl-module package instead to get the
|
||||||
|
SNMP perl module.
|
||||||
|
|
||||||
%package gui
|
%package gui
|
||||||
Summary: An interactive graphical MIB browser for SNMP
|
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
|
%description gui
|
||||||
The net-snmp-gui package contains tkmib utility, which is a graphical user
|
The net-snmp-gui package contains tkmib utility, which is a graphical user
|
||||||
@ -228,6 +244,7 @@ cp %{SOURCE10} .
|
|||||||
%patch 23 -p1
|
%patch 23 -p1
|
||||||
%patch 24 -p1 -b .ipv6-disable-leak
|
%patch 24 -p1 -b .ipv6-disable-leak
|
||||||
%patch 25 -p1 -b .sendmsg-error-code
|
%patch 25 -p1 -b .sendmsg-error-code
|
||||||
|
%patch 26 -p1 -b .rpmdbpatch
|
||||||
|
|
||||||
%patch 101 -p1 -b .modern-rpm-api
|
%patch 101 -p1 -b .modern-rpm-api
|
||||||
%patch 102 -p1
|
%patch 102 -p1
|
||||||
@ -342,6 +359,7 @@ rm -f %{buildroot}/%{_mandir}/man1/fixproc*
|
|||||||
rm -f %{buildroot}/%{_bindir}/ipf-mod.pl
|
rm -f %{buildroot}/%{_bindir}/ipf-mod.pl
|
||||||
rm -f %{buildroot}/%{_libdir}/*.la
|
rm -f %{buildroot}/%{_libdir}/*.la
|
||||||
rm -f %{buildroot}/%{_libdir}/libsnmp*
|
rm -f %{buildroot}/%{_libdir}/libsnmp*
|
||||||
|
rm -f %{buildroot}/%{_libdir}/perl5/vendor_perl/Bundle/MakefileSubs.pm
|
||||||
|
|
||||||
# remove special perl files
|
# remove special perl files
|
||||||
find %{buildroot} -name perllocal.pod \
|
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(0755,root,root) %{_bindir}/net-snmp-config*
|
||||||
%attr(0644,root,root) %{_mandir}/man1/net-snmp-config*.1.*
|
%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
|
%files perl
|
||||||
%{_bindir}/mib2c-update
|
%{_bindir}/mib2c-update
|
||||||
%{_bindir}/mib2c
|
%{_bindir}/mib2c
|
||||||
@ -462,13 +486,8 @@ LD_LIBRARY_PATH=%{buildroot}/%{_libdir} make test
|
|||||||
%{_datadir}/snmp/*.pl
|
%{_datadir}/snmp/*.pl
|
||||||
%{_bindir}/traptoemail
|
%{_bindir}/traptoemail
|
||||||
%attr(0644,root,root) %{_mandir}/man[15]/mib2c*
|
%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/traptoemail*.1*
|
||||||
%attr(0644,root,root) %{_mandir}/man1/snmp-bridge-mib.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
|
%files -n python3-net-snmp
|
||||||
%doc README
|
%doc README
|
||||||
@ -496,6 +515,13 @@ LD_LIBRARY_PATH=%{buildroot}/%{_libdir} make test
|
|||||||
%{_libdir}/libnetsnmptrapd*.so.%{soname}*
|
%{_libdir}/libnetsnmptrapd*.so.%{soname}*
|
||||||
|
|
||||||
%changelog
|
%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
|
* Tue Aug 01 2023 Josef Ridky <jridky@redhat.com> - 1:5.9.3-7
|
||||||
- Sync fixes with RHEL
|
- Sync fixes with RHEL
|
||||||
- Fix sendmesg error code change for new kernel
|
- Fix sendmesg error code change for new kernel
|
||||||
|
Loading…
Reference in New Issue
Block a user