Bug 927374 - Review Request: rubygem-rugged - Ruby binding to the libgit2 linkable library
Review Request: rubygem-rugged - Ruby binding to the libgit2 linkable library
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Achilleas Pipinellis
Fedora Extras Quality Assurance
:
: 1047762 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-03-25 15:27 EDT by Troy Dawson
Modified: 2014-01-06 08:35 EST (History)
4 users (show)

See Also:
Fixed In Version: rubygem-rugged-0.19.0-4.fc19
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-09-18 22:05:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
axilleas: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Troy Dawson 2013-03-25 15:27:28 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.16.0-1.fc20.src.rpm
Description: Rugged is a Ruby bindings to the libgit2 linkable C Git library. This is for testing and using the libgit2 library in a language that is awesome.
Fedora Account System Username: tdawson
Comment 1 Achilleas Pipinellis 2013-07-02 14:15:37 EDT
Hi, this is my first informal review as I am yet to be sponsored as a packager :)

Followed by the discussion in Ruby-SIG[0], I am posting both those questions answered and some other details that need fixing.


* explicit-lib-dependency libgit2
  - libgit2 is bundled in the gem, it should be removed.

* non-standard-executable-perm /usr/lib64/gems/ruby/rugged-0.16.0/lib/rubygem-rugged/rugged.so 0775L
  - Permissions should be 755.

* Duplicate sonames (arch-dependent-file-in-usr-share)
  - /usr/share/gems/gems/rugged-0.16.0/lib/rugged/rugged.so should not be there.

* Mixed use of macros
  - Use either %{buildroot} or $RPM_BUILD_ROOT, not both.

* Test suite
  - Since this package provides a test suite it would be nice to run it.
    Here is a patch that builds fine (download here [1]):

------------------------------------

diff -rupN a/rubygem-rugged.spec b/rubygem-rugged.spec
--- a/rubygem-rugged.spec 2013-03-25 20:42:26.000000000 +0200
+++ b/rubygem-rugged.spec 2013-06-24 22:27:23.840000000 +0300
@@ -17,9 +17,10 @@ BuildRequires: ruby(release)
Requires: ruby(abi)
BuildRequires: ruby(abi)
%endif
-BuildRequires: zlib-devel
-BuildRequires: ruby-devel
-BuildRequires: rubygems-devel
+BuildRequires: zlib-devel
+BuildRequires: ruby-devel
+BuildRequires: rubygem(minitest)
+BuildRequires: rubygems-devel
Provides: rubygem(%{gem_name}) = %{version}
%description
@@ -73,6 +74,17 @@ mv %{buildroot}%{gem_instdir}/ext/rugged
rm -rf $RPM_BUILD_ROOT%{gem_instdir}/{.require_paths,.gitignore,.travis.yml,.yardoc}
rm -rf $RPM_BUILD_ROOT%{gem_instdir}/ext/
+%check
+
+pushd .%{gem_instdir}
+
+## Fix failing test: https://github.com/libgit2/rugged/pull/65
+sed -i '78s/.*/now = Time.at Time.now.to_i/' test/index_test.rb
+
+find test -type f -name *_test.rb | xargs testrb -Ilib
+
+popd
+
%files
%doc %{gem_instdir}/LICENSE
%doc %{gem_instdir}/README.md

-----------------------------------

[0] https://lists.fedoraproject.org/pipermail/ruby-sig/2013-July/001373.html
[1] http://axilleas.fedorapeople.org/tmp/rubygem-rugged.spec.patch
Comment 2 Troy Dawson 2013-07-02 15:13:16 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.16.0-1.fc20.src.rpm

-  libgit2 is bundled in the gem, it should be removed.
-- according to ext/rugged/extconf.rb if we have git2 and git2.h installed, it will not use the bundled library.
-- Added BuildRequires: libgit2-devel which pulls in git2 and git2.h, so that the bundled library isn't used during build.
-- We delete the bundled library so it isn't shipped.

- Permissions should be 755 for rugged.so
-- Fixed

- Duplicate rugged.so
-- Fixed (remove /usr/share/gems/gems/rugged-0.16.0/lib/rugged/rugged.so)

-  Mixed use of macros
-- Fixed (now consistently use %{buildroot}

- Run tests
-- Thank you for the testing syntax, I have put that in and it works.
Comment 3 Achilleas Pipinellis 2013-07-02 18:37:55 EDT
The spec looks good and rpmlint didn't find any errors or warnings. It also builds fine in mock for versions 18-20 that I tested it.

BUT, there is another issue. The library cannot load. In particular:

------------------
irb(main):001:0> require 'rugged'
LoadError: cannot load such file -- rugged/rugged
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/share/gems/gems/rugged-0.16.0/lib/rugged.rb:1:in `<top (required)>'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:110:in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:110:in `rescue in require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:35:in `require'
from (irb):1
from /usr/bin/irb:12:in `<main>'
------------------

Copying rugged.so from /usr/lib64 back to /usr/share, fixed it. I also confirmed that it plays fine even with the .so in /usr/lib64 removed. In conclusion, it only needs the one in /usr/share.

PS. You linked the wrong SRPM version previously ;)
Comment 4 Vít Ondruch 2013-07-04 01:43:32 EDT
A few comments from my side.

* %{gem_extdir_mri} is available in older Fedoras
  - You dont have to branch the %install and %files sections, since
    %{gem_extdir_mri} macro is supported by older Fedoras.

* Ship lib/rugged/rugged.so instead of ext/rugged/rugged.so
  - If you read the guidelines properly, it exactly specifies, that you should
    move lib/rugged/rugged.so into %{gem_extdir_mri}.
  - This should fix also the wrong file permissions IMO, so you could remove
    the chmod.
  - This would render the:

      rm -rf %{buildroot}%{gem_instdir}/lib/rugged/rugged.so

    unnecessary as well.

(In reply to Axilleas Pipinellis from comment #3)
> Copying rugged.so from /usr/lib64 back to /usr/share, fixed it. I also
> confirmed that it plays fine even with the .so in /usr/lib64 removed. In
> conclusion, it only needs the one in /usr/share.

Sorry, that is wrong conclusion for several reasons:

* .so file is platform dependent and cannot end up in /usr/share what so ever
* moving of .so file into /usr/share works, since the path is already available in Ruby's search path. That does not make it correct.
* The problem is hidden in:

  mkdir -p %{buildroot}%{gem_extdir_mri}/lib/%{name}/
  mv %{buildroot}%{gem_instdir}/ext/rugged/rugged.so \
    %{buildroot}%{gem_extdir_mri}/lib/%{name}/

where %{name} should be replaced with %{gem_name}. I did not tested this change, but this is creates "/usr/lib/gems/ruby/rugged-0.16.0/lib/rubygem-rugged/", which is apparently wrong.
Comment 5 Achilleas Pipinellis 2013-07-04 04:02:52 EDT
(In reply to Vít Ondruch from comment #4)
> 
> (In reply to Axilleas Pipinellis from comment #3)
> > Copying rugged.so from /usr/lib64 back to /usr/share, fixed it. I also
> > confirmed that it plays fine even with the .so in /usr/lib64 removed. In
> > conclusion, it only needs the one in /usr/share.
> 
> Sorry, that is wrong conclusion for several reasons:
> 

Yes, you are right. I didn't mean that the right place is in /usr/share, I was rather trying to point that there was something wrong going on. Bad choice of words I guess.
Comment 6 Troy Dawson 2013-07-09 09:50:20 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.16.0-3.fc20.src.rpm

Sorry for the delay, I was out of town at a wedding.

- Cleaned up the %build section to use the current ruby guidelines
- Cleaned up the ext sections to just use %{gem_extdir_mri}
-- Note: when I was originally making this rpm the ruby guidelines were going through changes, so I had to do things a bit odd.  Now that the guidelines are done, everything is much cleaner and simpler.
- move lib/rugged/rugged.so instead of ext/rugged/rugged.so
-- This did clear up the permissions problem.
-- I also cleaned up all the extra lines that were fixing the permissions problem, and the extra file problem.
- move rugged.so into the correct directory %{gem_extdir_mri}/lib/%{gem_name}/
-- Thank you for that catch.  Everything is working now.
- cleaned up the %check section
-- Now that rugged.so is in the right place we are able to use testrb2 (instead of testrb) and all the tests run correctly, without any extra work.
Comment 7 Achilleas Pipinellis 2013-07-21 07:38:59 EDT
Hey Troy, sorry for the delay, now that I got sponsored I can make an official review. 

First of all, I just noticed that you are packaging rugged 0.16.0 which dates back to November 28, 2011! Is there a particular reason not to ship 0.19.0 (July 10, 2013)?

I bumped the version to 0.19.0 in your spec, but the tests fail and it appears that the libgit2 library is now bundled in the vendor folder.

Can you address these problems first?

Thank you :)
Comment 8 Troy Dawson 2013-07-30 18:29:04 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.19.0-1.fc20.src.rpm

- I have updated to 0.19.0
-- Since we are building with the libgit2-devel rpm installed we just need to remove the vendor directory at the end.  See comment #2.
-- We are removing the vendor directory from it's new place.
- tests
-- There is several tests that don't work, even on gem installed rugged.  I remove those tests.
-- Even though all the tests pass, we are still getting an exit code of 1, which makes the %check section fail.  I'm at a total loss for this and can't figure out the reason.  Because of this, I've commented out the %check section.  If anyone has an answer, or a work around, I'll gladly uncomment it.
Comment 9 Achilleas Pipinellis 2013-07-31 01:21:23 EDT
Hi, thanks for the update, I will look into the failing tests. It seems that you forgot to update the spec file though ;)
Comment 10 Vít Ondruch 2013-07-31 08:21:15 EDT
Troy, it seems that you have forgot to update the .spec file.
Comment 11 Vít Ondruch 2013-07-31 08:22:58 EDT
Eh, not just the .spec file, you have not uploaded the SRPM as well, it seems.
Comment 12 Troy Dawson 2013-07-31 10:09:18 EDT
Sorry about that.  I uploaded to the wrong directory.
Both the spec and src.rpm are there now.
Comment 13 Vít Ondruch 2013-08-01 01:59:59 EDT
(In reply to Troy Dawson from comment #8)
> -- Since we are building with the libgit2-devel rpm installed we just need
> to remove the vendor directory at the end.  See comment #2.

Troy, this is not a good idea. I suspect that rugged is build and staticaly linked against vendored libgit2. These are parts of build logs that suggest that:

checking for gmake... yes
 -- /usr/bin/gmake -f Makefile.embed
checking for main() in -lgit2_embed... yes
checking for git2.h... yes
creating Makefile
make "DESTDIR="
gcc -I.  -I/builddir/build/BUILD/rugged-0.19.0/usr/share/gems/gems/rugged-0.19.0/ext/rugged/../../vendor/libgit2/include -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_GIT2_H    -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mtune=generic  -g -Wall -m64 -o rugged.o -c rugged.c

...

gcc -shared -o rugged.so rugged.o rugged_blob.o rugged_branch.o rugged_commit.o rugged_config.o rugged_diff.o rugged_diff_delta.o rugged_diff_hunk.o rugged_diff_line.o rugged_diff_patch.o rugged_index.o rugged_note.o rugged_object.o rugged_reference.o rugged_remote.o rugged_repo.o rugged_revwalk.o rugged_settings.o rugged_signature.o rugged_tag.o rugged_tree.o -L. -L/usr/lib64 -L. -Wl,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -L/builddir/build/BUILD/rugged-0.19.0/usr/share/gems/gems/rugged-0.19.0/ext/rugged   -m64  -lruby -lgit2_embed  -lpthread -lrt -ldl -lcrypt -lm   -lc

...

Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.8)(64bit) libcrypt.so.1()(64bit) libdl.so.2()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) librt.so.1()(64bit) libruby.so.2.0()(64bit) rtld(GNU_HASH)



You should probably specify LIBGIT2_PATH [1] to make it build against system libgit2. And I still believe it is good idea to remove the vendor dir in %prep section, which would make the build fail, instead of silently used the vendored libgit2.


[1] https://github.com/libgit2/rugged/blob/development/ext/rugged/extconf.rb#L28
Comment 14 Troy Dawson 2013-08-22 17:19:34 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.19.0-2.fc20.src.rpm

- Remove vendor directory during %prep
- Patch gemspec to reflect missing vendor directory
- added export LIBGIT2_PATH="/usr/" before building
-- You were right Vit, after removing the vendor directory it was obvious that it was being used, and the fix was easy to test.
Comment 15 Vít Ondruch 2013-09-03 06:42:34 EDT
* Hidden files
  - It looks that rugged is not shipping the hidden files you are removing
    anymore. I suggest to drop that line.

* Use rubygem(minitest) only
  - There is anywhere any notion, that the test suite is designed for
    rubygem(test-unit). Please drop the BR and go forward just with
    rubygem(minitest) and testrb

* Omitted dot files
  - It seems that upstream .gemspec has a bug in line [1]. There are not
    included dot files in resulting .gem, therefore there are missing folders
    such as [2] and hence several test cases fail.
  - Even though the upstream sources differ already, the bug in .gemspec is
    still there. Would you mind to report this issue upstream?
  - Please add the dot directories as additional source to fix the test suite.

* Missing global git config
  - There is one more failing test:

    ConfigTest#test_read_global_config_file [/builddir/build/BUILD/
        rugged-0.19.0/usr/share/gems/gems/rugged-0.19.0/test/config_test.rb:19]:
    Failed assertion, no message given.

  - This can be fixed by setting global git configuration, such as:

    $ git config --global user.name John Doe    

  - Not sure if that should not be done by test suite itself.

* Add BR: /usr/bin/git
  - This fixes plenty of test cases, it seems (but please, double check when
    you have the missing dot files available).

* Filter the .so file provides
  - Please add %{?rubygems_default_filter} macro prior description. Although
    this macro is not yet documented in Ruby packaging guidelines, it removes
    the automatically generated rugged.so provide, which is useless for Ruby
    package.


[1] https://github.com/libgit2/rugged/blob/development/rugged.gemspec#L16
[2] https://github.com/libgit2/rugged/tree/v0.19.0/test/fixtures/diff/.gitted
Comment 16 Vít Ondruch 2013-09-03 08:32:14 EDT
Forgot to mention that ruby(abi) should be always versioned.
Comment 17 Troy Dawson 2013-09-06 17:58:52 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.19.0-3.fc20.src.rpm

- Added version to ruby(abi)
- Added %{?rubygems_default_filter} before description
- Added BR: git
-- didn't use /usr/bin/git because that would break on older Fedora versions
- Removed line where I was removing hidden files
- Added full test directory from github (Source1)
-- In comments say how I get and package Source1
-- Let developers know of gemspec bug, they have already thanked me and said they will fix it.
- Remove BR: rubygem(test-unit)
- Fix up tests so they all pass
-- Added LANG variable
-- run "git config --global user.name John Doe"

Thanks for the help with the tests.  I would have never found those missing directories, and switching to minitest fixed the exit code problem.
Comment 18 Achilleas Pipinellis 2013-09-07 04:54:12 EDT
Hi guys, sorry for not being able to respond. 

Vit, thanks for continuing on the review :)

Troy, the spec seems fine and it built fine on my machine using fedora-review. One thing you might want to fix are some zero length files rpmlint catches.
See the wiki for an easy fix [0]. I don't know though if they are needed for the test suite, you might want to check it out.

rubygem-rugged-doc.noarch: E: zero-length /usr/share/gems/gems/rugged-0.19.0/test/fixtures/attr/sub/dir/file
rubygem-rugged-doc.noarch: E: zero-length /usr/share/gems/gems/rugged-0.19.0/test/fixtures/attr/dir/file
rubygem-rugged-doc.noarch: E: zero-length /usr/share/gems/gems/rugged-0.19.0/test/fixtures/attr/sub/sub/dir

And btw it would be nice to include the url of the upstream issue you reported.

[0] https://fedoraproject.org/wiki/Packaging_tricks#Zero_length_files
Comment 19 Troy Dawson 2013-09-09 10:35:37 EDT
Spec URL: http://tdawson.fedorapeople.org/review/rubygem-rugged.spec
SRPM URL: http://tdawson.fedorapeople.org/review/rubygem-rugged-0.19.0-4.fc20.src.rpm

- Fixed zero length files in test
-- checked to make sure the tests still worked, which they do.
- Added comments for the test source.
-- It turns out that instead of fixing the bug, they removed the tests, and the Rakefile.  Not because they didn't want to fix the bug, they just wanted a cleaner gem.
Comment 20 Achilleas Pipinellis 2013-09-09 16:12:58 EDT
Ok this looks good, so I finally approve it :)

Minor issue you might want to check, is that running rpmlint on installed packages the zero-length files are still there. I don't know why. Again, this is minor and can be safely ignored.

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[-]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "MIT/X11 (BSD like)", "Unknown or generated". 39 files have unknown
     license. Detailed output of licensecheck in /home/axil/review/927374
     -rubygem-rugged/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/gems,
     /usr/share/gems/doc
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Test run failed
[-]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: 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 is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.

Ruby:
[x]: Platform dependent files must all go under %{gem_extdir_mri}, platform
     independent under %{gem_dir}.
[x]: Gem package must not define a non-gem subpackage
[x]: Macro %{gem_extdir} is deprecated.
[x]: Gem package is named rubygem-%{gem_name}
[x]: Package contains BuildRequires: rubygems-devel.
[x]: Gem package must define %{gem_name} macro.
[x]: Package does not contain Requires: ruby(abi).
[x]: Package contains Requires: ruby(release).

===== SHOULD items =====

Generic:
[!]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in rubygem-
     rugged-doc
[-]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

Ruby:
[x]: Specfile should use macros from rubygem-devel package.
[x]: Gem package should exclude cached Gem.
[x]: Gem should use %gem_install macro.
[x]: Test suite of the library should be run.

===== EXTRA items =====

Generic:
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: rubygem-rugged-0.19.0-4.fc21.x86_64.rpm
          rubygem-rugged-doc-0.19.0-4.fc21.noarch.rpm
          rubygem-rugged-0.19.0-4.fc21.src.rpm
rubygem-rugged.src: W: invalid-url Source1: rugged-0.19.0-test.tgz
3 packages and 0 specfiles checked; 0 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint rubygem-rugged-doc rubygem-rugged
rubygem-rugged-doc.noarch: E: zero-length /usr/share/gems/gems/rugged-0.19.0/test/fixtures/attr/sub/dir/file
rubygem-rugged-doc.noarch: E: zero-length /usr/share/gems/gems/rugged-0.19.0/test/fixtures/attr/dir/file
rubygem-rugged-doc.noarch: E: zero-length /usr/share/gems/gems/rugged-0.19.0/test/fixtures/attr/sub/sub/dir
2 packages and 0 specfiles checked; 3 errors, 0 warnings.
# echo 'rpmlint-done:'



Requires
--------
rubygem-rugged-doc (rpmlib, GLIBC filtered):
    rubygem-rugged

rubygem-rugged (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libcrypt.so.1()(64bit)
    libdl.so.2()(64bit)
    libgit2.so.0()(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libruby.so.2.0()(64bit)
    rtld(GNU_HASH)
    ruby(release)
    ruby(rubygems)



Provides
--------
rubygem-rugged-doc:
    rubygem-rugged-doc

rubygem-rugged:
    rubygem(rugged)
    rubygem-rugged
    rubygem-rugged(x86-64)



Unversioned so-files
--------------------
rubygem-rugged: /usr/lib64/gems/ruby/rugged-0.19.0/lib/rugged/rugged.so

Source checksums
----------------
http://rubygems.org/gems/rugged-0.19.0.gem :
  CHECKSUM(SHA256) this package     : 6c5400583a6f99a2953019d914e9d2e783d14b3180e228f49771e19797b09382
  CHECKSUM(SHA256) upstream package : 6c5400583a6f99a2953019d914e9d2e783d14b3180e228f49771e19797b09382


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 927374
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Ruby, Shell-api, C/C++
Disabled plugins: Java, Python, SugarActivity, Perl, R, PHP
Disabled flags: EPEL5, EXARCH, DISTTAG
Comment 21 Troy Dawson 2013-09-09 17:17:44 EDT
New Package SCM Request
=======================
Package Name: rubygem-rugged
Short Description: Ruby binding to the libgit2 linkable library
Owners: tdawson
Branches: f20 f19 f18
InitialCC:
Comment 22 Kevin Fenzi 2013-09-09 19:05:16 EDT
Git done (by process-git-requests).
Comment 23 Fedora Update System 2013-09-10 09:05:48 EDT
rubygem-rugged-0.19.0-4.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/rubygem-rugged-0.19.0-4.fc19
Comment 24 Fedora Update System 2013-09-10 21:52:04 EDT
rubygem-rugged-0.19.0-4.fc19 has been pushed to the Fedora 19 testing repository.
Comment 25 Fedora Update System 2013-09-18 22:05:45 EDT
rubygem-rugged-0.19.0-4.fc19 has been pushed to the Fedora 19 stable repository.
Comment 26 Vít Ondruch 2014-01-06 08:35:46 EST
*** Bug 1047762 has been marked as a duplicate of this bug. ***

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