xulrunner-2.0 has a dependency against gconf but it's possible to build xulrunner without gconf. I guess we should have gconf USE flag or re-introduce the gnome one.
Actually, as it was pointed out on #gentoo-moz, gconf was automagical in 1.9, though making it not automagical would require only adding a single MOZ_ARG_DISABLE_BOOL in configure.in. So, it's a matter of convincing mozilla herd lead about the need of such patch.
The very latest ebuild is the only time it ever wanted me to install gconf/orbit. I don't run gnome and have taken great pains to get rid of all gnome dependencies, including gconf/orbit/gvfs/etc. Firefox is NOT a gnome app, and shouldn't have gnome dependencies on by default, IMO. Just some thoughts.
*** Bug 360339 has been marked as a duplicate of this bug. ***
C'mon, Gentoo's Mozilla team, do something, post anything...
(In reply to comment #4) > C'mon, Gentoo's Mozilla team, do something, post anything... Demanding that people do things will not resolve the problem any sooner. As there are only two active devs, myself and nirbheek for xulrunner/firefox you will need to be patient. We are well aware of the bug and will look at it as soon as we get to it.
(In reply to comment #0) > xulrunner-2.0 has a dependency against gconf but it's possible to build > xulrunner without gconf. I guess we should have gconf USE flag or re-introduce > the gnome one. If we introduce a useflag here it will be gconf, gnome useflag is used to widely and not very appropriate when xfce users also use gconf for configuration.
(In reply to comment #5) > (In reply to comment #4) > > C'mon, Gentoo's Mozilla team, do something, post anything... > > Demanding that people do things will not resolve the problem any sooner. As > there are only two active devs, myself and nirbheek for xulrunner/firefox you > will need to be patient. We are well aware of the bug and will look at it as > soon as we get to it. Thanks, I just wanted see any answer to just know that you guys know about this issue. Bugzilla have many bugs with status 'New' for a years...
*** Bug 360713 has been marked as a duplicate of this bug. ***
(In reply to comment #8) > *** Bug 360713 has been marked as a duplicate of this bug. *** I am not sure whether I should put this reply now to bug 360713 or here... If xulrunner/firefox has an automagic dependency on gconf, then (until it is hopefully fixed by upstream someday) you could still add a (strict) block to gnome-base/gconf. Something like IUSE="+gconf" DEPEND="gconf? ( >=gnome-base/gconf-1.2.1:2 ) !gconf? ( !!gnome-base/gconf )" The two "!!" make sure that gconf is uninstalled before xulrunner/firefox will be compiled. Of course, an upstream fix of the automagic would be nicer, but at least it is better than the current way: If the user does nothing then gconf is activated which makes the ebuild behave as it does currently, but the user at least _has_ an option to avoid gconf (even if this might be a bit inconvenient for the user, but it is better than not having this option at all).
Only real problem I see here, is that AFAIK there's no cross-desktop way of setting a default app, if more than one app handles a mimetype. xdg scheme is lacking in that regard. The patch for configure.in in and of itself is trivial and after adding it, useflag would work just fine. Really, does i.e. xfce really makes any significant use of gconf ? KDE almost certainly doesn't.
(In reply to comment #6) > (In reply to comment #0) > > xulrunner-2.0 has a dependency against gconf but it's possible to build > > xulrunner without gconf. I guess we should have gconf USE flag or re-introduce > > the gnome one. > > If we introduce a useflag here it will be gconf, gnome useflag is used to > widely and not very appropriate when xfce users also use gconf for > configuration. Xfce doesn't use gconf for configuration. Xfce uses freedesktop.org standard for preferred applications, like so: ~/.local/share/applications/mimeapps.list: [Added Associations] x-scheme-handler/http=exo-web-browser.desktop x-scheme-handler/https=exo-web-browser.desktop I don't think it's useful but only for GNOME 2.x users, but I don't really care about what the USE flag gets called... gnome or gconf...
Created attachment 267415 [details] mimeapps.list from my Xfce setup Just adding for example, feel free to delete this attachment.
So from http://bugs.gentoo.org/show_bug.cgi?id=360713#c1 > It is not as simple. If someone as gconf installed, xulrunner will > auto-magically depend on it. The current configure script does not permit to > disable that behavior ATM. If gconf == installed then depend on gconf? Fine. But if gconf != installed do NOT install it. If you do not install it it will not be installed and not be auto-magically depended on. The package that misbehaves if something is installed should not install it when it is not already installed. As the OP of bug 360307 did, I overlayed firefox and xulrunner and removed the gconf depend lines, all works as expected. From my (unresearched) view of the situation having the ebuild depend on gconf does not, in any way, help the situation where my Window Manager (which does not use gconf) has issues with with auto-magic gconf dependencies when gconf is installed. Admittedly the above does not SAY that gconf is NOT needed if it is not installed (experience of a working system without it says that), but since it compiles and runs without it on a system where nothing else uses gconf implies that having it install and then automagically use gconf where nothing else does is just wrong.
(In reply to comment #13) > If gconf == installed then depend on gconf? Fine. Dependencies in ebuilds are static: They can only be influenced by USE-flags, not by the "currently installed" packages. Previously there was a way that installed packages could influence USE-flags, but this was very confusing to the user and is now removed AFAIK. (It would also be very hard to handle by portage if e.g. gconf and xulrunner are both scheduled for parallel installation.) > But if gconf != installed do NOT install it. > If you do not install it it will not be installed and not be auto-magically > depended on. Automagic dependencies are not that easy: If you build a tbz2 on a system where gconf is installed, that binary won't run on a system where gconf is not installed, although portage (and the user) will not know this. If the dependency should be optional, the only clean solution is to have a USE-flag for it. I suggested the blocker only, since not every developer is aware about this possibility: The blocker does not require the configure.in to be patched for every new firefox release which is more convenient for the developers. Of course, patching configure.in (and thus avoiding the blocker) is more convenient for the user, but I guess on the long run this is only a reasonable option if the patch goes upstream.
Please, I'd like to see the gconf dependency go away as well. The main reason to use Gentoo is to avoid crap dependencies all around, I don't use Gnome or KDE, so why pollute with unused stuff?
I have bumped xulrunner-2.0 and tb-3.3 in the mozilla overlay, I will do some regression testing and commit the changes to tree as soon as I am finished, this should be completed no later then tomorrow evening.
Will be moving gconf fix into the tree shortly.
Thanks for the report xulrunner/firefox have been bumped in the tree. I will add thunderbird-3.3a3 to tree tonight with p.mask that has the same fix.
tb-3.3a3 is now in tree as well, I will have seamonkey-2.1_beta2 moved into tree by polynomial-c :) after that bug can be closed, thanks for everyones patients.
There's one more thing - quite hard to notice, as it relies on dlopen (well, PR_LoadLibrary actually, but that's likely the same on linux). In extensions/pref/system-pref/src/Makefile.in gconf subdir gets added upon MOZ_ENABLE_GTK2. I think '-gconf' should mean just that, instead "'-gconf', unless I find it on the system". Changing that condition to MOZ_ENABLE_GCONF should clean up that minor issue.
Well... OK, it's not that simple - even if I add a patch that removes whole system-pref extension, something still launches gconfd-2. Anyone offering hints ?
Created attachment 273443 [details, diff] Finish removing gconf dep This should complete it, I have not compile tested so let me know
Created attachment 273459 [details, diff] Finish removing gconf autodep v2 make[3]: *** No rule to make target `../../staticlib/components/libsystem-pref.a', needed by `libxul.so'. Stop. make[3]: *** Waiting for unfinished jobs.... I am close but not yet there, for those willing to help attack the problem patch is provided.
Created attachment 273869 [details, diff] patch that xulrunner builds with (but still calls gconf somewhere) This patch combines one from comment 23 and one I only mentioned. xulrunner still opens the lib and starts gconf. I'm a bit unhappy with this patch regardless - way the sources are now, that whole sys-pref service needs to be axed, not only extensions/pref/system-pref/gconf dir.
Created attachment 273871 [details, diff] patch v3 sending upstream. Here is what I am taking upstream. If you run an lsof -p <pid of gconf> what shows up. From what I have seen on my system it is libnns that is making some use of gconf and not firefox directly.
Well, for gconfd-2 (as that's probably what you've meant): gconfd-2 31563 voidspawn cwd DIR 259,327680 4096 2 / gconfd-2 31563 voidspawn rtd DIR 259,327680 4096 2 / gconfd-2 31563 voidspawn txt REG 259,327680 55472 149591 /usr/libexec/gconfd-2 gconfd-2 31563 voidspawn mem REG 259,327680 134085 314534 /usr/share/locale/pl/LC_MESSAGES/libc.mo gconfd-2 31563 voidspawn mem REG 259,327680 55236 62077 /usr/lib/GConf/2/libgconfbackend-xml.so gconfd-2 31563 voidspawn mem REG 259,327680 26048 58612 /usr/lib/gconv/gconv-modules.cache gconfd-2 31563 voidspawn mem REG 259,327680 65368 318094 /usr/share/locale/pl/LC_MESSAGES/GConf2.mo gconfd-2 31563 voidspawn mem REG 259,327680 97754944 64607 /usr/lib/locale/locale-archive gconfd-2 31563 voidspawn mem REG 259,327680 9684 168727 /lib/libdl-2.12.2.so gconfd-2 31563 voidspawn mem REG 259,327680 79352 164187 /lib/libz.so.1.2.5 gconfd-2 31563 voidspawn mem REG 259,327680 71384 168460 /lib/libresolv-2.12.2.so gconfd-2 31563 voidspawn mem REG 259,327680 30632 167916 /lib/librt-2.12.2.so gconfd-2 31563 voidspawn mem REG 259,327680 17792 65041 /usr/lib/libgthread-2.0.so.0.2800.6 gconfd-2 31563 voidspawn mem REG 259,327680 288668 65043 /usr/lib/libgobject-2.0.so.0.2800.6 gconfd-2 31563 voidspawn mem REG 259,327680 13556 59131 /usr/lib/libgmodule-2.0.so.0.2800.6 gconfd-2 31563 voidspawn mem REG 259,327680 1048936 63967 /usr/lib/libgio-2.0.so.0.2800.6 gconfd-2 31563 voidspawn mem REG 259,327680 1417712 167772 /lib/libc-2.12.2.so gconfd-2 31563 voidspawn mem REG 259,327680 1055064 65040 /usr/lib/libglib-2.0.so.0.2800.6 gconfd-2 31563 voidspawn mem REG 259,327680 92536 167678 /lib/libpthread-2.12.2.so gconfd-2 31563 voidspawn mem REG 259,327680 251892 49964 /usr/lib/libdbus-1.so.3.5.5 gconfd-2 31563 voidspawn mem REG 259,327680 137920 56369 /usr/lib/libdbus-glib-1.so.2.1.0 gconfd-2 31563 voidspawn mem REG 259,327680 347228 54283 /usr/lib/libORBit-2.so.0.1.0 gconfd-2 31563 voidspawn mem REG 259,327680 211896 56760 /usr/lib/libgconf-2.so.4.1.5 gconfd-2 31563 voidspawn mem REG 259,327680 117948 167602 /lib/ld-2.12.2.so gconfd-2 31563 voidspawn 0u CHR 1,3 0t0 21 /dev/null gconfd-2 31563 voidspawn 1u CHR 1,3 0t0 21 /dev/null gconfd-2 31563 voidspawn 2u CHR 1,3 0t0 21 /dev/null gconfd-2 31563 voidspawn 3u CHR 1,3 0t0 21 /dev/null gconfd-2 31563 voidspawn 4u CHR 1,3 0t0 21 /dev/null gconfd-2 31563 voidspawn 5r FIFO 0,8 0t0 1929257 pipe gconfd-2 31563 voidspawn 6w FIFO 0,8 0t0 1929257 pipe gconfd-2 31563 voidspawn 7r FIFO 0,8 0t0 1929258 pipe gconfd-2 31563 voidspawn 8w FIFO 0,8 0t0 1929258 pipe gconfd-2 31563 voidspawn 9r FIFO 0,8 0t0 1929259 pipe gconfd-2 31563 voidspawn 10w FIFO 0,8 0t0 1929259 pipe gconfd-2 31563 voidspawn 11u unix 0xe9b7aa00 0t0 1929260 /tmp/orbit-voidspawn/linc-7b4b-0-953244738fdd gconfd-2 31563 voidspawn 12u unix 0xf3b90600 0t0 1929261 socket gconfd-2 31563 voidspawn 13u unix 0xf3de7600 0t0 1929265 socket gconfd-2 31563 voidspawn 14u unix 0xf3cc2800 0t0 1929270 /tmp/orbit-voidspawn/linc-7b4b-0-953244738fdd gconfd-2 31563 voidspawn 15u unix 0xf3cc2600 0t0 1929272 socket Among the lines of 'lsof|grep gconf', there's this one: firefox 31560 voidspawn mem REG 259,327680 211896 56760 /usr/lib/l ibgconf-2.so.4.1.5 gconfd-2 shutdowns shortly after firefox quits. All of this with my patch, which is AFAICT effectively the same as yours (if a tad saner in nsStaticXULComponents.cpp).
(In reply to comment #26) > Well, for gconfd-2 (as that's probably what you've meant): > gconfd-2 31563 voidspawn cwd DIR 259,327680 4096 2 / > gconfd-2 31563 voidspawn rtd DIR 259,327680 4096 2 / > gconfd-2 31563 voidspawn txt REG 259,327680 55472 149591 > /usr/libexec/gconfd-2 > gconfd-2 31563 voidspawn mem REG 259,327680 134085 314534 > /usr/share/locale/pl/LC_MESSAGES/libc.mo > gconfd-2 31563 voidspawn mem REG 259,327680 55236 62077 > /usr/lib/GConf/2/libgconfbackend-xml.so > gconfd-2 31563 voidspawn mem REG 259,327680 26048 58612 > /usr/lib/gconv/gconv-modules.cache > gconfd-2 31563 voidspawn mem REG 259,327680 65368 318094 > /usr/share/locale/pl/LC_MESSAGES/GConf2.mo > gconfd-2 31563 voidspawn mem REG 259,327680 97754944 64607 > /usr/lib/locale/locale-archive > gconfd-2 31563 voidspawn mem REG 259,327680 9684 168727 > /lib/libdl-2.12.2.so > gconfd-2 31563 voidspawn mem REG 259,327680 79352 164187 > /lib/libz.so.1.2.5 > gconfd-2 31563 voidspawn mem REG 259,327680 71384 168460 > /lib/libresolv-2.12.2.so > gconfd-2 31563 voidspawn mem REG 259,327680 30632 167916 > /lib/librt-2.12.2.so > gconfd-2 31563 voidspawn mem REG 259,327680 17792 65041 > /usr/lib/libgthread-2.0.so.0.2800.6 > gconfd-2 31563 voidspawn mem REG 259,327680 288668 65043 > /usr/lib/libgobject-2.0.so.0.2800.6 > gconfd-2 31563 voidspawn mem REG 259,327680 13556 59131 > /usr/lib/libgmodule-2.0.so.0.2800.6 > gconfd-2 31563 voidspawn mem REG 259,327680 1048936 63967 > /usr/lib/libgio-2.0.so.0.2800.6 > gconfd-2 31563 voidspawn mem REG 259,327680 1417712 167772 > /lib/libc-2.12.2.so > gconfd-2 31563 voidspawn mem REG 259,327680 1055064 65040 > /usr/lib/libglib-2.0.so.0.2800.6 > gconfd-2 31563 voidspawn mem REG 259,327680 92536 167678 > /lib/libpthread-2.12.2.so > gconfd-2 31563 voidspawn mem REG 259,327680 251892 49964 > /usr/lib/libdbus-1.so.3.5.5 > gconfd-2 31563 voidspawn mem REG 259,327680 137920 56369 > /usr/lib/libdbus-glib-1.so.2.1.0 > gconfd-2 31563 voidspawn mem REG 259,327680 347228 54283 > /usr/lib/libORBit-2.so.0.1.0 > gconfd-2 31563 voidspawn mem REG 259,327680 211896 56760 > /usr/lib/libgconf-2.so.4.1.5 > gconfd-2 31563 voidspawn mem REG 259,327680 117948 167602 > /lib/ld-2.12.2.so > gconfd-2 31563 voidspawn 0u CHR 1,3 0t0 21 /dev/null > gconfd-2 31563 voidspawn 1u CHR 1,3 0t0 21 /dev/null > gconfd-2 31563 voidspawn 2u CHR 1,3 0t0 21 /dev/null > gconfd-2 31563 voidspawn 3u CHR 1,3 0t0 21 /dev/null > gconfd-2 31563 voidspawn 4u CHR 1,3 0t0 21 /dev/null > gconfd-2 31563 voidspawn 5r FIFO 0,8 0t0 1929257 pipe > gconfd-2 31563 voidspawn 6w FIFO 0,8 0t0 1929257 pipe > gconfd-2 31563 voidspawn 7r FIFO 0,8 0t0 1929258 pipe > gconfd-2 31563 voidspawn 8w FIFO 0,8 0t0 1929258 pipe > gconfd-2 31563 voidspawn 9r FIFO 0,8 0t0 1929259 pipe > gconfd-2 31563 voidspawn 10w FIFO 0,8 0t0 1929259 pipe > gconfd-2 31563 voidspawn 11u unix 0xe9b7aa00 0t0 1929260 > /tmp/orbit-voidspawn/linc-7b4b-0-953244738fdd > gconfd-2 31563 voidspawn 12u unix 0xf3b90600 0t0 1929261 socket > gconfd-2 31563 voidspawn 13u unix 0xf3de7600 0t0 1929265 socket > gconfd-2 31563 voidspawn 14u unix 0xf3cc2800 0t0 1929270 > /tmp/orbit-voidspawn/linc-7b4b-0-953244738fdd > gconfd-2 31563 voidspawn 15u unix 0xf3cc2600 0t0 1929272 socket > > Among the lines of 'lsof|grep gconf', there's this one: > firefox 31560 voidspawn mem REG 259,327680 211896 56760 > /usr/lib/l > ibgconf-2.so.4.1.5 > > gconfd-2 shutdowns shortly after firefox quits. > > All of this with my patch, which is AFAICT effectively the same as yours (if a > tad saner in nsStaticXULComponents.cpp). I just double checked on my system with a `killall gconfd-2 && firefox` I then proceeded to open another terminal and did a ps aux | grep -i gconfd and still see no daemon.
...and as I double recheck it, I still see gconfd-2 exiting shortly after quiting firefox and started again the moment firefox is run. [ebuild R ~] net-libs/xulrunner-2.0.1-r1 USE="alsa crashreporter dbus ipc libnotify startup-notification system-sqlite webm -custom-optimization -debug -gconf -wifi" 0 kB [ebuild R ~] www-client/firefox-4.0.1-r1 USE="alsa dbus ipc libnotify startup-notification system-sqlite webm -bindist -custom-optimization -debug -wifi" LINGUAS="pl -af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en -en_ZA -eo -es -es_ES -et -eu -fa -fi -fr -fy -fy_NL -ga -ga_IE -gd -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -hy -hy_AM -id -is -it -ja -kk -kn -ko -ku -lg -lt -lv -mai -mk -ml -mr -nb -nb_NO -nl -nn -nn_NO -nso -or -pa -pa_IN -pt -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zu" 0 kB Any ideas how to track this back to its cause ?
I am pushed patch upstream, better late then never, soon as I get approval upstream, I will get a new patchset rolled and landed in tree.
As per bug 373605 comment 15, gconf has been unconditionally disabled on Firefox 5.0. Closing as FIXED.