Bug 684835

Summary: Review Request: deltacloud-core - Deltacloud REST API server
Product: [Fedora] Fedora Reporter: Michal Fojtik <mfojtik>
Component: Package ReviewAssignee: Vít Ondruch <vondruch>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, vondruch
Target Milestone: ---Flags: vondruch: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: deltacloud-core-0.3.0-4.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-17 01:06:29 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:

Description Michal Fojtik 2011-03-14 15:47:42 UTC
Spec URL: http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core.spec
SRPM URL: http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core-0.2.0-3.fc14.src.rpm
Description:
The Deltacloud API is built as a service-based REST API.
You do not directly link a Deltacloud library into your program to use it.
Instead, a client speaks the Deltacloud API over HTTP to a server
which implements the REST interface.

Comment 1 Michal Fojtik 2011-03-14 15:48:21 UTC
Koji build:

http://koji.fedoraproject.org/koji/taskinfo?taskID=2911216

Comment 2 Vít Ondruch 2011-03-15 12:01:27 UTC
I am taking this one.

Comment 3 Vít Ondruch 2011-03-15 13:48:24 UTC
* Cleaning
  - "rm -rf %{buildroot}" at the top of %install and %clean sections
    is no longer needed:
    https://fedoraproject.org/wiki/Packaging/Guidelines#.25clean

* Duplicated BuildRequires
  - BuildRequires: rubygem(json) is duplicated

* Test suite
  - It is interesting is that following commands provides different output:
      1) testrb tests/*_test.rb tests/drivers/mock/*_test.rb
      2) testrb tests/drivers/mock/*_test.rb tests/*_test.rb
      3) rake test
    while they should be equivalent.

* Missing runtime Requires:

  [vondruch@dhcp-25-40 result]$ deltacloudd -i mock
  Starting Deltacloud API :: mock :: http://localhost:3001/api

  ERROR: no such file to load -- rack/accept

  - Please compare with the BuildRequires which are sufficient. There are very
    probably missing nokogiri, rake-accept and may be others.
        
* Deleting the %{_builddir}
  - It is bad practice to delete %{_builddir} in installation step. It is not
    harmful in this particular case, but once there would be binary extensions
    it may cause troubles. This is coming from Ruby guidelines:

"Finally at %install stage the whole tree under the directory created at %prep stage should be copied (not moved) to under %{buildroot}%{gemdir}.

    When all tree under the directory created at %prep stage is moved to under
    %{buildroot}, find_debuginfo.sh will complain that the corresponding source
    files are missing."

* Garbage in support folder?
  - It seems that folder /usr/share/deltacloud-core/support contains some
    unnecessary stuff, potentially garbage? There is only "deltacloud-core"
    which is later moved into %{_initdir}, the rest should not be installed,
    nor it should be part of the gem IMO.

* Upstream
  - The upstream package is not available yet. Please synchronize the release
    with upstream.

* Documentation
  - COPYING file should be marked as %doc.
  - Rakefile should be moved into doc subpackage, since it is not required by
    runtime

* MUST: A package must own all directories that it creates.
  - Package does not own the %{app_root}/public directory (at least it stays on
    my system after uninstall).

Comment 4 Michal Fojtik 2011-03-15 16:35:34 UTC
(In reply to comment #3)
> * Cleaning
>   - "rm -rf %{buildroot}" at the top of %install and %clean sections
>     is no longer needed:
>     https://fedoraproject.org/wiki/Packaging/Guidelines#.25clean

Fixed.

> 
> * Duplicated BuildRequires
>   - BuildRequires: rubygem(json) is duplicated

Removed.

> 
> * Test suite
>   - It is interesting is that following commands provides different output:
>       1) testrb tests/*_test.rb tests/drivers/mock/*_test.rb
>       2) testrb tests/drivers/mock/*_test.rb tests/*_test.rb
>       3) rake test
>     while they should be equivalent.

??

 
> * Missing runtime Requires:
> 
>   [vondruch@dhcp-25-40 result]$ deltacloudd -i mock
>   Starting Deltacloud API :: mock :: http://localhost:3001/api
> 
>   ERROR: no such file to load -- rack/accept

I moved some of BuildRequires to Requires. Thanks for pointing me on this.
 
>   - Please compare with the BuildRequires which are sufficient. There are very
>     probably missing nokogiri, rake-accept and may be others.
> 
> * Deleting the %{_builddir}
>   - It is bad practice to delete %{_builddir} in installation step. It is not
>     harmful in this particular case, but once there would be binary extensions
>     it may cause troubles. This is coming from Ruby guidelines:
> 
> "Finally at %install stage the whole tree under the directory created at %prep
> stage should be copied (not moved) to under %{buildroot}%{gemdir}.
> 
>     When all tree under the directory created at %prep stage is moved to under
>     %{buildroot}, find_debuginfo.sh will complain that the corresponding source
>     files are missing."

I removed that rmdir, but for this particular case I don't think this is necessary, since this package don't have any binary extensions (so no debug-info is needed)


> * Garbage in support folder?
>   - It seems that folder /usr/share/deltacloud-core/support contains some
>     unnecessary stuff, potentially garbage? There is only "deltacloud-core"
>     which is later moved into %{_initdir}, the rest should not be installed,
>     nor it should be part of the gem IMO.

Hmm this one is really weird, I check support folder and it's part of %doc subpackage.


> * Upstream
>   - The upstream package is not available yet. Please synchronize the release
>     with upstream.

Will do.


> * Documentation
>   - COPYING file should be marked as %doc.
>   - Rakefile should be moved into doc subpackage, since it is not required by
>     runtime

Files marked and moved Rakefile to %doc.

> 
> * MUST: A package must own all directories that it creates.
>   - Package does not own the %{app_root}/public directory (at least it stays on
>     my system after uninstall).

Marked with %dir

---------------------- rev 4 -----------------------

Spec URL: http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core.spec
SRPM URL: http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core-0.2.0-4.fc14.src.rpm

Comment 5 Michal Fojtik 2011-04-29 10:59:54 UTC
---------------------- version 0.3.0-r1 -----------------------------

http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core.spec
http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core-0.3.0-1.fc14.src.rpm

Changes:

 * Updated deltacloud-core to version 0.3.0

* Koji build:

  * http://koji.fedoraproject.org/koji/taskinfo?taskID=3035468

* rpmlint:

rpmlint ~/rpmbuild/SRPMS/deltacloud-core-0.3.0-1.fc14.src.rpm
deltacloud-core.src: I: enchant-dictionary-not-found en_US
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint ~/rpmbuild/RPMS/noarch/deltacloud-core-0.3.0-1.fc14.noarch.rpm 
deltacloud-core.noarch: I: enchant-dictionary-not-found en_US
deltacloud-core.noarch: W: no-manual-page-for-binary deltacloudd
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Comment 6 Vít Ondruch 2011-05-04 11:38:08 UTC
* the line "mkdir -p %{buildroot}%{_bindir}" in %install section is duplicated.

* "support" folder content
  - If I admit that support folder has some meaning for the original gem, it has
    not much sense on Fedora.
  - If I admit the Folder would be on Fedora, it should contain up-to-date
    content, e.g. the RPM spec file should be the same I am currently reviewing,
    but I am afraid you can never ever achieve it.
  - The easiest solution would be to delete it IMO.

> * Deleting the %{_builddir}
>   - It is bad practice to delete %{_builddir} in installation step. It is not
>     harmful in this particular case, but once there would be binary extensions
>     it may cause troubles. This is coming from Ruby guidelines:
> 
> "Finally at %install stage the whole tree under the directory created at %prep
> stage should be copied (not moved) to under %{buildroot}%{gemdir}.
> 
>     When all tree under the directory created at %prep stage is moved to under
>     %{buildroot}, find_debuginfo.sh will complain that the corresponding source
>     files are missing."

I pointed this once but I have to stress it again. Please, do not delete anything in %{_builddir}, unless you have very good reason. 

This time you are not exactly deleting but moving and the result might be the same. Moreover, the documentation is not generated due to "move" instead of "copy"

Comment 7 Michal Fojtik 2011-05-05 12:22:29 UTC
---------------------- version 0.3.0-r2 -----------------------------

http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core.spec
http://mifo.sk/fedora/deltacloud-core/master/deltacloud-core-0.3.0-2.fc14.src.rpm

Changes:

 * Fixed documentation generation
 * Replaced moving with copying
 * Removed support folder from doc subpackage

Comment 8 Vít Ondruch 2011-05-05 12:57:27 UTC
I have no other objections.

The package is APPROVED.

Comment 9 Michal Fojtik 2011-05-05 14:38:01 UTC
Package Change Request
======================
Package Name: deltacloud-core
New Branches: EL-5 EL-6 F14 F15
Owners: mfojtik

Comment 10 Jason Tibbitts 2011-05-05 18:20:10 UTC
This package does not appear to exist in pkgdb currently; you cannot submit a
change request for somethng that does not exist.

Can you please describe what you need the SVM admins to do for you?

Comment 11 Michal Fojtik 2011-05-06 08:34:41 UTC
Ah I'm sorry I copy&pasted wrong request....

New Package CVS Request
=======================
Package Name: deltacloud-core
Short Description: Deltacloud REST API server
Owners: mfojtik
Branches: F-14 F-15 EL-5 EL-6

Comment 12 Jason Tibbitts 2011-05-06 18:11:07 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2011-05-11 07:22:10 UTC
deltacloud-core-0.3.0-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/deltacloud-core-0.3.0-3.fc15

Comment 14 Fedora Update System 2011-05-11 07:22:55 UTC
deltacloud-core-0.3.0-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/deltacloud-core-0.3.0-3.fc14

Comment 15 Fedora Update System 2011-05-11 10:12:33 UTC
deltacloud-core-0.3.0-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/deltacloud-core-0.3.0-4.fc14

Comment 16 Fedora Update System 2011-05-11 13:40:17 UTC
deltacloud-core-0.3.0-4.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/deltacloud-core-0.3.0-4.fc15

Comment 17 Fedora Update System 2011-05-13 23:15:24 UTC
deltacloud-core-0.3.0-4.fc14 has been pushed to the Fedora 14 testing repository.

Comment 18 Fedora Update System 2011-05-17 01:06:24 UTC
deltacloud-core-0.3.0-4.fc14 has been pushed to the Fedora 14 stable repository.

Comment 19 Fedora Update System 2011-05-19 05:03:31 UTC
deltacloud-core-0.3.0-4.fc15 has been pushed to the Fedora 15 stable repository.