Bug 1083701 - Review Request: rubygem-docile - Docile keeps your Ruby DSLs tame and well-behaved
Summary: Review Request: rubygem-docile - Docile keeps your Ruby DSLs tame and well-be...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ken Dreyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1083698 1083715
TreeView+ depends on / blocked
 
Reported: 2014-04-02 18:43 UTC by Troy Dawson
Modified: 2014-07-09 02:31 UTC (History)
3 users (show)

Fixed In Version: rubygem-docile-1.1.4-1.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-09 02:31:04 UTC
Type: ---
Embargoed:
ktdreyer: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Troy Dawson 2014-04-02 18:43:46 UTC
Spec URL: http://tdawson.fedorapeople.org/rubygems/rubygem-docile.spec
SRPM URL: http://tdawson.fedorapeople.org/rubygems/rubygem-docile-1.1.3-1.fc20.src.rpm
Description: 
  Docile turns any Ruby object into a DSL.
  Especially useful with the Builder pattern.
Fedora Account System Username: tdawson

Comment 1 Troy Dawson 2014-04-02 19:31:42 UTC
The tests have been commented out due to a circular testing dependency.
Simplecov 0.8.2 (in rawhide only) depends on docile >1.1.0 [1]
docile tests depend on coveralls
coveralls depends on simplecov [2]

I have tested the tests on f20, with the version of rubygem-coveralls that is being reviewed.  They work fine.

Once all the proper packages are updated and built, I will uncomment out the tests.

[1] - https://bugzilla.redhat.com/show_bug.cgi?id=1083715
[2] - https://bugzilla.redhat.com/show_bug.cgi?id=1083698

Comment 2 Vít Ondruch 2014-04-14 14:03:19 UTC
(In reply to Troy Dawson from comment #1)
> The tests have been commented out due to a circular testing dependency.
> Simplecov 0.8.2 (in rawhide only) depends on docile >1.1.0 [1]
> docile tests depend on coveralls
> coveralls depends on simplecov [2]

Just wondering without any knowledge (sorry ;) but is the simplecov necessary for tests? It is usually good idea to drop the simplecov dependency entirely, since we don't care about code coverage.

Comment 3 Troy Dawson 2014-04-14 14:23:45 UTC
This package (rubygem-docile) code does not depend on simplecov.  simplecov depends on this package.

This packages tests depend on coveralls, which in turn depends on simplecov.  coveralls will not run without simplecov.  (It's not just a test dependency)

So, for this package, commenting out the tests is the only way I know of to remove the dependency on simplecov.

Comment 4 Ken Dreyer 2014-05-28 01:39:31 UTC
It looks like coveralls is not really a hard requirement and you can patch it out or remove it with sed. I've been able to get this fixed upstream in a few other gems, for example:
https://github.com/smartinez87/exception_notification/pull/184
https://github.com/sporkmonger/addressable/pull/139

We can probably get something similar upstream here.

Comment 5 Ken Dreyer 2014-06-11 23:36:03 UTC
Hi Troy, here are some suggestions for the package: http://fedorapeople.org/cgit/ktdreyer/public_git/rubygem-docile.git

2c358a8 is a patch to make simplecov/coveralls optional that I've submitted upstream. This allows the test suite to pass even when coveralls is broken or unavailable.

068e12e removes the tests conditional so we always run the tests.

05db768 updates the package for the latest Fedora 21 guidelines.

Comment 6 Ken Dreyer 2014-06-12 21:35:42 UTC
Upstream released v1.1.4 with the change that makes simplecov/coveralls optional, so you can update the package to that version.

Comment 7 Troy Dawson 2014-06-13 14:37:20 UTC
Spec URL: http://tdawson.fedorapeople.org/rubygems/rubygem-docile.spec
SRPM URL: http://tdawson.fedorapeople.org/rubygems/rubygem-docile-1.1.4-1.fc21.src.rpm

Ken, thank you for all the help with this package.
I have updated to version 1.1.4, which allow the tests to run without coveralls.
I have also implemented the various spec file changes that you had.

Comment 8 Ken Dreyer 2014-06-28 17:01:59 UTC
A straightforward package with no issues. APPROVED

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

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


Issues:
=======
- None

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

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.
[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[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]: Package is not known to require an ExcludeArch tag.
[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: No rpmlint messages.
[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]: 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.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Packages must not store files under /srv, /opt or /usr/local

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]: Pure Ruby package must be built as noarch
[x]: Package does not contain Requires: ruby(abi).
[x]: Package contains Requires: ruby(release).

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

Generic:
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[-]: 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).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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]: Fully versioned dependency in subpackages if applicable.
[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 should not be run by rake.
[x]: Test suite of the library should be run.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: rubygem-docile-1.1.4-1.fc21.noarch.rpm
          rubygem-docile-doc-1.1.4-1.fc21.noarch.rpm
          rubygem-docile-1.1.4-1.fc21.src.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

Rpmlint (installed packages)
----------------------------
# rpmlint rubygem-docile-doc rubygem-docile
2 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'

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

rubygem-docile (rpmlib, GLIBC filtered):
    ruby(rubygems)

Provides
--------
rubygem-docile-doc:
    rubygem-docile-doc

rubygem-docile:
    rubygem(docile)
    rubygem-docile


Source checksums
----------------
https://rubygems.org/gems/docile-1.1.4.gem :
  CHECKSUM(SHA256) this package     : 76b1f9a24e08cf989418b20e5de02e2156182b30329f5514c89df27ac124ce0e
  CHECKSUM(SHA256) upstream package : 76b1f9a24e08cf989418b20e5de02e2156182b30329f5514c89df27ac124ce0e


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -b 1083701 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Ruby, Shell-api
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 9 Troy Dawson 2014-06-30 13:45:11 UTC
New Package SCM Request
=======================
Package Name: rubygem-docile
Short Description: Docile keeps your Ruby DSLs tame and well-behaved
Upstream URL: https://ms-ati.github.com/docile/
Owners: tdawson
Branches: f19 f20 el6 epel7
InitialCC:

Comment 10 Gwyn Ciesla 2014-06-30 19:39:06 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2014-06-30 22:07:55 UTC
rubygem-docile-1.1.4-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/rubygem-docile-1.1.4-1.fc20

Comment 12 Fedora Update System 2014-07-01 07:22:09 UTC
rubygem-docile-1.1.4-1.fc20 has been pushed to the Fedora 20 testing repository.

Comment 13 Fedora Update System 2014-07-09 02:31:04 UTC
rubygem-docile-1.1.4-1.fc20 has been pushed to the Fedora 20 stable repository.


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