[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