Bug 730888
Summary: | Review Request: nagios-plugins-rhev - Nagios Plugin to monitor RHEV | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Douglas Schilling Landgraf <dougsland> |
Component: | Package Review | Assignee: | James Laska <jlaska> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | jlaska, jturner, notting, package-review |
Target Milestone: | --- | Flags: | jlaska:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | nagios-plugins-rhev-1.0.0-2.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-09-07 00:02:52 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Douglas Schilling Landgraf
2011-08-16 06:33:41 UTC
Taking ownership for package review ... > [ WARN ] MUST: rpmlint must be run on every package # rpmlint nagios-plugins-rhev.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. # rpmlint /var/lib/mock/fedora-16-x86_64/result/nagios-plugins-rhev-1.0.0-1.fc16.noarch.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. # rpmlint /var/lib/mock/fedora-16-x86_64/result/nagios-plugins-rhev-1.0.0-1.fc16.src.rpm nagios-plugins-rhev.src: W: file-size-mismatch nagios-plugins-rhev-1.0.0.tar.gz = 9403, https://github.com/dougsland/nagios-plugins-rhev/raw/master/nagios-plugins-rhev-1.0.0.tar.gz = 1 1 packages and 0 specfiles checked; 0 errors, 1 warnings. > [ OK ] MUST: The package must be named according to the Package Naming > Guidelines > [ OK ] MUST: The spec file name must match the base package %{name} [...] > [ ] MUST: The package must meet the Packaging Guidelines > [ OK ] MUST: The package must be licensed with a Fedora approved license > and meet the Licensing Guidelines > [ WARN ] MUST: The License field in the package spec file must match the > actual license The upstream project page shows, GPLv2 while the .spec lists GPLv2+. I don't believe those are in conflict > [ OK ] MUST: If (and only if) the source package includes the text of the > license(s) in its own file, then that file, containing the text of > the license(s) for the package must be included in %doc COPYING is included in %doc > [ OK ] MUST: The spec file must be written in American English. > [ OK ] MUST: The spec file for the package MUST be legible. > [ OK ] MUST: The sources used to build the package must match the upstream > source, as provided in the spec URL. Reviewers should use md5sum for > this task. If no upstream URL can be specified for this package, > please see the Source URL Guidelines for how to deal with this. # rpm2cpio nagios-plugins-rhev-1.0.0-1.fc15.src.rpm | cpio -id 23 blocks # md5sum nagios-plugins-rhev-1.0.0.tar.gz 85fa94a6bcbf1937ecdf3bd010867559 nagios-plugins-rhev-1.0.0.tar.gz # curl https://github.com/dougsland/nagios-plugins-rhev/raw/master/nagios-plugins-rhev-1.0.0.tar.gz 2>/dev/null | md5sum 987d8ef38a72cdc8811a5752825c160a - > [ OK ] MUST: The package MUST successfully compile and build into binary > rpms on at least one primary architecture Built using mock for -r fedora-16-x86_64 > [ N/A ] MUST: If the package does not successfully compile, build or work on > an architecture, then those architectures should be listed in the > spec in ExcludeArch. Each architecture listed in ExcludeArch MUST > have a bug filed in bugzilla, describing the reason that the package > does not compile/build/work on that architecture. The bug number MUST > be placed in a comment, next to the corresponding ExcludeArch line > [ WARN ] MUST: All build dependencies must be listed in BuildRequires, except > for any that are listed in the exceptions section of the Packaging > Guidelines ; inclusion of those as BuildRequires is optional. Apply > common sense. Should python-paramiko be listed as a Requires? It is imported from within check_rhev. I assume this is a runtime requirement, not a build requirement? Or perhaps both? > [ N/A ] MUST: The spec file MUST handle locales properly. This is done by > using the %find_lang macro. Using %{_datadir}/locale/* is strictly > forbidden > [ N/A ] MUST: Every binary RPM package (or subpackage) which stores shared > library files (not just symlinks) in any of the dynamic linker's > default paths, must call ldconfig in %post and %postun. > [ N/A ] MUST: If the package is designed to be relocatable, the packager must > state this fact in the request for review, along with the > rationalization for relocation of that specific package. Without > this, use of Prefix: /usr is considered a blocker. > [ FAIL ] MUST: A package must own all directories that it creates. If it does > not create a directory that it uses, then it should require a package > which does create that directory. This package should "Requires: nagios-plugins" to ensure that {_libdir}/nagios/plugins is available upon install. > [ OK ] MUST: A package must not contain any duplicate files in the %files > listing. > [ OK ] MUST: Permissions on files must be set properly. Executables should > be set with executable permissions, for example. Every %files section > must include a %defattr(...) line. > [ OK ] MUST: Each package must have a %clean section, which contains rm -rf > %{buildroot} (or $RPM_BUILD_ROOT). > [ OK ] MUST: Each package must consistently use macros. > [ OK ] MUST: The package must contain code, or permissable content. > [ N/A ] MUST: Large documentation files must go in a -doc subpackage. (The > definition of large is left up to the packager's best judgement, but > is not restricted to size. Large can refer to either size or > quantity). > [ OK ] MUST: If a package includes something as %doc, it must not affect the > runtime of the application. To summarize: If it is in %doc, the > program must run properly if it is not present. Only documentation is included in %doc > [ N/A ] MUST: Header files must be in a -devel package. > [ N/A ] MUST: Static libraries must be in a -static package. > [ N/A ] MUST: Packages containing pkgconfig(.pc) files must 'Requires: > pkgconfig' (for directory ownership and usability). > [ N/A ] MUST: If a package contains library files with a suffix (e.g. > libfoo.so.1.1), then library files that end in .so (without suffix) > must go in a -devel package. > [ N/A ] MUST: In the vast majority of cases, devel packages must require the > base package using a fully versioned dependency: Requires: %{name} = > %{version}-%{release} > [ N/A ] MUST: Packages must NOT contain any .la libtool archives, these must > be removed in the spec if they are built. > [ N/A ] MUST: Packages containing GUI applications must include a > %{name}.desktop file, and that file must be properly installed with > desktop-file-install in the %install section. If you feel that your > packaged GUI application does not need a .desktop file, you must put > a comment in the spec file with your explanation. > [ OK ] MUST: Packages must not own files or directories already owned by > other packages. The rule of thumb here is that the first package to > be installed should own the files or directories that other packages > may rely upon. This means, for example, that no package in Fedora > should ever share ownership with any of the files or directories > owned by the filesystem or man package. If you feel that you have a > good reason to own a file or directory that another package owns, > then please present that at package review time. > [ OK ] MUST: At the beginning of %install, each package MUST run rm -rf > %{buildroot} (or $RPM_BUILD_ROOT). > [ OK ] MUST: All filenames in rpm packages must be valid UTF-8. > [ OK ] SHOULD: If the source package does not include license text(s) as > a separate file from upstream, the packager query upstream to include > it. License text included in COPYING file that comes with upstream tarball > [ N/A ] SHOULD: The description and summary sections in the package spec file > should contain translations for supported Non-English languages, if > available. > [ OK ] SHOULD: The reviewer should test that the package builds in mock. http://koji.fedoraproject.org/koji/taskinfo?taskID=3296515 > [ N/A ] SHOULD: The package should compile and build into binary rpms on all > supported architectures. It's a noarch package > [ OK ] SHOULD: The reviewer should test that the package functions as > described. A package should not segfault instead of running, for > example. I didn't fully setup nagios or the plugin, but I did install and run the check_rhev script manually. > [ N/A ] SHOULD: If scriptlets are used, those scriptlets must be sane. This is > vague, and left up to the reviewers judgement to determine sanity. > [ N/A ] SHOULD: Usually, subpackages other than devel should require the base > package using a fully versioned dependency. > [ N/A ] SHOULD: The placement of pkgconfig(.pc) files depends on their > usecase, and this is usually for development purposes, so should be > placed in a -devel pkg. A reasonable exception is that the main pkg > itself is a devel tool not installed in a user runtime, e.g. gcc or > gdb. > [ N/A ] SHOULD: If the package has file dependencies outside of /etc, /bin, > /sbin, /usr/bin, or /usr/sbin consider requiring the package which > provides the file instead of the file itself. > [ WARN ] SHOULD: your package should contain man pages for binaries/scripts. If > it doesn't, work with upstream to add them where they make sense.[34] Not a hard requirement, other nagios-plugins-* don't seem to provide manpages. It might be helpful to include a README == Python == > [ OK ] MUST: Python eggs must be built from source. They cannot simply drop an egg > from upstream into the proper directory. (See prebuilt binaries Guidelines > for details) > [ OK ] MUST: Python eggs must not download any dependencies during the build > process. > [ N/A ] MUST: When building a compat package, it must install using > easy_install -m so it won't conflict with the main package. > [ N/A ] MUST: When building multiple versions (for a compat package) one of the > packages must contain a default version that is usable via "import > MODULE" with no prior setup. == Additional == Since you are also the upstream for this package, I poked around a bit more. Feel free to direct this feedback elsewhere. [ WARN ] - In the upstream setup.py included in the tarball, there appears to be a copy'n'paste error. Should the name be changed to: - setup(name='python-confparser', version='1.0.0', + setup(name='nagios-plugins-rhev', version='1.0.0', [ WARN ] - It's worrisome to edit the check_rhev script directly to setup configuration parameters. Is it possible to setup some sort of /etc/nagios/rhev.cfg (similar to how nrpe does) and add optparse support to check_rhev so the admin can provide alternate configuration files? Hello James, Thanks for your review, please see below my comments/fixes: > [ FAIL ] MUST: A package must own all directories that it creates. If it does > not create a directory that it uses, then it should require a package > which does create that directory. > This package should "Requires: nagios-plugins" to ensure that > {_libdir}/nagios/plugins is available upon install. Fixed. > [ WARN ] SHOULD: your package should contain man pages for > binaries/scripts. If > it doesn't, work with upstream to add them where they make sense.[34] > > Not a hard requirement, other nagios-plugins-* don't seem to provide manpages. > It might be helpful to include a README File README is included already. > [ WARN ] - In the upstream setup.py included in the tarball, there appears > to be a copy'n'paste error. Should the name be changed to: > > - setup(name='python-confparser', version='1.0.0', > + setup(name='nagios-plugins-rhev', version='1.0.0', Fixed > # rpm2cpio nagios-plugins-rhev-1.0.0-1.fc15.src.rpm | cpio -id > 23 blocks > # md5sum nagios-plugins-rhev-1.0.0.tar.gz > 85fa94a6bcbf1937ecdf3bd010867559 nagios-plugins-rhev-1.0.0.tar.gz > > # curl > https://github.com/dougsland/nagios-plugins-rhev/raw/master/nagios-plugins >-rhev-1.0.0.tar.gz > 2>/dev/null | md5sum > 987d8ef38a72cdc8811a5752825c160a - Fixed New files available: https://github.com/dougsland/nagios-plugins-rhev/raw/master/nagios-plugins-rhev-1.0.0.tar.gz https://github.com/dougsland/nagios-plugins-rhev/raw/master/nagios-plugins-rhev-1.0.0-2.fc15.src.rpm Thanks Douglas Forgot to share the spec url: https://github.com/dougsland/nagios-plugins-rhev/raw/master/nagios-plugins-rhev.spec Cheers Douglas Greetings Douglas! Thanks for the quick turnaround on the suggested changes. I have re-reviewed the nagios-plugins-rhev package, and it passes my review. Feel free to request a new SCM branch according to the instructions at https://fedoraproject.org/wiki/Package_SCM_admin_requests. Feedback on resolved issues below. > [ WARN ] - In the upstream setup.py included in the tarball, there appears > to be a copy'n'paste error. The above issue has been resolved > > [ WARN ] MUST: All build dependencies must be listed in BuildRequires, except > > for any that are listed in the exceptions section of the Packaging > > Guidelines ; inclusion of those as BuildRequires is optional. Apply > > common sense. > > Should python-paramiko be listed as a Requires? It is imported from within > check_rhev. I assume this is a runtime requirement, not a build requirement? > Or perhaps both? The above issue has been resolved > [ FAIL ] MUST: A package must own all directories that it creates. If it does > not create a directory that it uses, then it should require a package > which does create that directory. The above issue has been resolved > [ OK ] MUST: The sources used to build the package must match the upstream > source, as provided in the spec URL. Reviewers should use md5sum for > this task. If no upstream URL can be specified for this package, > please see the Source URL Guidelines for how to deal with this. The above issue has been resolved $ md5sum nagios-plugins-rhev-1.0.0*tar* cb19d63804fca11c99996d354bae4d5a nagios-plugins-rhev-1.0.0.tar.gz cb19d63804fca11c99996d354bae4d5a nagios-plugins-rhev-1.0.0.tar.gz.upstream > [ WARN ] MUST: rpmlint must be run on every package The remaining warning regarding file-size-mismatch should not prevent this package from passing review. I have initiated discussion on packaging@ regarding this issue, and it seems related to using github for Source URL's (or the http server/configuration on github). To follow that discussion, refer to ... https://lists.fedoraproject.org/pipermail/packaging/2011-August/007912.html New Package SCM Request ======================= Package Name: nagios-plugins-rhev Short Description: Nagios Plugin - check_rhev Owners: dougsland Branches: F14 F15 F16 EL-5 EL-6 Git done (by process-git-requests). Thanks Jon and James! Cheers Douglas nagios-plugins-rhev-1.0.0-2.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/nagios-plugins-rhev-1.0.0-2.fc14 nagios-plugins-rhev-1.0.0-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/nagios-plugins-rhev-1.0.0-2.fc15 nagios-plugins-rhev-1.0.0-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/nagios-plugins-rhev-1.0.0-2.fc16 nagios-plugins-rhev-1.0.0-2.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/nagios-plugins-rhev-1.0.0-2.el5 nagios-plugins-rhev-1.0.0-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/nagios-plugins-rhev-1.0.0-2.el6 nagios-plugins-rhev-1.0.0-2.fc16 has been pushed to the Fedora 16 testing repository. nagios-plugins-rhev-1.0.0-2.fc14 has been pushed to the Fedora 14 stable repository. nagios-plugins-rhev-1.0.0-2.fc15 has been pushed to the Fedora 15 stable repository. nagios-plugins-rhev-1.0.0-2.fc16 has been pushed to the Fedora 16 stable repository. nagios-plugins-rhev-1.0.0-2.el5 has been pushed to the Fedora EPEL 5 stable repository. nagios-plugins-rhev-1.0.0-2.el6 has been pushed to the Fedora EPEL 6 stable repository. |