Bug 1063038 - Review Request: rubygem-cookiejar - The Ruby CookieJar is a library to help manage client-side cookies in pure Ruby
Review Request: rubygem-cookiejar - The Ruby CookieJar is a library to help m...
Status: ON_QA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Mo Morsi
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2014-02-09 12:57 EST by Nitesh Narayan Lal
Modified: 2014-07-17 00:32 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mmorsi: fedora‑review+
limburgher: fedora‑cvs+

Attachments (Terms of Use)

  None (edit)
Description Nitesh Narayan Lal 2014-02-09 12:57:29 EST
Spec URL: http://niteshnarayan.fedorapeople.org/SPECS/rubygem-cookiejar-0.3.0.spec
SRPM URL: http://niteshnarayan.fedorapeople.org/SRPMS/rubygem-cookiejar-0.3.0-1.fc19.src.rpm  
Description: The Ruby CookieJar is a library to help manage client-side cookies in pure Ruby. It enables parsing and setting of cookie headers, alternating between multiple 'jars' of cookies at one time (such as having a set of cookies for each browser or thread), and supports persistence of the cookies in a JSON
Fedora Account System Username:
Comment 1 Mo Morsi 2014-02-20 09:11:47 EST
Taking this one. Couple initial things:

- Spec has the wrong URL (for amq-protocol)

- License should be BSD

- 0.3.1 just released, please update package to that (release would be 1 for the new version)

- Package builds fine in koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=6551588

Will give you the official review after these changes.

Comment 2 Nitesh Narayan Lal 2014-02-20 11:28:10 EST
Thanks for your comments, I had made the modifications as per your suggestions.


Changed the License & corrected the URL along with the updated version of the package
Comment 3 Mo Morsi 2014-03-02 06:41:32 EST
Hey Nitesh some more comments:

- Please rename the spec to 'rubygem-cookiejar.spec' so fedora-review will pick it up (srry for any confusion about this before)

- Please bump the release up top (the next on should be 3)

- Similarly please cleanup the changelog at the bottom, you should have an entry for each release w/ comments. The list should be in reverse chronological order, eg newest first to oldest last

- The rspec command in the %check section should be "rspec -Ilib spec"

- contributors.json should be rm'd or excluded

- The "%{gem_instdir}/spec/*" under the files list should be replaced with "%doc %{gem_instdir}/spec/"

- %{gem_cache} should be %exclude'd

- the LICENSE file should be part of the main package and marked as %doc
Comment 4 Nitesh Narayan Lal 2014-03-08 09:42:54 EST
I had updated the SPECS, thanks for holding on with this and helping.
Comment 5 Mo Morsi 2014-03-13 11:42:03 EDT
Everything looks good nitesh save one nit, the 'Requires: ruby(rubygems)' should be 'Requires: rubygems'. Other than that fedora-review looks good (see below), package builds in koji, and satisfies guidelines.


Giving you the ACK provided you make that change (please upload the final version here w/ the new release / changelog entry)

Note you still need sponsorship before this can make it in, we can sort that our via irc / email and/or continue working on packages.

Package Review

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

- gems should require rubygems package
  Note: Requires: rubygems missing in rubygem-cookiejar-doc
  See: http://fedoraproject.org/wiki/Packaging:Ruby#RubyGems

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

[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 7 files have unknown license. Detailed output of
     licensecheck in /home/mmorsi/workspace/fedora/rubygem-cookiejar/1063038
[ ]: License file installed when any subpackage combination is installed.
[ ]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/gems/gems/cookiejar-0.3.1/spec
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/gems,
     /usr/share/gems/doc, /usr/share/gems/gems/cookiejar-0.3.1/spec
[ ]: Package contains no bundled libraries without FPC exception.
[ ]: Changelog in prescribed format.
[ ]: 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
[ ]: Package uses nothing in %doc for runtime.
[ ]: Package consistently uses macros (instead of hard-coded directory names).
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
[ ]: Package obeys FHS, except libexecdir and /usr/target.
[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: Requires correct, justified where necessary.
[ ]: Spec file is legible and written in American English.
[ ]: Package contains systemd file(s) if in need.
[ ]: Package is not known to require an ExcludeArch tag.
[ ]: 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 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
[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
[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

[ ]: 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 =====

[ ]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[ ]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: 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.
[ ]: Package should compile and build into binary rpms on all supported
[ ]: %check is present and all tests pass.
[ ]: 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
[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 tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

[ ]: Specfile should use macros from rubygem-devel package.
     Note: The specfile doesn't use these macros: %doc
     /usr/share/gems/doc/cookiejar-0.3.1, %exclude
[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 =====

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

Checking: rubygem-cookiejar-0.3.1-2.fc21.noarch.rpm
rubygem-cookiejar-doc.noarch: W: no-documentation
rubygem-cookiejar.src:58: W: mixed-use-of-spaces-and-tabs (spaces: line 58, tab: line 2)
3 packages and 0 specfiles checked; 0 errors, 2 warnings.

Rpmlint (installed packages)
# rpmlint rubygem-cookiejar rubygem-cookiejar-doc
rubygem-cookiejar-doc.noarch: W: no-documentation
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'

rubygem-cookiejar (rpmlib, GLIBC filtered):

rubygem-cookiejar-doc (rpmlib, GLIBC filtered):



Source checksums
https://rubygems.org/gems/cookiejar-0.3.1.gem :
  CHECKSUM(SHA256) this package     : 36bf16f494e44539a5579f2adea44e4ed0209238f57b9081accbcbbd1f3bfe96
  CHECKSUM(SHA256) upstream package : 36bf16f494e44539a5579f2adea44e4ed0209238f57b9081accbcbbd1f3bfe96

Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -b 1063038
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Ruby, Shell-api
Disabled plugins: Java, C/C++, Python, SugarActivity, Perl, R, PHP
Disabled flags: EPEL5, EXARCH, DISTTAG
Comment 6 Nitesh Narayan Lal 2014-03-16 08:15:49 EDT
I had modified the spec as per the suggestions:
Comment 7 Mo Morsi 2014-03-19 12:29:57 EDT
Looks good. Please make sure to add a comment w/ the full url to the final spec and srpm.

Also going forward you may want to include more descriptive changelog entries than "update to comply with fedora guidelines". This package is fine, but something like "fix requirements" or "made __ specific change" for future changes / packages might be a good idea.

Email'd a sponsor to inquire about getting your sponsorship (cc'd you). We can take that aspect from there.
Comment 9 Mo Morsi 2014-05-28 08:23:03 EDT
Went through this and compared it to the updated guidelines for rawhide


From what I see the only change that is needed is removing the automatic requires. If you are just submitting this to rawhide you can remove the following completely:

Requires: ruby(release)
Requires: rubygems

As well as

Provides: rubygem(%{gem_name}) = %{version}

If you plan on including this package in F19 & F20, you will need to add the conditional around these, similar to here:


Other than that the spec still looks good.
Comment 10 Mo Morsi 2014-05-28 08:26:33 EDT
Note, while I linked the draft guidelines, they have been approved and are just pending the move over to the main ruby guidelines page on the Fedora wiki:

Comment 12 Nitesh Narayan Lal 2014-07-14 10:18:48 EDT
New Package SCM Request
Package Name:rubygem-cookiejar
Short Description:The Ruby CookieJar is a library to help manage client-side cookies in pure Ruby
Upstream URL: https://github.com/dwaite/cookiejar
Owners: niteshnarayan, mmorsi
Branches: f19 f20 f21 el6 epel7
Comment 13 Gwyn Ciesla 2014-07-14 14:02:09 EDT
Git done (by process-git-requests).
Comment 14 Fedora Update System 2014-07-15 14:01:52 EDT
rubygem-cookiejar-0.3.2-5.fc20 has been submitted as an update for Fedora 20.
Comment 15 Fedora Update System 2014-07-17 00:32:44 EDT
rubygem-cookiejar-0.3.2-5.fc20 has been pushed to the Fedora 20 testing repository.

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