[Bug 226192] Merge Review: net-snmp

bugzilla at redhat.com bugzilla at redhat.com
Sun Feb 18 18:56:06 UTC 2007


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Merge Review: net-snmp


https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=226192





------- Additional Comments From tibbs at math.uh.edu  2007-02-18 13:56 EST -------
This, I think, is going to be a difficult one.

First, this takes a while to build, even on my 8-way box.  Is there some reason
why none of the make calls use %{?smp_mflags} ?

Now, loads upon loads of rpmlint warnings:

rpmlint of SRPM:
W: net-snmp strange-permission net-snmptrapd.init 0755
W: net-snmp strange-permission ucd5820stat 0755
W: net-snmp strange-permission net-snmpd.init 0755
W: net-snmp strange-permission net-snmp-config 0755
   I wouldn't worry about these; rpmlint just doesn't like executable files in
   an srpm.

W: net-snmp unversioned-explicit-obsoletes ucd-snmp
W: net-snmp unversioned-explicit-obsoletes ucd-snmp-utils
W: net-snmp unversioned-explicit-obsoletes ucd-snmp-devel
   I can't see any Fedora release where ucd-snmp was shipped.  These should
   just go away.

W: net-snmp rpm-buildroot-usage %build perl Makefile.PL -NET-SNMP-IN-SOURCE=true
PREFIX=${RPM_BUILD_ROOT}/%{_prefix} INSTALLDIRS=vendor -NET-SNMP-CONFIG="sh
../../net-snmp-config"
   rpmlint doesn't like to see the buildroot mentioned explicitly outside of
   %install, but in this case I think it's warranted.

W: net-snmp mixed-use-of-spaces-and-tabs (spaces: line 69, tab: line 161)
   It's good to be consistent with your indentation if possible, but this
   complaint is a bit odd in any case.

rpmlint of RPMs:
W: net-snmp incoherent-version-in-changelog 5.4-8 1:5.4-8.fc7
   I guess rpmlint wants to see the epoch in the changelog, but this isn't
   required by the guidelines.

E: net-snmp obsolete-not-provided ucd-snmp
E: net-snmp-devel obsolete-not-provided ucd-snmp-devel
E: net-snmp-utils obsolete-not-provided ucd-snmp-utils
   It's bad to obsolete a package without providing it.  But this should go
   away anyway.
 
E: net-snmp binary-or-shlib-defines-rpath /usr/sbin/snmpd
['/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE', '/usr/lib64']
E: net-snmp binary-or-shlib-defines-rpath /usr/sbin/snmptrapd
['/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE', '/usr/lib64']
E: net-snmp-perl binary-or-shlib-defines-rpath
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/NetSNMP/TrapReceiver/TrapReceiver.so
['/usr/lib64', '/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE']
   I've never seen the Perl module path in one of these warnings, and it
   seems really odd to me.  Even if rpath was permissible, why would a
   compiled executable need an rpath including a Perl module directory?

E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpset ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpusm ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/encode_keychange
['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpdelta ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmptest ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpstatus ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpdf ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpwalk ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmptrap ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpbulkget ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpnetstat ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpget ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmptable ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpvacm ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmptranslate
['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpgetnext ['/usr/lib64']
E: net-snmp-utils binary-or-shlib-defines-rpath /usr/bin/snmpbulkwalk ['/usr/lib64']
   These are at least the regular form of this error, but still need to be
   fixed.  The extras buildsys wouldn't build this package due to these.

E: net-snmp script-without-shebang /usr/share/snmp/mib2c.perl.conf
E: net-snmp script-without-shebang /usr/share/snmp/snmp_perl.pl
E: net-snmp script-without-shebang /usr/share/snmp/snmp_perl_trapd.pl
E: net-snmp script-without-shebang /usr/share/snmp/mib2c.row.conf
E: net-snmp-perl script-without-shebang
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/NetSNMP/agent/Support.pm
   Why are these executable?  If they're meant to be executed, they need to
   have shebang lines.

E: net-snmp incoherent-logrotate-file /etc/logrotate.d/snmpd
   rpmlint wants to see the logrotate file named after the package, but I
   think this is bogus in this case.

W: net-snmp spurious-executable-perm /usr/share/doc/net-snmp-5.4/ipf-mod.pl
W: net-snmp spurious-executable-perm /usr/share/doc/net-snmp-5.4/passtest
W: net-snmp doc-file-dependency /usr/share/doc/net-snmp-5.4/ipf-mod.pl /usr/bin/perl
   Documentation should not be executable.

E: net-snmp executable-marked-as-config-file /etc/rc.d/init.d/snmptrapd
E: net-snmp executable-marked-as-config-file /etc/rc.d/init.d/snmpd
   Files in init.d don't generally need to be marked %config and certainly
   shouldn't be marked noreplace.
 
W: net-snmp dangerous-command-in-%preun rm
   Shouldn't the file that's deleted be %ghost'ed instead?

W: net-snmp-debuginfo spurious-executable-perm
/usr/src/debug/net-snmp-5.4/agent/helpers/table_row.c
   The source should definitely not be executable.

W: net-snmp-devel summary-ended-with-dot The development environment for the
NET-SNMP project.
W: net-snmp-libs summary-ended-with-dot The NET-SNMP runtime libraries.
W: net-snmp-perl summary-ended-with-dot The perl NET-SNMP module and the mib2c tool.
W: net-snmp-utils summary-ended-with-dot Network management utilities using
SNMP, from the NET-SNMP project.
   Trivial to fix.

W: net-snmp-libs no-documentation
   This is OK.

E: net-snmp-perl non-standard-executable-perm
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/NetSNMP/agent/Support.pm
0555
   Should be mode 0755, unless there's some reason for it to be this way.
   
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmpagent.so.15.0.0
netsnmp_udp_parse_security
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmpagent.so.15.0.0
netsnmp_UnixDomain
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmpagent.so.15.0.0
netsnmp_udp6_parse_security
W: net-snmp-libs undefined-non-weak-symbol
/usr/lib64/libnetsnmphelpers.so.15.0.0 snmp_free_var
W: net-snmp-libs undefined-non-weak-symbol
/usr/lib64/libnetsnmphelpers.so.15.0.0 netsnmp_ncompare_netsnmp_index
W: net-snmp-libs undefined-non-weak-symbol
/usr/lib64/libnetsnmphelpers.so.15.0.0 netsnmp_compare_netsnmp_index
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmptrapd.so.15.0.0
netsnmp_snmpTCPDomain
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmptrapd.so.15.0.0
dropauth
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmptrapd.so.15.0.0
SyslogTrap
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmpmibs.so.15.0.0
snmp_enableauthentrapsset
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmpmibs.so.15.0.0
usmNoPrivProtocol
W: net-snmp-libs undefined-non-weak-symbol /usr/lib64/libnetsnmpmibs.so.15.0.0
usmNoAuthProtocol
   [etc...]
   There are several hundred of these.  Generally we try to fix them if we
   can, because they can cause linkage errors or code using this library.

W: net-snmp-libs unused-direct-shlib-dependency
/usr/lib64/libnetsnmpagent.so.15.0.0 /lib64/libcrypto.so.6
W: net-snmp-libs unused-direct-shlib-dependency
/usr/lib64/libnetsnmphelpers.so.15.0.0 /lib64/libcrypto.so.6
W: net-snmp-libs unused-direct-shlib-dependency
/usr/lib64/libnetsnmptrapd.so.15.0.0 /lib64/libcrypto.so.6
W: net-snmp-libs unused-direct-shlib-dependency
/usr/lib64/libnetsnmpmibs.so.15.0.0 /lib64/libcrypto.so.6

And a few other things found in review:

I can't fetch the source from the Source0: URL; there is no FTP site
at net-snmp.sourceforge.net.  The Source0: URL should, I think, be 
http://dl.sourceforge.net/net-snmp/net-snmp-%{major_ver}.tar.gz

BuildRoot should be 
   %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

I think it's best to just use a license tag of "BSD", since even the
"BSD-like" CMU license is really just BSD.

The scriptlet dependencies are a bit odd; there is only
   Requires(pre): /sbin/chkconfig
but there's no %pre scriptlet.  You should use:
   Requires(post): /sbin/chkconfig
   Requires(preun): /sbin/chkconfig
   Requires(preun): /sbin/service
   Requires(preun): /bin/rm
and if you're going to call chkconfig with a full path, you should do the same
for service.

There's a test suite; has anyone looked into running it at build time?

The -devel package includes static libs, which should not generally be shipped
in Fedora.

Review:
* source files match upstream:
   2f43cd6f3c4066f8c17fdc47931a96c1fce808c9d1dd74bcb5a79d9d29d5f947
   net-snmp-5.4.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
   (Well, the spec is honestly a bit messy, but it's a messy package.)
* dist tag is present.
X build root is not correct.
? license field matches the actual license.
   Probably best to just say "BSD" here.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper
   (You don't actually need to list perl, coreutils, grep, sed, or findutils.)
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* debuginfo package looks complete.
X rpmlint has many valid complaints.
* final provides and requires seem sane:
  net-snmp-5.4-8.fc7.x86_64.rpm
   config(net-snmp) = 1:5.4-8.fc7
   net-snmp = 1:5.4-8.fc7
  =
   /bin/bash
   /bin/sh
   /sbin/chkconfig
   /usr/bin/perl
   config(net-snmp) = 1:5.4-8.fc7
   libcrypt.so.1()(64bit)
   libcrypto.so.6()(64bit)
   libnetsnmp.so.15()(64bit)
   libnetsnmpagent.so.15()(64bit)
   libnetsnmphelpers.so.15()(64bit)
   libnetsnmpmibs.so.15()(64bit)
   libnetsnmptrapd.so.15()(64bit)
   libperl.so()(64bit)
   libsensors.so.3()(64bit)
   libwrap.so.0()(64bit)

  net-snmp-devel-5.4-8.fc7.x86_64.rpm
   net-snmp-devel = 1:5.4-8.fc7
  =
   /bin/sh
   beecrypt-devel
   elfutils-devel
   elfutils-libelf-devel
   libnetsnmp.so.15()(64bit)
   libnetsnmpagent.so.15()(64bit)
   libnetsnmphelpers.so.15()(64bit)
   libnetsnmpmibs.so.15()(64bit)
   libnetsnmptrapd.so.15()(64bit)
   libsnmp.so.15()(64bit)
   lm_sensors-devel
   net-snmp = 1:5.4
   rpm-devel
   tcp_wrappers-devel

  net-snmp-libs-5.4-8.fc7.x86_64.rpm
   libnetsnmp.so.15()(64bit)
   libnetsnmpagent.so.15()(64bit)
   libnetsnmphelpers.so.15()(64bit)
   libnetsnmpmibs.so.15()(64bit)
   libnetsnmptrapd.so.15()(64bit)
   libsnmp.so.15()(64bit)
   net-snmp-libs = 1:5.4-8.fc7
  =
   /sbin/ldconfig
   libcrypto.so.6()(64bit)
   libnetsnmp.so.15()(64bit)
   libnetsnmpagent.so.15()(64bit)
   libnetsnmphelpers.so.15()(64bit)
   libnetsnmpmibs.so.15()(64bit)
   libnetsnmptrapd.so.15()(64bit)
   libsnmp.so.15()(64bit)

? %check is not present but there seems to be a test suite.
* shared libraries present; ldconfig is called properly.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
X file permissions are appropriate.
   (various executable source files and bits of documentation)
X scriptlets present without proper dependencies.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel subpackage.
* no pkgconfig files.
* no libtool .la droppings.
X static libraries are present


-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.




More information about the Fedora-package-review mailing list