Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 182064
Summary: | Review Request: facter | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | David Lutterkort <lutter> |
Component: | Package Review | Assignee: | John Mahowald <jpmahowald> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | hbrock, tcallawa |
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-07-12 01:00:06 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, 180571 |
Description
David Lutterkort
2006-02-20 02:22:54 UTC
$ rpmls facter -rwxr-xr-x /usr/bin/facter -rwxr-xr-x /usr/lib/site_ruby/1.8/facter.rb drwxr-xr-x /usr/share/doc/facter-1.1.1 -rw-r--r-- /usr/share/doc/facter-1.1.1/CHANGELOG -rw-r--r-- /usr/share/doc/facter-1.1.1/COPYING -rw-r--r-- /usr/share/doc/facter-1.1.1/INSTALL -rw-r--r-- /usr/share/doc/facter-1.1.1/LICENSE -rw-r--r-- /usr/share/doc/facter-1.1.1/README It has a direct dependency on "ruby-libs", which owns the /usr/lib/*ruby/1.8 directory tree. That "ruby" requires "ruby-libs" already, well, ugh. * The facter.rb script should not be executable. Gives ugly errors without a ruby shebang. * The install location of the script (/usr/lib/site_ruby/1.8/) looks wrong. IMHO, it should be $ ruby -rrbconfig -e 'puts Config::CONFIG["rubylibdir"]' /usr/lib/ruby/1.8 instead, just like we install Perl modules into vendor locations, as site locations take precendence in search path list. * "Source0" tag should include full URL of tarball: http://reductivelabs.com/downloads/facter/facter-1.1.3.tgz * Repeating the program name in the "Summary" is commonly considered bad taste/style, since what counts and is most interesting is what the stuff in the package does, not its name. Summary: Ruby module for collecting simple facts about a host operating system The package description can expand on that, and at least the %description hould explain that this is a module written in "Ruby". * facter 1.1.3 has been released. * I uppdated the spec/srpm and made changes according to the comments above * The only thing I did not change is the install location: upstream ruby does not provide a real distinction between vendor and site install locations. Python, which is in a similar situation, uses site-packages for both rpm and local installs. We are trying (as part of the Ruby SIG) to get this rectified, but in the meantime I would like to stick with site_ruby Spec: http://people.redhat.com/dlutter/yum/spec/facter.spec SRPM: http://people.redhat.com/dlutter/yum/SRPMS/facter-1.1.4-1.src.rpm Ville Skyttä pointed out on fedora-extras-list [1]_ that ruby packages currently can't be noarch. Until this is fixed in Core's ruby package you have to remove the BuildArch: noarch. [1]_ https://www.redhat.com/archives/fedora-extras-list/2006-March/msg00079.html Removed the BuildArch line for now. Spec: http://people.redhat.com/dlutter/yum/spec/facter.spec SRPM: http://people.redhat.com/dlutter/yum/SRPMS/facter-1.1.4-2.src.rpm md5sum of source tarball in srpm does not match URL in Source0. srpm one seems to have additional Rakefile stuff. Link to a matching archive or include patches. 46ad9c6f1432c4d579eaa768338769be facter-1.1.4.tgz (Source0 URL) b20eb00ab240df97f0f9be27dd380f43 facter-1.1.4.tgz (in srpm) It appears the tarball was changed upstream after the release (look at the timestamps on the tarball included in the srpm and the timestamp upstream) In any event, the Rakefile is not used during building of the srpm .. or did it cause you problems ? To facilitate the review, here is the output I get from rpmlint and why I think that's ok: * No output for the SRPM * For facter-1.1.4-3.i386.rpm: E: facter no-binary E: facter only-non-binary-in-usr-lib Both should be ok; the package should be noarch, but because of bz184199 it's not possible to build ruby noarch packages right now. Once 181499 has been fixed, I'll switch to building this as noarch The source in the srpm must match the URL in the source tag. http://fedoraproject.org/wiki/Packaging/ReviewGuidelines I can sponsor if still needed. Apply for cvsextras. * Rebuilt RPM with tarball from upstream * Applied for cvsextras in account system (user 'lutter') Spec: http://people.redhat.com/dlutter/yum/spec/facter.spec SRPM: http://people.redhat.com/dlutter/yum/SRPMS/facter-1.1.4-4.src.rpm Doesn't work on x86_64 by simply entering facter. /usr/bin/facter:9:in `require': no such file to load -- facter (LoadError) from /usr/bin/facter:9 which is the require 'factor' line. Works by specifying load path: ruby -I /usr/lib64/ruby/site_ruby/1.8/ /usr/bin/facter I just tried it on an x86_64 box (albeit under RHEL4, haven't found a x86_64 FC5 one yet) and it seems to work. The directory /usr/lib64/ruby/site_ruby/1.8/ should be on the ruby load path $:, assuming you installed the x86_64 version of ruby. If you only have the i386 version, things will be slightly more icky - does that need to be supported (using a x86_64 facter package with a i386 ruby ?) To investigate this further, could you give me the following: * The version of ruby and FC you are running * The output of "ruby -e 'puts $:'" * The output of "ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]'" * The output of "rpm -qlp facter-1.1.4-4.x86_64.rpm" (the one you installed on the machine) FC5 ruby-1.8.4-3.2 $ ruby -e 'puts $:' /usr/lib64/site_ruby/1.8 /usr/lib64/site_ruby/1.8/x86_64-linux /usr/lib64/site_ruby /usr/lib64/ruby/1.8 /usr/lib64/ruby/1.8/x86_64-linux . $ ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]' /usr/lib64/site_ruby/1.8 $ rpm -qlp facter-1.1.4-4.x86_64.rpm /usr/bin/facter /usr/lib64/ruby/site_ruby/1.8/facter.rb /usr/share/doc/facter-1.1.4 /usr/share/doc/facter-1.1.4/CHANGELOG /usr/share/doc/facter-1.1.4/COPYING /usr/share/doc/facter-1.1.4/INSTALL /usr/share/doc/facter-1.1.4/LICENSE /usr/share/doc/facter-1.1.4/README Strange .. it looks like the rpm was built on a machine that had Config::CONFIG["sitelibdir"] set to /usr/lib64/ruby/site_ruby/1.8. Are you sure the rpm wasn't built against a newer ruby package (e.g., the new 1.8.4-4 test packages that Akira Tagoh has put out) ? Those moved site_ruby from %_libdir to %_libdir/ruby. (In reply to comment #13) > Strange .. it looks like the rpm was built on a machine that had > Config::CONFIG["sitelibdir"] set to /usr/lib64/ruby/site_ruby/1.8. Are you sure > the rpm wasn't built against a newer ruby package (e.g., the new 1.8.4-4 test > packages that Akira Tagoh has put out) ? Those moved site_ruby from %_libdir to > %_libdir/ruby. That's what I get for building rawhide on a FC5 box. My mock logs actually show 1.8.4-4.fc6 Building for FC5 works, on FC5. So the review: - rpmlint checks return: E: facter no-binary E: facter only-non-binary-in-usr-lib because of the mentioned bug 184199 - package meets naming guidelines - package meets packaging guidelines - license (GPL) OK, text in %doc, matches source - spec file legible, in am. english - source matches upstream - package compiles on FC5 (x86_64) - no missing BR - no unnecessary BR - no locales - not relocatable - owns all directories that it creates - no duplicate files - permissions ok - %clean ok - macro use consistent - code, not content - no need for -docs - nothing in %doc affects runtime - no need for .desktop file APPROVED Thanks for reviewing and approving hte package. I will hold off on importing it until the Ruby packaging guidelines (http://fedoraproject.org/wiki/Packaging/Ruby) have been approved, or spot says it's ok. Imported and built successfully as job 12478 |