[Bug 1305658] Review Request: rubygem-em-spec - BDD for Ruby/EventMachine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1305658



--- Comment #3 from greg.hellings@xxxxxxxxx ---
Thanks for the review, comments below.

New URLs:

https://fedorapeople.org/~greghellings/rubygem-em-spec/rubygem-em-spec.spec
https://fedorapeople.org/~greghellings/rubygem-em-spec/rubygem-em-spec-0.2.7-1.el7.src.rpm


(In reply to Jerry James from comment #2)
> Package Review
> ==============
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> 
> 
> Issues:
> =======
> - Package contains Requires: ruby(release).  This is for non-gem ruby
> packages
>   only.  See:
> https://fedoraproject.org/wiki/Packaging:Ruby#Ruby_Compatibility

I see the BR for that, but I don't see the Requires explicitly stated.

> 
> - "OpenSource" is not a valid license name.  The list of valid licenses is
> here:
>   https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses
> 
> - I do not see anything in the upstream package that indicates a license for
>   this package.  This is a blocker.  We must know that the code is released
>   under a valid open source license.

I pestered upstream and they made a 0.2.7 release that explicitly states MIT.
Previous versions were declared MIT on Debian's mailing list. New package
reflects the 0.2.7 version.

> 
> - Changelog entries must contain contact information, including a name and a
>   (possibly obfuscated) email address.  See:
>   https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs

Ah, artifact of gem2rpm. This should be corrected now.

> 
> - I don't think the package URL is correct.  The git repository at
>   http://github.com/schmurfy/em-spec hasn't had a commit since 2010, and its
>   releases stop at 0.2.2.  This package's URL seems to really be
>   https://github.com/joshbuddy/em-spec.

Corrected

> 
> - Consider adding a %check script to run the tests.

It appears that this is an issue upstream that has not received attention. This
is the exact set of errors I get when executing the tests.

https://github.com/joshbuddy/em-spec/issues/16

> 
> - The spec file URL does not correspond to the spec file inside the srpm; see
>   the diff below.

Hopefully this is corrected now, with the 0.2.7 source tarball.

> 
> - This conditional is not right:
> 
> %if 0%{?rhel} <= 7
> Provides: rubygem(%{gem_name}) = %{version}
> %endif
> 
>   On Fedora, 0%{?rhel} evaluates to 0, which is less than or equal to 7, so
>   the Provides is used.

Corrected to be exact equality. I do not plan to branch this into EPEL6, and
the conditional can be expanded at that time.

> 
> - What is the hidden file %{_datadir}/gems/gems/em-spec-0.2.6/.rspec ?  Is it
>   necessary?

It provides default options to be passed to the rspec command (a test runner
for Ruby). That particular one does not provide any important options
(--colour) and these options are not important at runtime. I've added it to the
excluded list.

> 
> ===== MUST items =====
> 
> Generic:
> [!]: Package is licensed with an open-source compatible license and meets
>      other legal requirements as defined in the legal section of Packaging
>      Guidelines.
> [-]: 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 %license.
> [!]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses
>      found: "Unknown or generated". 12 files have unknown license.
> [-]: License file installed when any subpackage combination is installed.
> [x]: Package contains no bundled libraries without FPC exception.
> [!]: 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]: Package is not known to require an ExcludeArch tag.
> [!]: Package complies to the Packaging Guidelines
>      Some exceptions noted above.
> [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]: 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]: Macros in Summary, %description expandable at SRPM build time.
> [x]: Dist tag is present.
> [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 does not use a name that already exists.
> [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.
>      Note: Documentation size is 0 bytes in 0 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).
> 
> ===== SHOULD items =====
> 
> Generic:
> [x]: Avoid bundling fonts in non-fonts packages.
>      Note: Package contains font files
>      This appears to be rdoc's doing, so not under the control of this
> package.
> [!]: 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).
> [x]: Fully versioned dependency in subpackages if applicable.
> [?]: Package functions as described.
> [x]: Latest version is packaged.
> [x]: Package does not include license text files separate from upstream.
> [x]: 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.
> [!]: %check is present and all tests pass.
> [x]: Packages should try to preserve timestamps of original installed
>      files.
> [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
> [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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
> [x]: SourceX is a working URL.
> [x]: Spec use %global instead of %define unless justified.
> 
> Ruby:
> [x]: Gem should use %gem_install macro.
> [!]: Test suite of the library should be run.
> [x]: Gem package should exclude cached Gem.
> [x]: Specfile should use macros from rubygem-devel package.
> 
> ===== EXTRA items =====
> 
> Generic:
> [!]: Spec file according to URL is the same as in SRPM.
>      Note: Spec file as given by url is not the same as in SRPM (see
>      attached diff).
>      See: (this test has no URL)
> [x]: Rpmlint is run on all installed packages.
>      Note: There are rpmlint messages (see attachment).
> 
> 
> Rpmlint
> -------
> Checking: rubygem-em-spec-0.2.6-1.fc24.noarch.rpm
>           rubygem-em-spec-doc-0.2.6-1.fc24.noarch.rpm
>           rubygem-em-spec-0.2.6-1.fc24.src.rpm
> rubygem-em-spec.noarch: W: invalid-license OpenSource
> rubygem-em-spec.noarch: E: useless-provides rubygem(em-spec)
> rubygem-em-spec.noarch: W: no-documentation
> rubygem-em-spec.noarch: W: hidden-file-or-dir
> /usr/share/gems/gems/em-spec-0.2.6/.rspec
> rubygem-em-spec-doc.noarch: W: invalid-license OpenSource
> rubygem-em-spec.src: W: invalid-license OpenSource
> 3 packages and 0 specfiles checked; 1 errors, 5 warnings.
> 
> 
> 
> 
> Rpmlint (installed packages)
> ----------------------------
> sh: /usr/bin/python: No such file or directory
> rubygem-em-spec.noarch: W: invalid-license OpenSource
> rubygem-em-spec.noarch: E: useless-provides rubygem(em-spec)
> rubygem-em-spec.noarch: W: no-documentation
> rubygem-em-spec.noarch: W: hidden-file-or-dir
> /usr/share/gems/gems/em-spec-0.2.6/.rspec
> rubygem-em-spec-doc.noarch: W: invalid-license OpenSource
> 2 packages and 0 specfiles checked; 1 errors, 4 warnings.
> 
> 
> 
> Diff spec file in url and in SRPM
> ---------------------------------
> --- /home/jamesjer/1305658-rubygem-em-spec/srpm/rubygem-em-spec.spec
> 2016-02-26 09:29:42.403255903 -0700
> +++
> /home/jamesjer/1305658-rubygem-em-spec/srpm-unpacked/rubygem-em-spec.spec
> 2016-02-08 10:00:16.000000000 -0700
> @@ -23,8 +23,4 @@
>  %if 0%{?rhel} <= 7
>  Provides: rubygem(%{gem_name}) = %{version}
> -Requires: rubygem(bacon)
> -Requires: rubygem(eventmachine)
> -Requires: rubygem(rspec-core)
> -Requires: rubygem(test-unit)
>  %endif
>  
> @@ -82,4 +78,4 @@
>  
>  %changelog
> -* Mon Feb 08 2016 Greg Hellings <greg.hellings@xxxxxxxxx> - 0.2.6-1
> +* Mon Feb 08 2016 root - 0.2.6-1
>  - Initial package
> 
> 
> Requires
> --------
> rubygem-em-spec (rpmlib, GLIBC filtered):
>     ruby(rubygems)
>     rubygem(bacon)
>     rubygem(eventmachine)
>     rubygem(rspec)
>     rubygem(test-unit)
> 
> rubygem-em-spec-doc (rpmlib, GLIBC filtered):
>     rubygem-em-spec
> 
> 
> 
> Provides
> --------
> rubygem-em-spec:
>     rubygem(em-spec)
>     rubygem-em-spec
> 
> rubygem-em-spec-doc:
>     rubygem-em-spec-doc
> 
> 
> 
> Source checksums
> ----------------
> https://rubygems.org/gems/em-spec-0.2.6.gem :
>   CHECKSUM(SHA256) this package     :
> 4163631f8bf572b20285e1610b12afe88aef96b4f90bf19154a2cc37b58e9c26
>   CHECKSUM(SHA256) upstream package :
> 4163631f8bf572b20285e1610b12afe88aef96b4f90bf19154a2cc37b58e9c26
> 
> 
> Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
> Command line :/usr/bin/fedora-review -b 1305658 -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, DISTTAG, EPEL5, BATCH, EPEL6

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review




[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]