Description of problem: perl dependencies in plugins are wrapped in eval to not make package managers pick them up Version-Release number of selected component (if applicable): munin-1.2.6-1 How reproducible: allways Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: munin-node really depends on a few perl modules to work right, these are wrapped in evals to not fail while using automatic configuration. These modules should be a dependency of munin-node. All these modules are either in the standard perl distribution or in fedora and EPEL. These modules should also be listed as a requirement: HTTP::Date IO::Socket LWP::UserAgent MIME::Base64 Net::hostent Net::IRC Net::Netmask # grep -wr eval /usr/share/munin/plugins/|grep -i require /usr/share/munin/plugins/apache_accesses:if (! eval "require LWP::UserAgent;") /usr/share/munin/plugins/apache_processes:if (! eval "require LWP::UserAgent;") /usr/share/munin/plugins/apache_volume:if (! eval "require LWP::UserAgent;") /usr/share/munin/plugins/dhcpd3:if(! eval "require Net::Netmask") { /usr/share/munin/plugins/dhcpd3:if(! eval "require HTTP::Date") { /usr/share/munin/plugins/ircu:if (! eval "require Net::IRC;") /usr/share/munin/plugins/squid_cache:if (! eval "require IO::Socket;") /usr/share/munin/plugins/squid_cache:if (! eval "require MIME::Base64;") /usr/share/munin/plugins/squid_icp:if (! eval "require IO::Socket;") /usr/share/munin/plugins/squid_icp:if (! eval "require MIME::Base64;") /usr/share/munin/plugins/squid_icp:if (! eval "require Net::hostent;") /usr/share/munin/plugins/squid_requests:if (! eval "require IO::Socket;") /usr/share/munin/plugins/squid_requests:if (! eval "require MIME::Base64;") /usr/share/munin/plugins/squid_traffic:if (! eval "require IO::Socket;") /usr/share/munin/plugins/squid_traffic:if (! eval "require MIME::Base64;")
I'm not sure about this one... upstream is making those conditional, ie it will use them if they are installed, but won't cause an error if not. Should we really require every munin-node install to have these optional modules even if they don't run squid or apache or the like? I guess another alternative would be to split out the plugins as subpackages, but that could be a hassle to maintain, especially since they are all in the same upstream source. Are you seeing problems due to this?
I'm inclined to just leave things as they are right now. Splitting out subpackages seems like a lot of overhead for single plugins, and requiring these things that only make sense for specific plugins would pull in tons of deps that 99% of people don't need. Perhaps adding a note about this to a README would suffice?
I'm going to go ahead and close this now. Roy: If you have additional thoughts, or info here feel free to re-open...