Bug 457839 - Review Request: rubygem-cobbler - Provides Ruby bindings to interact with a Cobbler server.
Review Request: rubygem-cobbler - Provides Ruby bindings to interact with a C...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-04 17:18 EDT by Darryl L. Pierce
Modified: 2015-06-21 20:06 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-12-03 12:56:52 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Darryl L. Pierce 2008-08-04 17:18:26 EDT
Spec URL: 
http://mcpierce.fedorapeople.org/rubygem-cobbler.spec
SRPM URL: http://mcpierce.fedorapeople.org/rubygem-cobbler-0.0.1-1.fc9.src.rpm
Description: Provides Ruby bindings to interact with a Cobbler server.
Comment 1 Bryan Kearney 2008-08-12 17:07:05 EDT
* 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
Comment 2 Bryan Kearney 2008-08-14 08:28:19 EDT
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.
Comment 3 Darryl L. Pierce 2008-08-14 08:47:48 EDT
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".
Comment 4 Bryan Kearney 2008-08-19 08:54:36 EDT
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.
Comment 5 Darryl L. Pierce 2008-08-21 14:07:17 EDT
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
Comment 6 Kevin Fenzi 2008-08-23 13:18:57 EDT
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...
Comment 7 Bryan Kearney 2008-08-26 10:03:57 EDT
(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?
Comment 8 Jason Tibbitts 2008-08-26 10:26:03 EDT
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.
Comment 9 Jason Tibbitts 2008-08-26 12:16:56 EDT
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.
Comment 10 Darryl L. Pierce 2008-08-26 13:20:34 EDT
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
Comment 11 Jason Tibbitts 2008-09-02 19:38:56 EDT
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?
Comment 12 Darryl L. Pierce 2008-09-03 09:59:48 EDT
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
Comment 13 Jason Tibbitts 2008-09-04 20:13:12 EDT
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.
Comment 14 Darryl L. Pierce 2008-09-05 08:29:13 EDT
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
Comment 15 Jason Tibbitts 2008-09-05 13:26:36 EDT
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
Comment 16 Darryl L. Pierce 2008-09-05 13:48:45 EDT
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
Comment 17 Kevin Fenzi 2008-09-05 17:06:54 EDT
cvs done.
Comment 18 Darryl L. Pierce 2008-09-08 13:08:40 EDT
Package Change Request
======================
Package Name: rubygem-cobbler
New Branches: F-8 EL-5
Comment 19 Kevin Fenzi 2008-09-09 22:19:44 EDT
cvs done.
Comment 20 Jason Tibbitts 2008-12-02 18:31:37 EST
Any reason this ticket is stil open, given that the package is already in the relevant stable Fedora branches?
Comment 21 Darryl L. Pierce 2008-12-03 07:59:37 EST
None that I'm aware. It can be closed AFAIAC.
Comment 22 Jason Tibbitts 2008-12-03 12:56:52 EST
I don't understand why you didn't just close it, but OK, I'll do it.

Note You need to log in before you can comment on or make changes to this bug.