Bug#548678: kazehakase: Transition to xulrunner 1.9.1
В 11:14 +0200 на 01.10.2009 (чт), Mike Hommey написа: > > + g_printerr(_("Failed to initialize Gecko.\n")); > I would say that something that presents a popup to the user would be > better Good idea, I'll use GtkMessageDialog then. В 19:59 +0200 на 01.10.2009 (чт), Alexander Sack написа: > What exactly is chmsee doing? Conditionally defines a narrow GREVersionRange based on the xulrunner version detected at configure time. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Wed, Sep 30, 2009 at 02:46:25PM +0300, Yavor Doganov wrote: > The only way to support both 1.9 and 1.9.1 seems to be the way chmsee is > doing it. So I'm going to patch gecko.m4 and add a conditional for What exactly is chmsee doing? - Alexander -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Thu, Oct 01, 2009 at 12:11:52PM +0300, Yavor Doganov wrote: > В 08:05 +0200 на 01.10.2009 (чт), Mike Hommey написа: > > Then it should not have crashed, but only failed to start. > > Xulrunner is not initialized at browser startup, but only when you open > a new tab and start loading something, or via Preferences->Browser when > the rendering engines are checked. > > > Or maybe kazehakase doesn't properly handle the GRE glue failure > > cases. > > You are right, indeed -- the return value of `xulrunner_init' is never > checked, so that's why the user is greeted with SIGSEGV. What would be > the appropriate thing to do? Something like this: > > G_MODULE_EXPORT void > KZ_MODULE_IMPL_INIT (GTypeModule *module) > { > #ifdef XPCOM_GLUE > - xulrunner_init(); > + if (xulrunner_init() == FALSE) > + { > + g_printerr(_("Failed to initialize Gecko.\n")); > + exit(EXIT_FAILURE); > + } > ... > > ? I would say that something that presents a popup to the user would be better, but your solution should also work. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
В 08:05 +0200 на 01.10.2009 (чт), Mike Hommey написа: > Then it should not have crashed, but only failed to start. Xulrunner is not initialized at browser startup, but only when you open a new tab and start loading something, or via Preferences->Browser when the rendering engines are checked. > Or maybe kazehakase doesn't properly handle the GRE glue failure > cases. You are right, indeed -- the return value of `xulrunner_init' is never checked, so that's why the user is greeted with SIGSEGV. What would be the appropriate thing to do? Something like this: G_MODULE_EXPORT void KZ_MODULE_IMPL_INIT (GTypeModule *module) { #ifdef XPCOM_GLUE - xulrunner_init(); + if (xulrunner_init() == FALSE) + { + g_printerr(_("Failed to initialize Gecko.\n")); + exit(EXIT_FAILURE); + } ... ? -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Wed, Sep 30, 2009 at 02:46:25PM +0300, Yavor Doganov wrote: > В 07:47 +0200 на 30.09.2009 (ср), Mike Hommey написа: > > > I built with 1.9 and tried to run with 1.9. > > > > That's actually surprising. > > No, it is not, 0.5.{7,8} has: > > static const GREVersionRange greVersion = { > "1.9.1", PR_TRUE, > "2.0", PR_TRUE, > }; > > The only way to support both 1.9 and 1.9.1 seems to be the way chmsee is > doing it. So I'm going to patch gecko.m4 and add a conditional for > GREVersionRange. Then it should not have crashed, but only failed to start. Or maybe kazehakase doesn't properly handle the GRE glue failure cases. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
В 07:47 +0200 на 30.09.2009 (ср), Mike Hommey написа: > > I built with 1.9 and tried to run with 1.9. > > That's actually surprising. No, it is not, 0.5.{7,8} has: static const GREVersionRange greVersion = { "1.9.1", PR_TRUE, "2.0", PR_TRUE, }; The only way to support both 1.9 and 1.9.1 seems to be the way chmsee is doing it. So I'm going to patch gecko.m4 and add a conditional for GREVersionRange. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Tue, Sep 29, 2009 at 09:18:05PM +0300, Yavor Doganov wrote: > Alexander Sack wrote: > > As a rule of thumb the lower GRE Range must never be below whatever > > glue version you built against. > > That's what I'm saying. 0.5.7 drops 1.9 support, although it still > builds fine with 1.9. Even if the chmsee approach is implemented, the > code still needs to be updated for future xulrunner releases. It > seems to me that this part of the API is not well thought. > > > Did you build against 1.9 and then run with 1.9 > > I built with 1.9 and tried to run with 1.9. That's actually surprising. I would expect something built against 1.9 to work with 1.9. Are you sure it wasn't using 1.9.1 at run time ? (which is why it is better not to have a broad GREVersionRange) Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Tue, Sep 29, 2009 at 07:49:00PM +0200, Alexander Sack wrote: > On Tue, Sep 29, 2009 at 05:52:10PM +0300, Yavor Doganov wrote: > > В 16:21 +0200 на 29.09.2009 (вт), Mike Hommey написа: > > > Please don't. xulrunner 1.9 and 1.9.1 are not binary compatible, so a > > > binary built against xulrunner-1.9.1 and running with xulrunner 1.9 will > > > fail. > > > > Right :/ OTOH, I find it outrageous that a pristine upstream kazehakase > > 0.5.8 builds with 1.9 and crashes when being run (because the code > > assumes 1.9.1). > > > > As a rule of thumb the lower GRE Range must never be below whatever glue > version you built against. > > Did you build against 1.9 and then run with 1.9 or build with 1.9.1 glue and > then try to run against 1.9? Usually your build should be compatible with new > gre releases as long as you only use stable components/interfaces. Except there is really no way to make something that works as a browser with the stable interfaces. The net result is that a browser built against 1.9 runs with 1.9.1, but fails to work properly. Which is why I filed a bunch of bug reports about too broad GREVersionRanges. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
Alexander Sack wrote: > As a rule of thumb the lower GRE Range must never be below whatever > glue version you built against. That's what I'm saying. 0.5.7 drops 1.9 support, although it still builds fine with 1.9. Even if the chmsee approach is implemented, the code still needs to be updated for future xulrunner releases. It seems to me that this part of the API is not well thought. > Did you build against 1.9 and then run with 1.9 I built with 1.9 and tried to run with 1.9. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Tue, Sep 29, 2009 at 05:52:10PM +0300, Yavor Doganov wrote: > В 16:21 +0200 на 29.09.2009 (вт), Mike Hommey написа: > > Please don't. xulrunner 1.9 and 1.9.1 are not binary compatible, so a > > binary built against xulrunner-1.9.1 and running with xulrunner 1.9 will > > fail. > > Right :/ OTOH, I find it outrageous that a pristine upstream kazehakase > 0.5.8 builds with 1.9 and crashes when being run (because the code > assumes 1.9.1). > As a rule of thumb the lower GRE Range must never be below whatever glue version you built against. Did you build against 1.9 and then run with 1.9 or build with 1.9.1 glue and then try to run against 1.9? Usually your build should be compatible with new gre releases as long as you only use stable components/interfaces. - Alexander -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
В 16:21 +0200 на 29.09.2009 (вт), Mike Hommey написа: > Please don't. xulrunner 1.9 and 1.9.1 are not binary compatible, so a > binary built against xulrunner-1.9.1 and running with xulrunner 1.9 will > fail. Right :/ OTOH, I find it outrageous that a pristine upstream kazehakase 0.5.8 builds with 1.9 and crashes when being run (because the code assumes 1.9.1). > If you make the GREVersionRange broader, there is non negligible > risk that people will run this kazehakase with xulrunner 1.9, and that > won't work properly. Like now with 1.9.1. Nothing stops me to implement the same thing as chmsee. Will do. (Hope that upstream will adobt it.) > > + dh_xulrunner -pkazehakase-gecko > > You don't need to do that. dh_xulrunner will only add the proper dependency > if it detects it is needed. OK, thanks. > Even if binNMUs are not possible, it's still easier to have > dependencies put automatically. Sure. Thanks for that. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Tue, Sep 29, 2009 at 05:14:11PM +0300, Yavor Doganov wrote: > tags 548678 + pending > thanks > > В 08:09 +0200 на 28.09.2009 (пн), Mike Hommey написа: > > Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime > > soonish, so kazehakase should switch to using it. > > Many thanks for the patch. I plan to apply it with slight > modifications, namely: > > 1) Retain support for xulrunner-1.9 (not relevant for Debian, but nice > for upstream) > > static const GREVersionRange greVersion = { > "1.9.a", PR_TRUE, > "1.9.2", PR_FALSE, > }; Please don't. xulrunner 1.9 and 1.9.1 are not binary compatible, so a binary built against xulrunner-1.9.1 and running with xulrunner 1.9 will fail. If you make the GREVersionRange broader, there is non negligible risk that people will run this kazehakase with xulrunner 1.9, and that won't work properly. > 2) Avoid dependency on xulrunner for the kazehakase package (I plan to > reintroduce kazehakase-webkit with the next upload, eventually) > > - dh_xulrunner > + dh_xulrunner -pkazehakase-gecko You don't need to do that. dh_xulrunner will only add the proper dependency if it detects it is needed. > I'll do some tests and will hopefully upload w/i this week, provided my > sponsor finds the time to review. > > One more thing... Do you plan to handle future xulrunner transitions > with binNMUs? Kz is basically rather buggy and almost always requires > source changes, so this approach is unlikely to work. Well, when possible binNMU would be the best thing to do. Obviously, with the fixed GREVersionRange, it's not possible anyways, but if a scheme similar to that of chmsee were to be used, it would make binNMUs possible. Most packages that build against xulrunner 1.9 currently only require a simple rebuild, modulo the GREVersionRange change, to fit xulrunner 1.9.1. There is hope that it might be possible for 1.9.2, too, so let's just cross fingers. Even if binNMUs are not possible, it's still easier to have dependencies put automatically. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
tags 548678 + pending thanks В 08:09 +0200 на 28.09.2009 (пн), Mike Hommey написа: > Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime > soonish, so kazehakase should switch to using it. Many thanks for the patch. I plan to apply it with slight modifications, namely: 1) Retain support for xulrunner-1.9 (not relevant for Debian, but nice for upstream) static const GREVersionRange greVersion = { "1.9.a", PR_TRUE, "1.9.2", PR_FALSE, }; 2) Avoid dependency on xulrunner for the kazehakase package (I plan to reintroduce kazehakase-webkit with the next upload, eventually) - dh_xulrunner + dh_xulrunner -pkazehakase-gecko I'll do some tests and will hopefully upload w/i this week, provided my sponsor finds the time to review. One more thing... Do you plan to handle future xulrunner transitions with binNMUs? Kz is basically rather buggy and almost always requires source changes, so this approach is unlikely to work. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Mon, Sep 28, 2009 at 01:18:54PM +0200, Alexander Sack wrote: > On Mon, Sep 28, 2009 at 01:08:07PM +0200, Mike Hommey wrote: > > On Mon, Sep 28, 2009 at 12:37:26PM +0200, Alexander Sack wrote: > > > On Mon, Sep 28, 2009 at 08:09:52AM +0200, Mike Hommey wrote: > > > > Package: kazehakase > > > > Severity: important > > > > Tags: patch > > > > > > > > Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime > > > > soonish, so kazehakase should switch to using it. > > > > > > > > As a matter of being future-proof, a dh_xulrunner program has been added > > > > to xulrunner-dev, that will add the proper dependency to shlibs:Depends. > > > > > > Great news. wouldnt this be something we could ship in mozilla-devscripts? > > > > As it hardcodes the "proper" version of xulrunner, it can only live in > > xulrunner-dev. > > How do you currently hardcode the "proper" version? based on what criterias? Based on "you installed xulrunner-dev 1.9.1, so you are building against xulrunner 1.9.1". So xulrunner-dev 1.9.1 provides a dh_xulrunner that adds xulrunner-1.9.1 if it detects the GRE glue in a binary. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Mon, Sep 28, 2009 at 01:08:07PM +0200, Mike Hommey wrote: > On Mon, Sep 28, 2009 at 12:37:26PM +0200, Alexander Sack wrote: > > On Mon, Sep 28, 2009 at 08:09:52AM +0200, Mike Hommey wrote: > > > Package: kazehakase > > > Severity: important > > > Tags: patch > > > > > > Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime > > > soonish, so kazehakase should switch to using it. > > > > > > As a matter of being future-proof, a dh_xulrunner program has been added > > > to xulrunner-dev, that will add the proper dependency to shlibs:Depends. > > > > Great news. wouldnt this be something we could ship in mozilla-devscripts? > > As it hardcodes the "proper" version of xulrunner, it can only live in > xulrunner-dev. How do you currently hardcode the "proper" version? based on what criterias? - Alexander -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Mon, Sep 28, 2009 at 12:37:26PM +0200, Alexander Sack wrote: > On Mon, Sep 28, 2009 at 08:09:52AM +0200, Mike Hommey wrote: > > Package: kazehakase > > Severity: important > > Tags: patch > > > > Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime > > soonish, so kazehakase should switch to using it. > > > > As a matter of being future-proof, a dh_xulrunner program has been added > > to xulrunner-dev, that will add the proper dependency to shlibs:Depends. > > Great news. wouldnt this be something we could ship in mozilla-devscripts? As it hardcodes the "proper" version of xulrunner, it can only live in xulrunner-dev. Mike -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
On Mon, Sep 28, 2009 at 08:09:52AM +0200, Mike Hommey wrote: > Package: kazehakase > Severity: important > Tags: patch > > Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime > soonish, so kazehakase should switch to using it. > > As a matter of being future-proof, a dh_xulrunner program has been added > to xulrunner-dev, that will add the proper dependency to shlibs:Depends. Great news. wouldnt this be something we could ship in mozilla-devscripts? - Alexander -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#548678: kazehakase: Transition to xulrunner 1.9.1
Package: kazehakase Severity: important Tags: patch Xulrunner 1.9.1 is going to replace xulrunner 1.9 in unstable sometime soonish, so kazehakase should switch to using it. As a matter of being future-proof, a dh_xulrunner program has been added to xulrunner-dev, that will add the proper dependency to shlibs:Depends. Please note that the package supporting this command is not yet in the archive and should reach experimental some time today. The attached patch implements the necessary changes[1], please upload to unstable as soon as possible. The package will then be dep-wait, and will get built as soon as xulrunner 1.9.1 reaches unstable, which will happen when all the changes required on other packages will be ready. Cheers, Mike 1. Please note that this patch still hardcodes the GREVersionRange, which is not really future-proof. Something similar to what exists in chmsee would be required for that. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.30-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages kazehakase depends on: pn kazehakase-gecko | kaz (no description available) ii libatk1.0-01.28.0-1 The ATK accessibility toolkit ii libc6 2.9-26GNU C Library: Shared libraries ii libcairo2 1.8.8-2 The Cairo 2D vector graphics libra ii libfontconfig1 2.6.0-4 generic font configuration library ii libfreetype6 2.3.9-5 FreeType 2 font engine, shared lib ii libgcrypt111.4.4-4 LGPL Crypto library - runtime libr pn libgettext-ruby1.8 (no description available) ii libglib2.0-0 2.22.0-1 The GLib library of C routines ii libgnutls262.8.3-3 the GNU TLS library - runtime libr ii libgpg-error0 1.6-1 library for common error values an pn libgtk2-ruby (no description available) ii libgtk2.0-02.18.0-1 The GTK+ graphical user interface ii libice62:1.0.5-1 X11 Inter-Client Exchange library ii libpango1.0-0 1.26.0-1 Layout and rendering of internatio ii libpixman-1-0 0.14.0-1 pixel-manipulation library for X a ii libpng12-0 1.2.39-1 PNG library - runtime ii libsm6 2:1.1.1-1 X11 Session Management library ii libtasn1-3 2.3-1 Manage ASN.1 structures (runtime) ii libx11-6 2:1.2.2-1 X11 client-side library ii libxrender11:0.9.4-2 X Rendering Extension client libra ii ruby1.81.8.7.174-2 Interpreter of object-oriented scr ii zlib1g 1:1.2.3.3.dfsg-15 compression library - runtime Versions of packages kazehakase recommends: pn hyperestraier (no description available) Versions of packages kazehakase suggests: pn migemo (no description available) diff -ruN kazehakase-0.5.6/debian/control kazehakase-0.5.6.new/debian/control --- kazehakase-0.5.6/debian/control +++ kazehakase-0.5.6.new/debian/control @@ -10,7 +10,7 @@ libpango1.0-dev, intltool, libgnutls-dev, - xulrunner-dev, + xulrunner-dev (>= 1.9.1.3-2), ruby-gnome2-dev (>= 0.19.1), libgettext-ruby-util, libqdbm-dev, @@ -44,8 +44,7 @@ Package: kazehakase-gecko Architecture: any -Depends: ${gecko:Depends}, - xulrunner-1.9 (>= 1.9~rc2-3) +Depends: ${shlibs:Depends} Replaces: kazehakase Description: Gecko rendering engine for kazehakase Kazehakase is a web browser that can use either Gecko or WebKit as diff -ruN kazehakase-0.5.6/debian/patches/30_xulrunner-1.9.1.dpatch kazehakase-0.5.6.new/debian/patches/30_xulrunner-1.9.1.dpatch --- kazehakase-0.5.6/debian/patches/30_xulrunner-1.9.1.dpatch +++ kazehakase-0.5.6.new/debian/patches/30_xulrunner-1.9.1.dpatch @@ -1,18 +1,20 @@ #! /bin/sh /usr/share/dpatch/dpatch-run ## 30_xulrunner-1.9.1.dpatch by Mike Hommey ## -## DP: Prevent crash with xulrunner 1.9.1. +## DP: Support for xulrunner 1.9.1 @DPATCH@ diff -urNad kazehakase-0.5.6~/module/embed/gecko/mozilla.cpp kazehakase-0.5.6/module/embed/gecko/mozilla.cpp --- kazehakase-0.5.6~/module/embed/gecko/mozilla.cpp 2009-08-17 17:24:42.0 +0300 +++ kazehakase-0.5.6/module/embed/gecko/mozilla.cpp 2009-08-19 23:58:51.0 +0300 -@@ -133,7 +133,7 @@ +@@ -132,8 +132,8 @@ + xulrunner_init (void) { static const GREVersionRange greVersion = { - "1.9a", PR_TRUE, +- "1.9a", PR_TRUE, - "2", PR_TRUE -+ "1.9.1", PR_FALSE ++ "1.9.1", PR_TRUE, ++ "1.9.2", PR_FALSE }; char xpcomPath[PATH_MAX]; diff -ruN kazehakase-0.5.6/debian/r