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
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
Depends: - ruby-gnomecanvas2: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=232038
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-2.src.rpm
A question Why the multiple packages? You can have one srpm that builds all the ruby libs
I think that is the best alternative for this package. they are 21 packages with different dependencies.
Created attachment 150088 [details] Spec file for a single srpm
Thank you Stephanos, You already published your .spec for review here in bugzilla?
No. I wrote it as an exercise to learn how to build one before i start any submissions. Feel free to use it.
thanks again, you helped a lot
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-1.src.rpm
*** Bug 231981 has been marked as a duplicate of this bug. ***
*** Bug 232064 has been marked as a duplicate of this bug. ***
*** Bug 232043 has been marked as a duplicate of this bug. ***
*** Bug 232210 has been marked as a duplicate of this bug. ***
*** Bug 231983 has been marked as a duplicate of this bug. ***
*** Bug 231988 has been marked as a duplicate of this bug. ***
*** Bug 232038 has been marked as a duplicate of this bug. ***
*** Bug 232030 has been marked as a duplicate of this bug. ***
*** Bug 232158 has been marked as a duplicate of this bug. ***
*** Bug 232174 has been marked as a duplicate of this bug. ***
*** Bug 232169 has been marked as a duplicate of this bug. ***
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......
ping?
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.
Do you mean that the step 5 on http://fedoraproject.org/wiki/PackageMaintainers/NewPackageProcess does not work for now?
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....
Well, would you retry now?
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 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.
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
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)
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
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.
is there a problem with the site you posted the srpm? because i can't download it
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-3.src.rpm
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?
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-4.src.rpm
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
Sorry, I also have overlooked something. * ruby-gtk2-devel - rbgobject.h means that this requires ruby(glib2-devel)
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 ;]
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. ------------------------------------------------------
New Package CVS Request ======================= Package Name: ruby-gnome2 Short Description: ruby bindings for the GNOME-2.x Owners: allisson Branches: FC-6
Thanks Mamoru and Stephanos, The ruby-gnome2 "big one" is gone. http://buildsys.fedoraproject.org/logs/fedora-development-extras/31359-ruby-gnome2-0.16.0-5.fc7/ http://buildsys.fedoraproject.org/logs/fedora-6-extras/31360-ruby-gnome2-0.16.0-5.fc6/
Actually -5 enabled ruby-gtk2 support for kazehakase http://buildsys.fedoraproject.org/logs/fedora-development-extras/31363-kazehakase-0.4.5-2.fc7/
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
cvs done.
Package Change Request ====================== Package Name: ruby-gnome2 New Branches: F-12 Owners: itamarjp mtasaka Early branch request
CVS done.