[Bug 232160] Review Request: ruby-gnome2 - A ruby binding of libgnome/libgnomeui-2.x

bugzilla at redhat.com bugzilla at redhat.com
Sun Mar 25 18:17:24 UTC 2007


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Review Request: ruby-gnome2 - A ruby binding of libgnome/libgnomeui-2.x


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





------- Additional Comments From mtasaka at ioa.s.u-tokyo.ac.jp  2007-03-25 14:17 EST -------
Created an attachment (id=150856)
 --> (https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=150856&action=view)
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 at 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 at 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 at 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......


-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.




More information about the Fedora-package-review mailing list