Bug 232160 - Review Request: ruby-gnome2 - A ruby binding of libgnome/libgnomeui-2.x
Review Request: ruby-gnome2 - A ruby binding of libgnome/libgnomeui-2.x
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Package Reviews List
:
: 231981 231983 231988 232030 232038 232043 232064 232158 232169 232174 232210 (view as bug list)
Depends On: 234330
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-13 21:23 EDT by Allisson Azevedo
Modified: 2009-09-21 21:32 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-04-10 20:57:23 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
mtasaka: fedora‑review+
tibbs: fedora‑cvs+


Attachments (Terms of Use)
Spec file for a single srpm (15.64 KB, application/octet-stream)
2007-03-14 16:05 EDT, Stephanos Manos
no flags Details
mock build log of 0.16.0-1 with libgnomeprintui added to BR (689.44 KB, text/plain)
2007-03-25 14:17 EDT, Mamoru TASAKA
no flags Details
mock build log of ruby-gnome2-0.16.0-2 on FC-devel i386 (655.68 KB, text/plain)
2007-04-04 11:50 EDT, Mamoru TASAKA
no flags Details

  None (edit)
Description Allisson Azevedo 2007-03-13 21:23:41 EDT
Spec URL: http://fedora.allisson.eti.br/ruby-gnome2/ruby-gnome2.spec
SRPM URL: http://fedora.allisson.eti.br/ruby-gnome2/ruby-gnome2-0.16.0-1.src.rpm

Description: Ruby/GNOME2 is a Ruby binding of libgnome/libgnomeui-2.x
Comment 1 Allisson Azevedo 2007-03-13 22:28:54 EDT
Depends:

- ruby-glib2-devel: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=231981
- ruby-gtk2-devel: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=232064
Comment 2 Allisson Azevedo 2007-03-14 07:43:28 EDT
Depends:

- ruby-gnomecanvas2: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=232038
Comment 4 Stephanos Manos 2007-03-14 15:40:34 EDT
A question
Why the multiple packages? You can have one srpm that builds all the ruby libs
Comment 5 Allisson Azevedo 2007-03-14 15:58:28 EDT
I think that is the best alternative for this package. 

they are 21 packages with different dependencies.
Comment 6 Stephanos Manos 2007-03-14 16:05:24 EDT
Created attachment 150088 [details]
Spec file for a single srpm
Comment 7 Allisson Azevedo 2007-03-14 16:23:38 EDT
Thank you Stephanos,

You already published your .spec for review here in bugzilla?
Comment 8 Stephanos Manos 2007-03-14 17:55:26 EDT
No.
I wrote it as an exercise to learn how to build one before i start any
submissions. Feel free to use it. 
Comment 9 Allisson Azevedo 2007-03-14 18:06:47 EDT
thanks again, you helped a lot
Comment 11 Mamoru TASAKA 2007-03-25 01:31:13 EDT
*** Bug 231981 has been marked as a duplicate of this bug. ***
Comment 12 Mamoru TASAKA 2007-03-25 03:09:11 EDT
*** Bug 232064 has been marked as a duplicate of this bug. ***
Comment 13 Mamoru TASAKA 2007-03-25 03:09:23 EDT
*** Bug 232043 has been marked as a duplicate of this bug. ***
Comment 14 Mamoru TASAKA 2007-03-25 03:10:32 EDT
*** Bug 232210 has been marked as a duplicate of this bug. ***
Comment 15 Mamoru TASAKA 2007-03-25 03:10:54 EDT
*** Bug 231983 has been marked as a duplicate of this bug. ***
Comment 16 Mamoru TASAKA 2007-03-25 03:11:27 EDT
*** Bug 231988 has been marked as a duplicate of this bug. ***
Comment 17 Mamoru TASAKA 2007-03-25 03:12:06 EDT
*** Bug 232038 has been marked as a duplicate of this bug. ***
Comment 18 Mamoru TASAKA 2007-03-25 03:12:23 EDT
*** Bug 232030 has been marked as a duplicate of this bug. ***
Comment 19 Mamoru TASAKA 2007-03-25 03:13:15 EDT
*** Bug 232158 has been marked as a duplicate of this bug. ***
Comment 20 Mamoru TASAKA 2007-03-25 03:13:22 EDT
*** Bug 232174 has been marked as a duplicate of this bug. ***
Comment 21 Mamoru TASAKA 2007-03-25 03:14:09 EDT
*** Bug 232169 has been marked as a duplicate of this bug. ***
Comment 22 Mamoru TASAKA 2007-03-25 14:17:13 EDT
Created attachment 150856 [details]
mock build log of 0.16.0-1 with libgnomeprintui added to BR

Well, for 0.16.0-1:

* SourceURL
  - For source URL. check:
    http://fedoraproject.org/wiki/Packaging/SourceURL

* Conditional dependency
  -ruby-cairo
   Well, "ruby extconf.rb" log says many time about
   the following:
---------------------------------------------------
rb_cairo.h... no
---------------------------------------------------
   According to gooling, this may be enabled by
   using ruby-cairo.
   http://cairo.freedesktop.org/rcairo
   IMO you should submit ruby-cairo first (as I cannot
   find currently on Fedora) and use ruby-cairo for
   this.
  - And please check other conditional dependency
    i.e. check the line in which "ruby extconf.rb" says
	 "no".

* BuildRequires
  - Mockbuild fails on FC-devel i386.
    libgnomeprint22-devel BR for ruby-gnomeprintui2 should
    be libgnomeprintui22-devel.

* Release specific dependency
  - Usually, the requires/provides, especially for
    main package should be release number specific

* Requires
  - Please check the requirement for each subpackage
    precisely.
    Usually, this can be examined by checking the
    line which contains #include word in header files
    (and something else if needed)

    EXAMPLE:
    Currently, ruby-atk-devel requires
------------------------------------------------------
Requires:	ruby(atk) = %{version}
------------------------------------------------------

    However,
    /usr/lib/ruby/site_ruby/1.8/i386-linux/rbatk.h
    in ruby-atk-devel contains the file:
------------------------------------------------------
    10	#include "ruby.h"
    11	#include <atk/atk.h>
    12	#include <atk/atk-enum-types.h>
    13	#include <atk/atknoopobject.h>
    14	#include <atk/atknoopobjectfactory.h>
    15	#include "rbgobject.h"
    16	#include "rbatkversion.h"
------------------------------------------------------
    This means that ruby-atk-devel should require
    ruby-devel, atk-devel, ruby-glib-devel(=ruby(glib-devel)).

* Group
  - "Development" group should not be used for non-devel
    package. Usually "System Environment/Libraries" should
    be used.

* Timestamps
  - Please keep timestamps for *.rb *.h text files.
    These files are not created nor modified at build
    stage and installed directly from tarball.
    * For .rb files, timestamps are kept by
-----------------------------------------------
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p"
-----------------------------------------------
    * For header files, it is a bit difficult.
      Well, actually there is a way, however my way is
      somewhat ugly and I wonder if I should stick to
      keep timestamps by doing so...

    ? However, would you ask upstream to keep timestamps
      on *.rb *.h files by default?

* Gecko engine dependency
  - Well, I have to explain this a bit longer.
  # Summary
    - You must specify what version of firefox you used
      for build time.
      i.e. you must use "BuildRequires: firefox-devel = <VERSION>"
    - You must specify version specific dependency against
      firefox for ruby-gtkmozembed.
      i.e. you must write for ruby-gtkmozembed:
	   Requires: firefox = <version>
    - NOTE:
      firefox version may differ on each branches (devel/FC-6/FC-5).

  # Explanation
    - Well, what ruby-gtkmozembed requires are:
--------------------------------------------------------
[tasaka1@localhost ruby-gnome2]$ rpm -q --requires ruby-gtkmozembed | egrep
'(moz|xp)'
libgtkembedmoz.so
libxpcom.so
--------------------------------------------------------
      NOTE that only basenames are checked by rpm.
      However, ldd -r shows:
--------------------------------------------------------
[tasaka1@localhost ruby-gnome2]$ ldd -r
/usr/lib/ruby/site_ruby/1.8/i386-linux/gtkmozembed.so 2>/dev/null | egrep
'(moz|xpcom)'
	libgtkembedmoz.so => /usr/lib/firefox-2.0.0.3/libgtkembedmoz.so
(0x00110000)
	libxpcom.so => /usr/lib/firefox-2.0.0.3/libxpcom.so (0x0012f000)
	libxpcom_core.so => /usr/lib/firefox-2.0.0.3/libxpcom_core.so
(0x00cad000)
---------------------------------------------------------
      Here, the directory /usr/lib/firefox-2.0.0.3 is not in default
      library path and actually gtkmozembed.so has rpath.
---------------------------------------------------------
[tasaka1@localhost ruby-gnome2]$ objdump -T --headers --private-headers
/usr/lib/ruby/site_ruby/1.8/i386-linux/gtkmozembed.so  | grep RPATH
  RPATH       /usr/lib/firefox-2.0.0.3
---------------------------------------------------------
       So, if firefox is updated to 2.0.0.4, it succeeds without any complaint,

       because rpm does not check rpath dependency.
       However gtkmozembed.so actually requires libxpcom.so under
       /usr/lib/firefox-2.0.0.3, so ruby-gtkmozembed gets unusable.

       To aviod this, we have to specify version dependency against
       firefox explicitly.

* Summary
  - Well, IMO summary should not be a sentence, but should be
    an noun phrase, like
----------------------------------------------------------
Summary: Ruby binding of libgnome/libgnomeui-2.x
----------------------------------------------------------
   - and, summary/description should be different between
     a subpackage and its development part subpackage.
     i.e. summary/description of ruby-atk/ruby-atk-devel should
	  be different, for example.

* Macro
  - Please use macros. E.g. /usr/bin -> %{_bindir}


I have not checked yet for
- what documents should be added to each subpackage
- whether license is correct and is of no problem
- and something else......
Comment 23 Mamoru TASAKA 2007-03-28 07:31:35 EDT
ping?
Comment 24 Allisson Azevedo 2007-03-28 07:43:40 EDT
Hi Mamoru,

Yes! i'm alive! :]

I'll try to post a bug review for ruby-cairo but the bugzilla show me the error:
 A legal Severity was not set.
Comment 25 Mamoru TASAKA 2007-03-28 08:22:43 EDT
Do you mean that the step 5 on
http://fedoraproject.org/wiki/PackageMaintainers/NewPackageProcess
does not work for now?
Comment 26 Mamoru TASAKA 2007-03-28 08:34:25 EDT
Oh, it seems that you are not only the person who got troubled
according to the mail posted on fedora extras list. So
please just wait....
Comment 27 Mamoru TASAKA 2007-03-28 09:45:33 EDT
Well, would you retry now?
Comment 28 Allisson Azevedo 2007-03-28 09:55:34 EDT
Error again.
Since yesterday presents this bug.

Error message: Internal Error

Bugzilla has suffered an internal error. Please save this page and send it to
bugzilla-owner@redhat.com with details of what you were doing at the time this
message appeared along with the full URL string from your browser location window.
A legal Severity was not set.
Comment 29 Mamoru TASAKA 2007-03-28 10:28:24 EDT
Well, then would you try normal bugzilla report with
the following?

* Product Fedora Extras
* Version devel
* Component Package Review
* Summary  Review Request: <main package name here> - <short summary here> 
* Description
------------------------------------------------
Spec URL: <spec info here>
SRPM URL: <srpm info here>
Description: <description here>
-------------------------------------------------

https://bugzilla.redhat.com/bugzilla/enter_bug.cgi
Comment 30 Stephanos Manos 2007-03-28 13:19:38 EDT
A couple of suggestions
1. You do not need to list the same BR's for each subpackage. Just list them all
in the beginning all together.
2. the poppler module will not build in FC5 because of lower version than
required (that was the reason that i excluded it in my spec.
3. FC5 has mozilla-devel and not firefox-devel
4. gtkglext has a BR (listed in the readme file) for rbogl.


Also
I was under the impression that we should in provide use the modules name as
provided by the author i.e. ruby(GConf2) instead of ruby(gconf2)
Comment 31 Mamoru TASAKA 2007-03-28 13:43:45 EDT
Well, for FC-5 support:

I must say that now supporting FC-5 should be regarded
as a option. Actually not a few packagers import their
packages into FC-devel and FC-6, not on FC-5. Then:

(In reply to comment #30)
> 2. the poppler module will not build in FC5 because of lower version than
> required (that was the reason that i excluded it in my spec.
Then this should be treated by %if macro and 
disabling -poppler subpackage should happen only on FC-5.

> 3. FC5 has mozilla-devel and not firefox-devel
However, don't use mozilla-devel. mozilla is now obsoleted
also on FC-5 and _must_ not be used.
If you want to support -gtkmozembed subpackage, then
use "seamonkey-devel".

NOTE: to use seamonkey-devel, a _special_ treatment is
      needed
Comment 33 Mamoru TASAKA 2007-04-04 11:50:47 EDT
Created attachment 151671 [details]
mock build log of ruby-gnome2-0.16.0-2 on FC-devel i386

Well, for -2:
This time mockbuild is no problem on FC-devel i386.

* License
  - Please check license. For me it seems that this package
    is licensed under LGPL.

* Gecko engine dependency
  - Well, for rpath issue, version direction
    is also required for Requires. i.e.
---------------------------------------------
BuildRequires: firefox-devel = 2.0.0.3
Requires:      firefox = 2.0.0.3
---------------------------------------------
    for example.

* Requires
  - Well, check the Requires tree and remove redundant
    Requires.

    EXAMPLE: (this is only a example. please check
    others!!)
    For now ruby-gnome2 has:
---------------------------------------------
Requires:	ruby(glib2) = %{version}-%{release} 
Requires:	ruby(gtk2) = %{version}-%{release}
Requires:	ruby(gnomecanvas2) = %{version}-%{release}
---------------------------------------------
    However, /usr/lib/ruby/site_ruby/1.8/gnome2.rb contains
    only
---------------------------------------------
     1	require 'gnomecanvas2'
     2	require 'gnome2.so'
---------------------------------------------
    for require and thus Requires for ruby(glib2), rubly(gtk2) should
    not be needed
    Perhaps other packages also have to be checked.

    ANOTHER EXAMPLE
    For now ruby-gtk2 contains
---------------------------------------------
BuildRequires: ruby ruby-devel gtk2-devel pango-devel cairo-devel
ruby-cairo-devel
---------------------------------------------
    However
    * ruby-devel should be required by ruby-cairo-devel
    * cairo-devel should be required by ruby-cairo-devel
    * pango-devel is required by gtk2-devel
    So, "ruby-devel pango-devel cairo-devel" is redundant for BuildRequires.

  - And some questionable Requires is found.
    EXAMPLE:
    In ruby-atk-devel, it seems that Requires for ruby-devel is written
    twice.

    (Well, what I wrote is only examples and perhaps some other fixes are
     also needed)

* prep/build stage
---------------------------------------------
ruby extconf.rb
---------------------------------------------
  - IMO this is similar with general configure and
    this should be moved to %build stage.
Comment 34 Stephanos Manos 2007-04-04 19:38:51 EDT
is there a problem with the site you posted the srpm? because i can't download it 
Comment 35 Mamoru TASAKA 2007-04-09 09:50:08 EDT
ping?
Comment 37 Mamoru TASAKA 2007-04-09 11:06:48 EDT
Before checking ruby-gnome again:

E: ruby-gdkpixbuf2 devel-dependency ruby-cairo-devel
E: ruby-pango devel-dependency ruby-cairo-devel
E: ruby-poppler devel-dependency ruby-cairo-devel
E: ruby-rsvg devel-dependency ruby-cairo-devel

Would you fix these error first and resubmit?
Comment 39 Mamoru TASAKA 2007-04-09 16:09:39 EDT
Well, for -4:

* Requires
  - Still some cleanup seems needed. Well, there are 26 subpackages
    and examining proper dependency is a bit hard work. I appreciate
    your good work. Then:

    ( = means okay, * means some fixes needed ).
    * ruby-gnome2
      - Requires: ruby(glib2) seems unneeded.
    = ruby-atk
    = ruby-atk-devel
    = ruby-gconf2
    * ruby-gdkpixbuf2
      - ruby-cairo dependency should be ruby(cairo)
    = ruby-glib2
    = ruby-glib2-devel
    = ruby-gnomecanvas2
    = ruby-gnomeprint2
    = ruby-gnomeprintui2
    * ruby-gnomevfs
      - Why does this provide ruby(glib2)?
        Perhaps Requires: ruby(glib2) = %{version}-%{release}?
    = ruby-gtk2
    * ruby-gtk2-devel
      - gdk-pixbuf-devel is gtk 1.0 version and should not
        be needed.
    ? ruby-gtkglext
      - What provides "require 'opengl'" in 
        /usr/lib/ruby/site_ruby/1.8/gtkglext.rb ?
        IMO it is http://ruby-opengl.rubyforge.org/ .
        If you can submit the review request of this (ruby-opengl) soon,
        would you submit? If not, leave as it is for now.

    * ruby-gtkhtm2
      - This should be ruby-gtkhtml2
    = ruby-gtkmozembed
    = ruby-gtksourceview
    = ruby-libart2
    = ruby-libart2-devel
    = ruby-libglade2
    = ruby-applet2
    * ruby-pango
      - ruby-cairo dependency should be ruby(cairo)
    * ruby-pango-devel
      - ruby-cairo-devel seems required.
    * ruby-poppler
      - ruby-cairo dependency should be ruby(cairo)
      (-) ruby(glib2) dependency is redundant because ruby(gtk2) requires
          ruby(glib2).
    * ruby-rsvg
      - ruby-cairo dependency should be ruby(cairo)
      (-) ruby(glib2) dependency is redundant because ruby(gdkpixbuf2)
          requires ruby(glib2)
    = ruby-vte
Comment 40 Mamoru TASAKA 2007-04-09 17:05:02 EDT
Sorry, I also have overlooked something.
* ruby-gtk2-devel
  - rbgobject.h means that this requires ruby(glib2-devel)
Comment 41 Allisson Azevedo 2007-04-09 22:19:16 EDT
Update package:

Spec URL: http://fedora.allisson.eti.br/ruby-gnome2/ruby-gnome2.spec
SRPM URL: http://fedora.allisson.eti.br/ruby-gnome2/ruby-gnome2-0.16.0-5.src.rpm

I'm not submit review for ruby-opengl now because is rubygem only, perhaps later ;]
Comment 42 Mamoru TASAKA 2007-04-10 07:57:30 EDT
Okay.

* Requires/BuildRequires now fixed
* Actually -5 successfully enables ruby support for kazehakase
  (which I currently maintain)

------------------------------------------------------
   This package (ruby-gnome2) is APPOVED by me.
------------------------------------------------------
Comment 43 Allisson Azevedo 2007-04-10 08:10:13 EDT
New Package CVS Request
=======================
Package Name: ruby-gnome2
Short Description: ruby bindings for the GNOME-2.x
Owners: allisson@gmail.com
Branches: FC-6
Comment 45 Mamoru TASAKA 2007-04-10 21:18:05 EDT
Actually -5 enabled ruby-gtk2 support for kazehakase
http://buildsys.fedoraproject.org/logs/fedora-development-extras/31363-kazehakase-0.4.5-2.fc7/
Comment 46 Matthias Saou 2009-01-09 12:33:07 EST
As discussed in bug #478633 I am hereby requesting the EL-5 branch for this package to be created, with me as the owner :

Package Change Request
======================
Package Name: ruby-gnome2
New Branches: EL-5
Owners: thias
Comment 47 Kevin Fenzi 2009-01-11 12:23:36 EST
cvs done.
Comment 48 Mamoru TASAKA 2009-09-18 16:24:34 EDT
Package Change Request
======================
Package Name: ruby-gnome2
New Branches: F-12
Owners: itamarjp mtasaka

Early branch request
Comment 49 Jason Tibbitts 2009-09-21 21:32:48 EDT
CVS done.

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