Discussion:
[users] Broken package: Package nagios-plugins-dhcp / nagios-plugins-setuid
Nico Schottelius
2012-01-23 10:20:08 UTC
Permalink
Hello,

trying to install nagios-plugins-all results in the following error:

/usr/bin/yum -d 0 -e 0 -y install nagios-plugins-all:

--------------------------------------------------------------------------------
Package nagios-plugins-dhcp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-icmp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-dhcp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-icmp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-dhcp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Error: Package: nagios-plugins-all-1.4.15-2.el6.x86_64 (EPEL)
Requires: nagios-plugins-dhcp
Available: nagios-plugins-dhcp-1.4.15-2.el6.x86_64 (EPEL)
nagios-plugins-dhcp = 1.4.15-2.el6
Error: Package: nagios-plugins-all-1.4.15-2.el6.x86_64 (EPEL)
Requires: nagios-plugins-icmp
Available: nagios-plugins-icmp-1.4.15-2.el6.x86_64 (EPEL)
nagios-plugins-icmp = 1.4.15-2.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

--------------------------------------------------------------------------------

I'm using CentOS 6 with those packages coming from repoforge.

Is this the right list to report / what is the usual approach to fix this
situation?

Cheers,

Nico
--
PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
Nico Kadel-Garcia
2012-01-23 12:13:02 UTC
Permalink
On Mon, Jan 23, 2012 at 5:20 AM, Nico Schottelius
Post by Nico Schottelius
Hello,
That's part of your problem, right there. nagios-plugins-all is from
EPEL. It's a meta package, a list of the nagios plugins provided by
EPEL. But the naming scheme of plugins is different between EPEL and
RPMforge. RPMforge has most of them in the nagios-plugins package
itself, and splits off a few of them into the nagios-plugins-setuid
package, including the check_dhcp.

EPEL splits more of the checks into individual packages, such as
nagios-plugins-dhcp, and chaos is ensuing due to the obsolecence and
merging. If you wind up mixing and matching plugins from the different
repos, I *guarantee* chaos whenever the numbering of the basic
'nagios-plugins' package changes, because the one from RPMforge has
most of the plugins, and the one from EPEL has only the structure for
the *other* packages and plugins. When the 'nagios-plugins' in EPEL
updates ahead of Repoforge, it's going to erase a bunch of plugins
that were in Repoforge. This isn't the case today, but it can lead to
craziness, which I've run into in the past, and dealt with by using
exclude options in the /etc/yum.repos.d files.

In this case, I appreciate the EPEL structure, because it allows me to
install the packages individually as needed. But it's extra work to
maintain, and you wind up with adventures like this one. It would seem
reasonable for the "nagios-plugins-setuid" package from RPMforge to
say "Provides: nagios-plugins-dhcp".

The diff would be something like this:

$ diff -u nagios-plugins.spec.orig nagios-plugins.spec
--- nagios-plugins.spec.orig 2010-11-26 11:22:13.000000000 -0500
+++ nagios-plugins.spec 2012-01-23 07:09:05.102005260 -0500
@@ -23,7 +23,7 @@
Summary: Host/service/network monitoring program plugins for Nagios
Name: nagios-plugins
Version: 1.4.15
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: Applications/System
URL: http://nagiosplug.sourceforge.net/
@@ -87,6 +87,9 @@
Obsoletes: nagios-plugins-icmp <= %{version}-%{release}
Obsoletes: nagios-plugins-dhcp <= %{version}-%{release}

+Provides: nagios-plugins-icmp = %{version}-%{release}
+Provides: nagios-plugins-dhcpp = %{version}-%{release}
+
%description setuid
This package contains the setuid plugins necessary for use with the
Nagios package.
@@ -325,6 +328,10 @@
%{_libdir}/nagios/plugins/check_icmp

%changelog
+* Mon Jan 23 201 Nico Kadel-Garcia <nkadel at gmail.com> - 14.15-3
+- Add Provides: nagios-plugins-dhcp and nagios-plugins-icmp for
+ obsoleted components in nagios-plugins-setuid.
+
* Fri Nov 26 2010 Dag Wieers <dag at wieers.com> - 14.15-2
- Rebuild against radiusclient-ng 0.5.6.
David Hrbáč
2012-01-23 14:45:30 UTC
Permalink
It would seem reasonable for the "nagios-plugins-setuid" package from
RPMforge to say "Provides: nagios-plugins-dhcp". The diff would be
Nico,
Off the list to GitHub with the patch. Thanks,
DH
David Hrbáč
2012-01-23 14:45:30 UTC
Permalink
It would seem reasonable for the "nagios-plugins-setuid" package from
RPMforge to say "Provides: nagios-plugins-dhcp". The diff would be
Nico,
Off the list to GitHub with the patch. Thanks,
DH

Nico Schottelius
2012-01-23 10:20:08 UTC
Permalink
Hello,

trying to install nagios-plugins-all results in the following error:

/usr/bin/yum -d 0 -e 0 -y install nagios-plugins-all:

--------------------------------------------------------------------------------
Package nagios-plugins-dhcp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-icmp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-dhcp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-icmp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Package nagios-plugins-dhcp is obsoleted by nagios-plugins-setuid, but obsoleting package does not provide for requirements
Error: Package: nagios-plugins-all-1.4.15-2.el6.x86_64 (EPEL)
Requires: nagios-plugins-dhcp
Available: nagios-plugins-dhcp-1.4.15-2.el6.x86_64 (EPEL)
nagios-plugins-dhcp = 1.4.15-2.el6
Error: Package: nagios-plugins-all-1.4.15-2.el6.x86_64 (EPEL)
Requires: nagios-plugins-icmp
Available: nagios-plugins-icmp-1.4.15-2.el6.x86_64 (EPEL)
nagios-plugins-icmp = 1.4.15-2.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

--------------------------------------------------------------------------------

I'm using CentOS 6 with those packages coming from repoforge.

Is this the right list to report / what is the usual approach to fix this
situation?

Cheers,

Nico
--
PGP key: 7ED9 F7D3 6B10 81D7 0EC5 5C09 D7DC C8E4 3187 7DF0
Nico Kadel-Garcia
2012-01-23 12:13:02 UTC
Permalink
On Mon, Jan 23, 2012 at 5:20 AM, Nico Schottelius
Post by Nico Schottelius
Hello,
That's part of your problem, right there. nagios-plugins-all is from
EPEL. It's a meta package, a list of the nagios plugins provided by
EPEL. But the naming scheme of plugins is different between EPEL and
RPMforge. RPMforge has most of them in the nagios-plugins package
itself, and splits off a few of them into the nagios-plugins-setuid
package, including the check_dhcp.

EPEL splits more of the checks into individual packages, such as
nagios-plugins-dhcp, and chaos is ensuing due to the obsolecence and
merging. If you wind up mixing and matching plugins from the different
repos, I *guarantee* chaos whenever the numbering of the basic
'nagios-plugins' package changes, because the one from RPMforge has
most of the plugins, and the one from EPEL has only the structure for
the *other* packages and plugins. When the 'nagios-plugins' in EPEL
updates ahead of Repoforge, it's going to erase a bunch of plugins
that were in Repoforge. This isn't the case today, but it can lead to
craziness, which I've run into in the past, and dealt with by using
exclude options in the /etc/yum.repos.d files.

In this case, I appreciate the EPEL structure, because it allows me to
install the packages individually as needed. But it's extra work to
maintain, and you wind up with adventures like this one. It would seem
reasonable for the "nagios-plugins-setuid" package from RPMforge to
say "Provides: nagios-plugins-dhcp".

The diff would be something like this:

$ diff -u nagios-plugins.spec.orig nagios-plugins.spec
--- nagios-plugins.spec.orig 2010-11-26 11:22:13.000000000 -0500
+++ nagios-plugins.spec 2012-01-23 07:09:05.102005260 -0500
@@ -23,7 +23,7 @@
Summary: Host/service/network monitoring program plugins for Nagios
Name: nagios-plugins
Version: 1.4.15
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: Applications/System
URL: http://nagiosplug.sourceforge.net/
@@ -87,6 +87,9 @@
Obsoletes: nagios-plugins-icmp <= %{version}-%{release}
Obsoletes: nagios-plugins-dhcp <= %{version}-%{release}

+Provides: nagios-plugins-icmp = %{version}-%{release}
+Provides: nagios-plugins-dhcpp = %{version}-%{release}
+
%description setuid
This package contains the setuid plugins necessary for use with the
Nagios package.
@@ -325,6 +328,10 @@
%{_libdir}/nagios/plugins/check_icmp

%changelog
+* Mon Jan 23 201 Nico Kadel-Garcia <nkadel at gmail.com> - 14.15-3
+- Add Provides: nagios-plugins-dhcp and nagios-plugins-icmp for
+ obsoleted components in nagios-plugins-setuid.
+
* Fri Nov 26 2010 Dag Wieers <dag at wieers.com> - 14.15-2
- Rebuild against radiusclient-ng 0.5.6.
Loading...