Linux下firefox插件开发

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  机器环境:Linux 2.6.12-1.1456.cocreate.3

  Firefox版本:firefox-1.5.0.3

  编译Firefox:

  1)安装mozilla开发包;

  2)从 ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/ 下载Firefox源码firefox-1.5.0.3-source.tar.bz2,下载中文语言包firefox-langpacks-cn-1.5.0.3.tar.bz2;

  3)以上两个文件下载完毕后放到/usr/src/redhat/SOURCES/,然后在/usr/src/redhat/SPECS/编写编译打包用的spec文件firefox-1.5.x,关于RPM、SPEC等可参考

  http://www.redhat.com/docs/manua … f-guide/index.html;

  其中语言安装脚本部分可以这么写:

  # Install langpacks

  %{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/firefox/extensions

  %{__tar} xjf %{SOURCE23}

  for langpack in `ls firefox-langpacks/*.xpi`; do

  language=`basename $langpack .xpi`

  extensiondir=$RPM_BUILD_ROOT%{_libdir}/firefox/extensions/langpack-$language@firefox.mozilla.org

  %{__mkdir_p} $extensiondir

  unzip $langpack -d $extensiondir

  find $extensiondir -type f | xargs chmod 644

  langtmp=%{_tmpdir}/%{name}/langpack-$language

  %{__mkdir_p} $langtmp

  jarfile=$extensiondir/chrome/$language.jar

  unzip $jarfile -d $langtmp

  find $langtmp -type f | xargs chmod 644

  %{__rm} -rf $jarfile

  cd $langtmp

  zip -r -D $jarfile locale

  %{__rm} -rf locale

  cd –

  done

  %{__rm} -rf firefox-langpacks

  4)运行rpmbuild -bl firefox-1.5.x 确认%files的路径等正确,然后编译:rpmbuild -ba firefox-1.5.x,经过大约40几分钟(如果机器配置差的话需要更长的时间),如果没有出错则编译成功,生成的文件在/usr/src/redhat/RPMS/i386/和/usr/src/redhat/SRPMS/;

  下面进入主题,编写插件:

  为简单起见可以将firefox源码包中的插件simple目录拷贝一份出来,然后直接修改相应文件,编写代码。完成后需要生成生成头文件和xpt文件,命令如下:

  (1)生成头文件

  /usr/lib/mozilla-1.7.12/xpidl -m header -I/usr/share/idl/mozilla-1.7.12

  testplug.idl

  (2)生成xpt文件

  /usr/lib/mozilla-1.7.12/xpidl -m typelib -I/usr/share/idl/mozilla-1.7.12

  testplug.idl

  写spec文件,如下:

  。。。

  %prep

  rm -rf %{buildroot}

  %setup -n %{name} -q

  %build

  ./configure

  %{__make}

  %install

  %{__mkdir} -p %{buildroot}%{_libdir}/firefox/{plugins,components}

  install -m755 src/.libs/libtestplug.so %{buildroot}%{_libdir}/firefox/plugins

  install -m755 src/testplug.xpt %{buildroot}%{_libdir}/firefox/components

  install -m644 demo.html %{buildroot}%{_libdir}/firefox/

  %clean

  rm -rf %{buildroot}

  %files

  %defattr (-,root,root)

  %{_libdir}/firefox/plugins/libtestplug.so

  %{_libdir}/firefox/components/testplug.xpt

  %{_libdir}/firefox/demo.html

  %changelog

  。。。

  编译成功后启动firefox就可以看到测试了。

在乎的是看风景的心情,旅行不会因为美丽的风景终止。

Linux下firefox插件开发

相关文章:

你感兴趣的文章:

标签云: