_ [comp] MozFx 0.10.1 GNOME/GConf 調査

日記みたいな何かの 2004年 10月 3日 (日) にて、MozFF GNOME/GConf 調査 について触れられているのを発見。ああ、そんなのもあったっけ。すっかり忘れていた。ということで再度調査。変更点は大幅に増えている。

  1. ソースツリーのトップで grep -ir gnome * 及び grep -ir gconf * してひとまず怪しそうなファイルをピックアップ。
  2. ファイルを一つずつチェック。@gnome.org のようなメールアドレスや gConfig… のような無関係なものにもマッチしているので、そのようなものをまず除去。単なるテキストファイルも見なかったことにしておく。
  • Makefile.in

    ifdef MOZ_ENABLE_GTK2
    tier_9_dirs    += toolkit/components/gnome
    endif
    

コメントアウト。

  • accessible/src/atk/nsAppRootAccessible.cpp どうしようもない?

  • allmakefiles.sh

    MAKEFILES_gnome="
        toolkit/Makefile
        toolkit/components/Makefile
        toolkit/components/gnome/Makefile
    "
    
    gnomevfs ) MAKEFILES_extensions="$MAKEFILES_extensions
           extensions/gnomevfs/Makefile
           " ;;
    
    if test -n "$MOZ_ENABLE_GTK2"; then
        add_makefiles "$MAKEFILES_gnome"
    fi
    

コメントアウト。

  • browser/components/build/Makefile.in

    ifeq ($(MOZ_WIDGET_TOOLKIT), gtk2)
    EXTRA_DSO_LIBS += gkgfx
    endif
    
    ifneq (,$(filter windows mac gtk2, $(MOZ_WIDGET_TOOLKIT)))
    SHARED_LIBRARY_LIBS += $(DIST)/lib/$(LIB_PREFIX)shellservice_s.$(LIB_SUFFIX)
    endif
    

コメントアウト。2つ目をコメントアウトしておかないと、存在しない libshellservice_s.a をリンクしようとして失敗する。

  • browser/components/build/nsModule.cpp 先頭に #undef MOZ_WIDGET_GTK2 追加。

  • browser/components/shell/src/Makefile.in

    else
    ifeq ($(MOZ_WIDGET_TOOLKIT), gtk2)
    CPPSRCS = nsGNOMEShellService.cpp
    REQUIRES += mozgnome
    endif
    

コメントアウト。これで browser/components/shell/src/nsGNOMEShellService.{cpp,h} の対処も OK。結果的に libshellservice_s.a は作成されなくなる。

  • browser/config/mozconfig –enable-extensions から gnomevfs を削除。

  • browser/installer/unix/packages-static

    bin/components/libmozgnome.so
    bin/components/mozgnome.xpt
    bin/components/libnkgnomevfs.so
    

コメントアウト。

  • embedding/browser/gtk/tests/Makefile.in

    ifdef ENABLE_GNOME
    ifdef ENABLE_TESTS
    CPPSRCS        += TestGtkEmbedMDI.cpp
    endif
    endif
    
    ifdef ENABLE_GNOME
    CXXFLAGS        += `gnome-config --cflags gnomeui`
    EXTRA_LIBS      += `gnome-config --libs gnomeui`
    endif
    

コメントアウト。これで embedding/browser/gtk/tests/TestGtkEmbedMDI.cpp の対処も OK。

  • extensions/gnomevfs/{Makefile.in,nsGnomeVFSProtocolHandler.cpp} configure で –disable-gnomevfs にするので手を出さなくていいはず。

  • extensions/pref/Makefile.in

    ifdef MOZ_ENABLE_GTK2
    DIRS           += system-pref
    endif
    

コメントアウト。

  • extensions/pref/system-pref/src/Makefile.in

    ifdef MOZ_ENABLE_GTK2
    DIRS            = gconf
    endif
    
    ifdef MOZ_ENABLE_GTK2
    INCLUDES        += \
                    -I$(srcdir)/gconf \
                    $(NULL)
    endif
    

コメントアウト。これで extensions/pref/system-pref/src/{gconf/gconf_pref_list.inc,gconf/nsSystemPrefService.cpp,gconf/nsSystemPrefService.h,nsSystemPref.h} の対処も OK。

  • netwerk/base/src/nsIOService.cpp ifdef MOZ_X11 〜 #endif をまるごとコメントアウト。

  • toolkit/components/gnome/{Makefile.in,nsGConfService.cpp,nsGConfService.h,nsGnomeModule.cpp} allmakefiles.sh あたりで無効にしたので OK?

  • toolkit/components/gnome/{nsGnomeVFSService.cpp,nsGnomeVFSService.h,nsIGConfService.idl,nsIGnomeVFSService.idl} configure で –disable-gnomevfs にするので手を出さなくていいはず。

  • toolkit/themes/Makefile.in

    ifneq (,$(filter gtk2,$(MOZ_WIDGET_TOOLKIT)))
    DIRS    += gnomestripe
    endif
    

コメントアウト。

  • uriloader/exthandler/Makefile.in

    ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
    OSHELPER        += nsGNOMERegistry.cpp
    endif
    

コメントアウト。これで uriloader/exthandler/unix/nsGNOMERegistry.cpp の対処も OK。

  • uriloader/exthandler/unix/{nsGNOMERegistry.h,nsOSHelperAppService.cpp} 先頭に #undef MOZ_WIDGET_GTK2 追加。

  • widget/src/gtk2/nsWindow.{cpp,h} ifdef ACCESSIBILITY の直前に #undef ACCESSIBILITY 追加。

  • xpinstall/packager/packages-unix

    bin/components/libnkgnomevfs.so
    

コメントアウト。

  1. build & check

gconfd-2 も動かなくなって、MozFx 自体もきちんと動いている様子だ。ついでにパッチにしてみた。ものはこれ。もちろん無保証。

_ [debian] mozilla-firefox 0.10.1+1.0PR-1vd2

ということで vd_bugzilla-jp_bug-1476_attachment-1656_for-mozfx-0.9.3.patch と vd_mozfx-0.10.1_without-gnome-and-gconf.patch を当てて作成。

_ [comp] net-snmp IPv6 addr_string fix

[ 942155 ] IPv6 addr_string fix に報告したのをすっかり忘れていたけど、commit されたようだ。README に恥ずかしいエントリで載っちゃったよ。