Bug 457839
| Summary: | Review Request: rubygem-cobbler - Provides Ruby bindings to interact with a Cobbler server. | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Darryl L. Pierce <dpierce> |
| Component: | Package Review | Assignee: | Jason Tibbitts <j> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | bkearney, fedora-package-review, j, kevin, notting, tross |
| Target Milestone: | --- | Flags: | j:
fedora-review+
kevin: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2008-12-03 17:56: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
Darryl L. Pierce
2008-08-04 21:18:26 UTC
* General
OK - Package name
But why a gem?
XX - License info is accurate
Specify LGPL based on COPYING File
OK - License tag is correct and licenses are approved
OK - License files are installed as %doc
OK - Specfile name
XX - Specfile is legible
Explicitly list the test files, and their permissions. No Loops.
OK - No prebuilt binaries included
OK - BuildRoot value (one of the recommended values)
OK - PreReq not used
OK - Source md5sum matches upstream
OK - No hardcoded pathnames
OK - Package owns all the files it installs
OK - 'Requires' create needed unowned directories
XX - Package builds successfully on i386 and x86_64 (mock)
OUTPUT of "rpmbuild --rebuild rubygem-cobbler-0.0.1-1.fc9.src.rpm "
Installing rubygem-cobbler-0.0.1-1.fc9.src.rpm
warning: user mcpierce does not exist - using root
warning: group mcpierce does not exist - using root
warning: user mcpierce does not exist - using root
warning: group mcpierce does not exist - using root
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.30412
+ umask 022
+ cd /home/bkearney/rpmbuild/BUILD
/var/tmp/rpm-tmp.30412: line 23: cd: /home/bkearney/rpmbuild/BUILD: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.30412 (%prep)
OUTPUT of "rpmbuild -bb rubygem-cobbler.spec"
Processing files: rubygem-cobbler-0.0.1-1.fc9
warning: File listed twice: /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/COPYING
warning: File listed twice: /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/NEWS
warning: File listed twice: /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/README
warning: File listed twice: /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/config/cobbler.yml
Provides: config(rubygem-cobbler) = 0.0.1-1.fc9 rubygem(cobbler) = 0.0.1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
Requires: /usr/bin/ruby config(rubygem-cobbler) = 0.0.1-1.fc9 rubygems
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/rubygem-cobbler-0.0.1-1.fc9-root-bkearney
Wrote: /home/bkearney/rpmbuild/RPMS/noarch/rubygem-cobbler-0.0.1-1.fc9.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.53996
OK - BuildRequires sufficient
OK - File permissions set properly
OK - Macro usage is consistent
XX - rpmlint is silent
rpmlint rubygem-cobbler-0.0.1-1.fc9.src.rpm
rubygem-cobbler.src: W: mixed-use-of-spaces-and-tabs (spaces: line 34, tab: line 8)
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
rpmlint rubygem-cobbler-0.0.1-1.fc9.noarch.rpm
rubygem-cobbler.noarch: E: file-in-usr-marked-as-conffile /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/config/cobbler.yml
rubygem-cobbler.noarch: W: conffile-without-noreplace-flag /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/config/cobbler.yml
1 packages and 0 specfiles checked; 1 errors, 1 warnings.
* Package a rubygem
OK - Package is named rubygem-%{gemname}
OK - Source points to full URL of gem
OK - Package version identical with gem version
OK - Package Requires and BuildRequires rubygems
OK - Package provides rubygem(%{gemname}) = %version
OK - Package requires gem dependencies correctly
OK - %prep and %build are empty
XX - %gemdir defined properly, and gem installed into it
[bkearney@localhost noarch]$ sudo rpm --install rubygem-cobbler-0.0.1-1.fc9.noarch.rpm
package rubygem-cobbler-0.0.1-1.fc9.noarch is already installed
[bkearney@localhost noarch]$ irb
irb(main):001:0> require "cobbler"
LoadError: no such file to load -- cobbler
from (irb):1:in `require'
from (irb):1
OK - Package owns its directories under %gemdir
** noarch rubygem
OK - No arch-specific content in %{gemdir}
OK - Package is noarch
To clarify, anything with an XX should be resolved. Also, the output of OUTPUT of "rpmbuild --rebuild rubygem-cobbler-0.0.1-1.fc9.src.rpm " Does build, but gives me the following warnings: [bkearney@localhost pierce]$ rpmbuild --rebuild rubygem-cobbler-0.0.1-1.fc9.src.rpm Installing rubygem-cobbler-0.0.1-1.fc9.src.rpm warning: user mcpierce does not exist - using root warning: group mcpierce does not exist - using root warning: user mcpierce does not exist - using root warning: group mcpierce does not exist - using root Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.20548 + umask 022 If you resolve and reload the rpms I will re-verify. UPDATED: Specfile: http://mcpierce.fedorapeople.org/rubygem-cobbler.spec SRPM: http://mcpierce.fedorapeople.org/rubygem-cobbler-0.0.1-3.fc9.src.rpm RPM: http://mcpierce.fedorapeople.org/rubygem-cobbler-0.0.1-3.fc9.noarch.rpm (In reply to comment #1) > * General > > OK - Package name > But why a gem? It makes it easier for developers to consume it as a dependency, along the lines of Maven. > XX - License info is accurate > > Specify LGPL based on COPYING File Fixed. It is now LGPLv2+, same as Cobbler. > XX - Specfile is legible > > Explicitly list the test files, and their permissions. No Loops. Done. > XX - Package builds successfully on i386 and x86_64 (mock) > > OUTPUT of "rpmbuild --rebuild rubygem-cobbler-0.0.1-1.fc9.src.rpm " > Installing rubygem-cobbler-0.0.1-1.fc9.src.rpm > warning: user mcpierce does not exist - using root > warning: group mcpierce does not exist - using root > warning: user mcpierce does not exist - using root > warning: group mcpierce does not exist - using root > Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.30412 > + umask 022 > + cd /home/bkearney/rpmbuild/BUILD > /var/tmp/rpm-tmp.30412: line 23: cd: /home/bkearney/rpmbuild/BUILD: No such > file or directory > error: Bad exit status from /var/tmp/rpm-tmp.30412 (%prep) This error's not due to the RPM. > XX - rpmlint is silent > > rpmlint rubygem-cobbler-0.0.1-1.fc9.src.rpm > rubygem-cobbler.src: W: mixed-use-of-spaces-and-tabs (spaces: line 34, tab: > line 8) > 1 packages and 0 specfiles checked; 0 errors, 1 warnings. > > rpmlint rubygem-cobbler-0.0.1-1.fc9.noarch.rpm > rubygem-cobbler.noarch: E: file-in-usr-marked-as-conffile > /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/config/cobbler.yml > rubygem-cobbler.noarch: W: conffile-without-noreplace-flag > /usr/lib/ruby/gems/1.8/gems/cobbler-0.0.1/config/cobbler.yml > 1 packages and 0 specfiles checked; 1 errors, 1 warnings. Fixed. > XX - %gemdir defined properly, and gem installed into it > > [bkearney@localhost noarch]$ sudo rpm --install > rubygem-cobbler-0.0.1-1.fc9.noarch.rpm > package rubygem-cobbler-0.0.1-1.fc9.noarch is already installed > [bkearney@localhost noarch]$ irb > irb(main):001:0> require "cobbler" > LoadError: no such file to load -- cobbler > from (irb):1:in `require' > from (irb):1 Fixed. In the GemSpec, require_path was misconfigured as "." rather than "lib". I verified. all changes look good. APPROVED Please follow http://fedoraproject.org/wiki/CVSAdminProcedure and import the package. Close this bug as RAWHIDE once it's been successfully imported and built. New Package CVS Request ======================= Package Name: rubygem-cobbler Short Description: Provides Ruby bindings to interact with a Cobbler server. Owners: mcpierce Branches: F-9 InitialCC: mcpierce Hey Bryan. I don't seem to see you in the packager group... have you been sponsored yet there? You do need to be in that group to approve packages... (In reply to comment #6) > Hey Bryan. I don't seem to see you in the packager group... > have you been sponsored yet there? You do need to be in that group to approve > packages... Ok.. misread the guidelines. Since I did an initial review, but not in the packager group what does darryl need to do next? I was hoping to knock out some of the other ruby package reviews today; one more shouldn't take long, so I'll try to look at this in a bit. I'm going to assign this to myself; I don't mean to steal the ticket, but I fear losing track of it since I see some things that need fixing. OK. First problem: The upstream source does not match what is in this package. I downloaded the src.rpm from comment #3, unpacked it, and used spectool -g to download the Source URLs and compared them. This either points to a naughty upstream which modified the tarball without changing the version (which should never be done) or the tarball was modified before the src.rpm was built (which should only be done in rare circumstances where legalities require it). Wow, unpacking the data.tar.gz file inside the gem gives lots of complaints from tar: tar: examples/has_distro.rb: implausibly old time stamp 1969-12-31 18:00:00 What on earth is going on there? The license of cobbler.rb and all files in lib/cobbler is GPLv2 only. The specfile says LGPLv2+. I see this was discussed earlier but I don't understand why the sources in the tarball contradict the COPYING file in the tarball. In any case, the COPYING file takes second seat here, but I still wouldn't approve this package until the upstream licensing issue is clarified. There seems to be a test suite included; is there any reason for not running it? X source files do not match upstream. * package meets naming and versioning guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * summary is OK. * description is OK. * dist tag is present. * build root is OK. X license field matches the actual license. ? latest version is being packaged. * BuildRequires are proper. * %clean is present. * package builds in mock (rawhide, x86_64). * package installs properly. * rpmlint is silent. * final provides and requires are sane: rubygem(cobbler) = 0.0.1 rubygem-cobbler = 0.0.1-3.fc10 = /usr/bin/ruby rubygems ? %check is not present, but a test suite seems to exist. * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. * file permissions are appropriate. * no scriptlets present. * code, not content. * documentation is small, so no -doc subpackage is necessary. * %docs are not necessary for the proper functioning of the package. * rubygem(%{gemname}) provided. * gems installed properly. * gems installed to proper directory. * gems, cache, and specifications subdirectories owned properly. I've fixed the licensing to state that it is released under LGPLv2.1, and added a call to the tests in the %check section. Specfile: http://mcpierce.fedorapeople.org/rubygem-cobbler.spec SRPM: http://mcpierce.fedorapeople.org/rubygem-cobbler-0.0.2-2.fc9.src.rpm Upstream: http://mcpierce.fedorapeople.org/cobbler-0.0.2.gem Sorry for taking so long; I was confused by the CVS flag being set and thought the review was done. The package in comment 10 doesn't build for me: + rake test /var/tmp/rpm-tmp.1JWf6s: line 29: rake: command not found I urge doing a quick mock or koji scratch build when updating packages so that issues like this become obvious. On the upside, the licensing issue is OK now, and the included gem file now matches upstream. Unpacking it still gives "implausibly old time stamp 1969-12-31" which you didn't seem to address in your comments at all. I find it odd that the "source" directory in the unpacked gem contains the gem again. Is that somehow normal for gems? I've added a build requirement for rubygem-rake which will provide the rake executable needed. As for the dates, not sure what was going on there. I took the gem that was up on fedorapeople.org and unpacked it and saw the same thing you did. I created a whole new gem and unpacked that and things look fine. So I've cleaned out my fedorapeople.org directory and put up only the latest upstream, spec and SRPM. Please download: SPEC: http://mcpierce.fedorapeople.org/rubygem-cobbler.spec SRPM: http://mcpierce.fedorapeople.org/rubygem-cobbler-0.0.2-3.fc9.src.rpm SRC: http://fedorapeople.org/~mcpierce/cobbler-0.0.2.gem Something has gone odd with this package; it seems to require itself in order to build, and since its not in the distro currently I can't build it at all. I'm guessing you meant to add a build dependency on rubygem-rake but instead typoed rubygem-cobbler. Unfortunately, the tests then fail with no such file to load -- flexmock/test_unit so, knowing very little about ruby, I did a yum search and guessed that adding a ruby-flexmock build dependency would work, and amazingly it did. Please, I beg of you: koji build --scratch rubygem-cobbler-0.0.2-3.fc9.src.rpm Takes only a couple of minutes, saves me way more than a couple of minutes. I'm still seeing the weird timestamp issue unpacking the gem but honestly its more of a confusing annoyance than a blocker. At this point I would approve a package fixed as detailed above to build properly. Not sure what's up with the weird timestamp. I built the gem locally and then unpacked it and am getting none of what you're seeing. Is it possible the RPM process is repackaging the gem, like it does with JARs? I took your advice, ran koji local and all built properly. Spec: http://mcpierce.fedorapeople.org/rubygem-cobbler.spec SRPM: http://mcpierce.fedorapeople.org/rubygem-cobbler-0.0.2-4.fc9.src.rpm GEM: http://mcpierce.fedorapeople.org/cobbler-0.0.2.gem rpm doesn't do any kind of repacking of game. I asked folks on IRC to download the GEM URL above and they also saw the bizarre timestamping issue. The package, however, is OK now. APPROVED New Package CVS Request ======================= Package Name: rubygem-cobbler Short Description: Provides Ruby bindings to interact with a Cobbler server. Owners: mcpierce Branches: F-9 F-10 InitialCC: mcpierce cvs done. Package Change Request ====================== Package Name: rubygem-cobbler New Branches: F-8 EL-5 cvs done. Any reason this ticket is stil open, given that the package is already in the relevant stable Fedora branches? None that I'm aware. It can be closed AFAIAC. I don't understand why you didn't just close it, but OK, I'll do it. |