Bug 207472

Summary: Review Request: ruby-activesupport - Utility classes and extension to Ruby's standard library
Product: [Fedora] Fedora Reporter: David Lutterkort <lutter>
Component: Package ReviewAssignee: Jason Tibbitts <j>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: hbrock, k.georgiou
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-14 03:44:19 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:
Bug Depends On:    
Bug Blocks: 163779, 207473    

Description David Lutterkort 2006-09-21 10:56:48 UTC
Spec URL: http://people.redhat.com/dlutter/yum/spec/ruby-activesupport.spec
SRPM URL: http://people.redhat.com/dlutter/yum/SRPMS/ruby-activesupport-1.3.1-1.src.rpm
Description: 
Utility classes and extension to the standard library that were
required by Rails, but found of general use.

Comment 1 David Lutterkort 2006-09-21 10:59:59 UTC
Output from rpmlint:

E: ruby-activesupport non-executable-script
/usr/lib/ruby/site_ruby/1.8/active_support/vendor/builder/xmlbase.rb 0644
E: ruby-activesupport non-executable-script
/usr/lib/ruby/site_ruby/1.8/active_support/vendor/builder/blankslate.rb 0644
E: ruby-activesupport non-executable-script
/usr/lib/ruby/site_ruby/1.8/active_support/vendor/builder/xmlmarkup.rb 0644
E: ruby-activesupport non-executable-script
/usr/lib/ruby/site_ruby/1.8/active_support/vendor/builder/xmlevents.rb 0644
E: ruby-activesupport non-executable-script
/usr/lib/ruby/site_ruby/1.8/active_support/vendor/builder.rb 0644

While these files all start with #!/usr/bin/ruby, they are mainly used as a
library, and included by the toplevel active_support.rb, so I think this warning
should be ignored

Comment 2 Jason Tibbitts 2006-10-04 04:19:28 UTC
One additional rpmlint issue:

W: ruby-activesupport unversioned-explicit-provides ruby(active_support)

I wonder if this provide shouldn't be versioned.  (I know the guidelines don't
say so, but perhaps we missed something when we wrote them.)

As for the non-executable-script "error", this often happens in Python packages.
 There, the standard that we have used for deciding whether the complaint is
bogus or not is whether the file has any code that would be executed if you did
pass it through the interpreter.  If the file has only class and function
definitions, it needs to have the shebang line removed.  It seems that these
five files fall into the latter category.  However, we're basically making up
some of the rules for Ruby as we go along, so we should probably talk about it a
bit.  Personally I don't understand why the shebang lines are there, but I can't
imagine that it hurts anything.  It's a comment, nothing more.

Review:
* source files match upstream:
   4e3fce3bb07e1f66e6f40406291e3266  activesupport-1.3.1.tgz
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
* build root is correct.
* license field matches the actual license.
* license is open source-compatible.  License text included in package (in
lib/active_support.rb)
* latest version is being packaged.
* BuildRequires are proper.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
X rpmlint is silent.
? final provides and requires are sane:
?  ruby(active_support)
   ruby-activesupport = 1.3.1-1.fc6
  =
   ruby(abi) = 1.8
* %check is not present; no test suite upstream.
* 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 -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.

Comment 3 David Lutterkort 2006-10-06 13:37:50 UTC
Seems like I need to install a newer version of rpmlint ;)

Not versioning the ruby(LIB) provides is definitely an oversight; we should just
version it with %version, most ruby packages seem to follow an extremely sane
versioning scheme. I added a corresponding blurb to the packaging Todo.

I'll change the provides to 'ruby(active_support) = 1.3.1' and add a comment
when I have a new spec

Comment 4 Jason Tibbitts 2006-10-29 06:01:46 UTC
Were you going to send along a new version?

Comment 5 David Lutterkort 2006-11-07 00:15:10 UTC
Sorry, that somehow slipped through the cracks; thanks for reminding me.

- Updated the spec file with a versioned provides for ruby(active_support):

Spec URL: http://people.redhat.com/dlutter/yum/spec/ruby-activesupport.spec
SRPM URL:
http://people.redhat.com/dlutter/yum/SRPMS/ruby-activesupport-1.3.1-2.src.rpm

- For the shebang lines, I haven't chanegd anything; I can't see any harm with
that, either, especially since those files are not executable (and shouldn't be)


Comment 6 Jason Tibbitts 2006-11-12 06:13:27 UTC
Sorry for taking so long to get back; I'm just getting back up to speed.

I admit to not understanding fully why rpmlint complains so stridently about
files with shebang lines that aren't executable.  I can understanding a warning
so that you double check that you haven't installed a script and forgotten to
make it executable, but these aren't supposed to be executable, and patching
them out just seems like needless specfile complexity and diversion from
upstream for absolutely no gain.

In the past such things have been fixed up by the packager, but I've never felt
good about that and frankly I'm ready to stop asking folks to change it.  I
don't think it's ever been considered an absolute blocker in any case.

The changes yoou made look good to me, and the package builds fine.

APPROVED

Comment 7 Jason Tibbitts 2006-11-13 06:09:02 UTC
I believe that while reviewing ruby-activerecord I've found that this package
needs a runtime dependency on ruby-irb, or else inclusion of breakpoint.rb fails.



Comment 8 David Lutterkort 2006-11-14 03:44:19 UTC
Thanks for the review. Nice catch with the irb dependency, I added it to the
specfile (though it kinda irks me that that is needed for essentially a dev
tool, but I don't feel that separating that into another package is really worth it)

Imported and built.