Bug 721069 - Review Request: rubygem-aeolus-image - Commandline interface for working with the Aeolus cloud suite
Summary: Review Request: rubygem-aeolus-image - Commandline interface for working with...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mo Morsi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-13 16:03 UTC by Mo Morsi
Modified: 2011-09-01 11:24 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-07-25 12:20:22 UTC
Type: ---
markmc: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Mo Morsi 2011-07-13 16:03:07 UTC
Spec: http://mo.morsi.org/files/aeolus/rubygem-aeolus-cli.spec
SRPM: http://mo.morsi.org/files/aeolus/rubygem-aeolus-cli-0.0.1-1.fc15.src.rpm

Summary:
Commandline interface for working with the Aeolus cloud suite

Comment 1 Chris Lalancette 2011-07-14 13:48:31 UTC
I'm going to take this one, but before we do anything with it, I think I'm going to rename the upstream rubygem to aeolus-image.  It just makes more sense that way.  I'll come back around to this once that is done.

Comment 2 Mo Morsi 2011-07-15 14:15:25 UTC
Rebuilt the rpms w/ the changed name and to comply to more Fedora guidelines

Spec: http://mo.morsi.org/files/aeolus/rubygem-aeolus-image.spec
SRPM: http://mo.morsi.org/files/aeolus/rubygem-aeolus-image-0.0.1-2.fc15.src.rpm

Changes to the specfile submitted to list here

https://fedorahosted.org/pipermail/aeolus-devel/2011-July/003182.html

Comment 3 Mo Morsi 2011-07-15 14:17:07 UTC
Koji Build:  http://koji.fedoraproject.org/koji/taskinfo?taskID=3201364

Comment 4 Mark McLoughlin 2011-07-18 16:46:29 UTC
The main issue I see is that you're packaging a snapshot of upstream's 0.0.1, but the package doesn't include the git commit ID in the release number

rpmlint output:

$> rpmlint rubygem-aeolus-image.spec 
rubygem-aeolus-image.spec:36: W: unversioned-explicit-obsoletes rubygem-aeolus-cli
rubygem-aeolus-image.spec:37: W: unversioned-explicit-provides rubygem(aeolus-cli)
0 packages and 1 specfiles checked; 0 errors, 2 warnings.

$> $ rpmlint rubygem-aeolus-image-0.0.1-2.fc15.src.rpm 
rubygem-aeolus-image.src: W: spelling-error Summary(en_US) Commandline -> Command line, Command-line, Commanding
rubygem-aeolus-image.src:36: W: unversioned-explicit-obsoletes rubygem-aeolus-cli
rubygem-aeolus-image.src:37: W: unversioned-explicit-provides rubygem(aeolus-cli)
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

$> $ rpmlint rubygem-aeolus-image-0.0.1-2.fc14.noarch.rpm
rubygem-aeolus-image.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/PushCommand/combo_implemented%3f-i.yaml %3f
rubygem-aeolus-image.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/BuildCommand/combo_implemented%3f-i.yaml %3f
rubygem-aeolus-image.noarch: E: non-standard-executable-perm /usr/lib/ruby/gems/1.8/gems/aeolus-image-0.0.1/bin/aeolus-image 0775L
rubygem-aeolus-image.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/BaseCommand/is_file%3f-i.yaml %3f
rubygem-aeolus-image.noarch: W: non-standard-dir-in-usr man
1 packages and 0 specfiles checked; 1 errors, 4 warnings.


Review comments:

 - I really don't think we should worry about the aeolus-cli renaming. The cli 
   pkg wasn't part of any upstream release or in Fedora, so I'd just ignore its
   existence

   If you still want to obsolete it, the obsoletes and provides should be
   versioned according to:

http://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages

   i.e.

     Provides: rubygem(aeolus-cli) = %{version}-%{release}
     Obsoletes: rubygem(aeolus-cli) < 0.0.1

 - "Command-line" in Summary instead of "Commandline"

 - You want %{mandir}/* not %{mandir} - the pkg shouldn't own /usr/man/man1

 - Also, it's /usr/share/man not /usr/man - in fact, use the %{_mandir} macro

 - I'm not sure what you're doing here:

     mkdir -p %{buildroot}/%{_bindir}
     mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
     find %{buildroot}%{geminstdir}/bin -type f | xargs chmod a+x
     rmdir %{buildroot}%{gemdir}/bin

   Are you chmod-ing the wrong file here?

   Perhaps you meant:

     mkdir -p %{buildroot}/%{_bindir}
     mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
     rmdir %{buildroot}%{gemdir}/bin
     rm -rf %{buildroot}%{geminstdir}/bin

   This fixes the non-standard-exuctable-perms error too btw

Comment 5 Mark McLoughlin 2011-07-18 16:55:35 UTC
(In reply to comment #4)
 
>  - I'm not sure what you're doing here:
> 
>      mkdir -p %{buildroot}/%{_bindir}
>      mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
>      find %{buildroot}%{geminstdir}/bin -type f | xargs chmod a+x
>      rmdir %{buildroot}%{gemdir}/bin
> 
>    Are you chmod-ing the wrong file here?
> 
>    Perhaps you meant:
> 
>      mkdir -p %{buildroot}/%{_bindir}
>      mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
>      rmdir %{buildroot}%{gemdir}/bin
>      rm -rf %{buildroot}%{geminstdir}/bin
> 
>    This fixes the non-standard-exuctable-perms error too btw

Doh, silly me.

Maybe all you need is:

     find %{buildroot}%{geminstdir}/bin -type f | xargs chmod g-w

Comment 6 Mark McLoughlin 2011-07-19 17:05:40 UTC
(In reply to comment #4)
> The main issue I see is that you're packaging a snapshot of upstream's 0.0.1,
> but the package doesn't include the git commit ID in the release number

Looks like this will be resolved by a release as part of Aeolus's 0.3.0 release this week:

  https://fedorahosted.org/pipermail/aeolus-devel/2011-July/003225.html
  https://fedorahosted.org/pipermail/aeolus-devel/2011-July/003226.html

Comment 7 Mo Morsi 2011-07-20 17:37:25 UTC
Addressed all feedback. rpmlint is now quiet. Removed obsoletes(aeolus-cli). Fixed the man pages file ownership.

Will use the released version when that is pushed to the official repo.

Spec: http://mo.morsi.org/files/aeolus/rubygem-aeolus-image.spec
SRPM:
http://mo.morsi.org/files/aeolus/rubygem-aeolus-image-0.0.1-3.fc15.src.rpm
Koji Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3215809

Comment 8 Mark McLoughlin 2011-07-21 06:57:39 UTC
Looks great to me now, still some whining from rpmlint:

$ rpmlint rubygem-aeolus-image-0.0.1-3.fc14.noarch.rpm
rubygem-aeolus-image.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/PushCommand/combo_implemented%3f-i.yaml %3f
rubygem-aeolus-image.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/BuildCommand/combo_implemented%3f-i.yaml %3f
rubygem-aeolus-image.noarch: W: unexpanded-macro /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/BaseCommand/is_file%3f-i.yaml %3f
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

But that looks like a false positive to me - %3f isn't an RPM macro

Also, we need this:

- Requires: rubygem(image_factory_console) >= 0.4.0
- Requires: rubygem(imagefactory-console) >= 0.4.0

Finally, there's an upstream 0.0.1 release now. We should use that from an official URL rather than building our own gem

Comment 9 Mo Morsi 2011-07-21 20:19:35 UTC
(In reply to comment #8)
> Looks great to me now, still some whining from rpmlint:
> 
> $ rpmlint rubygem-aeolus-image-0.0.1-3.fc14.noarch.rpm
> rubygem-aeolus-image.noarch: W: unexpanded-macro
> /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/PushCommand/combo_implemented%3f-i.yaml
> %3f
> rubygem-aeolus-image.noarch: W: unexpanded-macro
> /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/BuildCommand/combo_implemented%3f-i.yaml
> %3f
> rubygem-aeolus-image.noarch: W: unexpanded-macro
> /usr/lib/ruby/gems/1.8/doc/aeolus-image-0.0.1/ri/Aeolus/Image/BaseCommand/is_file%3f-i.yaml
> %3f
> 1 packages and 0 specfiles checked; 0 errors, 3 warnings.
> 
> But that looks like a false positive to me - %3f isn't an RPM macro

This occurs on every ruby package that includes ri documentation and can safely be ignored.

> 
> Also, we need this:
> 
> - Requires: rubygem(image_factory_console) >= 0.4.0
> - Requires: rubygem(imagefactory-console) >= 0.4.0

Done


> 
> Finally, there's an upstream 0.0.1 release now. We should use that from an
> official URL rather than building our own gem

Done


Updated:
Spec: http://mo.morsi.org/files/aeolus/rubygem-aeolus-image.spec
SRPM:
http://mo.morsi.org/files/aeolus/rubygem-aeolus-image-0.0.1-4.fc15.src.rpm

Comment 10 Mark McLoughlin 2011-07-22 10:12:36 UTC
Sorry to drag this out further, but:

  1) The Source URL doesn't seem to work. It does seem to work after you follow
     this:

       http://github.com/aeolusproject/aeolus-image/tarball/v0.0.1

     but then it gets deleted after a while

  2) "The Source of the package must be the full URL to the released Gem archive"
     http://fedoraproject.org/wiki/Packaging:Ruby#Ruby_Gems

     I had expected we'd build a gem from the v0.0.1 tag in git, upload it 
     somewhere (fedorapeople perhaps) and use that as the Source URL

  3) The License is "GPLv2+ or Ruby" - should just be GPLv2+, right?

Comment 12 Mo Morsi 2011-07-22 12:36:51 UTC
OK updated Source0 to reflect released gem (we should push this to rubygems.org)

Updated:
Spec: http://mo.morsi.org/files/aeolus/rubygem-aeolus-image.spec
SRPM:
http://mo.morsi.org/files/aeolus/rubygem-aeolus-image-0.0.1-4.fc15.src.rpm

Comment 13 Mark McLoughlin 2011-07-22 13:56:23 UTC
(In reply to comment #12)
> OK updated Source0 to reflect released gem (we should push this to
> rubygems.org)

Could you give me some pointers on aeolus-devel on how to do the rubygems.org piece? Thanks

> Updated:
> Spec: http://mo.morsi.org/files/aeolus/rubygem-aeolus-image.spec
> SRPM:
> http://mo.morsi.org/files/aeolus/rubygem-aeolus-image-0.0.1-4.fc15.src.rpm

Yay! :)

Comment 14 Mo Morsi 2011-07-22 14:24:45 UTC
New Package SCM Request
=======================
Package Name: rubygem-aeolus-image
Short Description: Commandline interface for working with the Aeolus cloud suite
Owners: mmorsi

Comment 15 Mo Morsi 2011-07-22 14:25:37 UTC
Sorry, didn't copy all of the request template

New Package SCM Request
=======================
Package Name: rubygem-aeolus-image
Short Description: Commandline interface for working with the Aeolus cloud
suite
Owners: mmorsi
Branches: 
InitialCC:

Comment 16 Gwyn Ciesla 2011-07-22 15:21:54 UTC
Git done (by process-git-requests).

Comment 17 Mo Morsi 2011-07-25 12:20:22 UTC
Pushed to rawhide and built.


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