Description of problem: Transaction Check Error: file /usr/lib/nagios/plugins from install of nagios-common-3.4.1-1.fc18.i686 conflicts with file from package nagios-plugins-1.4.15-5.fc17.i686
This problem appeared during the upgrade to nagios-3.3.1-1. I'll request commit rights to the nagios-plugins package to fix it (the nagios-plugins package no longer needs to own /usr/lib{,64}/nagios/plugins since nagios 3.3.1-1; it already requires nagios-common that started owning it in 3.3.1-1). /jpo
I've already updated the nagios-plugins specfile for rawhide (F18). Unfortunately nagios-plugins now fails to build in F18 [1] with the following error (glibc related): ... ./stdio.h:456:1: error: 'gets' undeclared here (not in a function) ... * Koji build of nagios-plugins-1.4.15-6.fc18 http://koji.fedoraproject.org/koji/buildinfo?buildID=327716 Logs: http://kojipkgs.fedoraproject.org/work/tasks/8213/4198213/ /jpo [1] - The same SRPM builds correctly in Fedora 17
(In reply to comment #2) > > ... > ./stdio.h:456:1: error: 'gets' undeclared here (not in a function) > ... > Found the following notes at http://comments.gmane.org/gmane.comp.gnu.coreutils.general/2525 --------- ... Newer glibcs don't declare gets() any more. The glibc ChangeLog has this: 2012-01-12 Marek Polacek <polacek <at> redhat.com> * libio/bits/stdio2.h: Do not define gets for ISO C11, ISO C++11, and _GNU_SOURCE. 2012-01-07 Ulrich Drepper <drepper <at> gmail.com> * libio/stdio.h: Do not declare gets at all for _GNU_SOURCE. 2011-12-23 Ulrich Drepper <drepper <at> gmail.com> [BZ #13528] * libio/stdio.h: Do not declare gets for ISO C11 and _GNU_SOURCE. The comments in glibc/libio/stdio.h now say: The function has been officially removed in ISO C11. This opportunity is used to also remove it from the GNU feature list. It is now only available when explicitly using an old ISO C, Unix, or POSIX standard. ... ---------
Nothing should be using gets these days in any case. It is a security issue to use that function.
(In reply to comment #4) > Nothing should be using gets these days in any case. It is a security issue > to use that function. And nothing is using it. It appears to be the "#undef gets" in stdio.in.h that is causing the problem.
Built for Fedora 18 (with glibc 2.16) RPMS: * nagios-plugins-1.4.15-7.fc18 http://koji.fedoraproject.org/koji/buildinfo?buildID=327828 Patch applied: ---------- --- nagios-plugins-1.4.15-orig/gl/stdio.in.h 2010-07-27 21:47:15.000000000 +0100 +++ nagios-plugins-1.4.15/gl/stdio.in.h 2012-06-26 21:12:47.000000000 +0100 @@ -140,8 +140,10 @@ /* It is very rare that the developer ever has full control of stdin, so any use of gets warrants an unconditional warning. Assume it is always declared, since it is required by C89. */ +#if defined gets #undef gets _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); +#endif #if @GNULIB_FOPEN@ # if @REPLACE_FOPEN@ ----------
Closing (with ticket re-assigned to the nagios-plugins component).
nagios-plugins-1.4.15-7.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/nagios-plugins-1.4.15-7.fc17
nagios-plugins-1.4.15-7.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/nagios-plugins-1.4.15-7.fc16
nagios-plugins-1.4.15-7.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/nagios-plugins-1.4.15-7.el6
nagios-plugins-1.4.15-7.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
nagios-plugins-1.4.15-7.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
nagios-plugins-1.4.15-7.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.