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@xxxxxxxxxxx 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. _______________________________________________ Fedora-package-review mailing list Fedora-package-review@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-package-review