欢迎进入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.

欢迎进入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插件开发教程,Linux下firefox插件开发相关推荐

  1. 红帽子linux硬盘安装教程,XP下硬盘安装RedHat Enterprise Linux 5.5图文教程

    前言:现大已经是大二了,由于学习的需要,想安装 RedHat linux enterprise 学习一下,我整理一下后用06年买的老机成功安装了,下面就是我整理出来的教程(机器环境配置因人而异). 正 ...

  2. linux eth0 目录,教程 | Linux常用命令大全

    原标题:教程 | Linux常用命令大全 来源:Linux爱好者 ID:LinuxHub Linux常用命令 目录操作命令 ls 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls ...

  3. linux lite安装教程,Linux Lite第一个获得Linux 4.14 及如何安装它

    Linux Lite维护者Jerry Bezencon再次首次在Twitter上宣布他的基于Ubuntu的发行版的软件库中最新的Linux内核分支的可用性. 如你所知,Linus Torvalds在2 ...

  4. linux 跑分教程,Linux管理面板:宝塔安装和宝塔跑分详细教程

    宝塔是一个建站管理面板,是一款使用方便.功能强大且终身免费的服务器管理软件,支持Linux与Windows系统,用它可以一键配置LAMP/LNMP.网站.数据库.FTP.SSL,通过Web端轻松管理服 ...

  5. android sdk插件开发教程,Android Studio Plugin 插件开发教程(二) —— 插件SDK中的常用对象介绍...

    项目源码 系列教程 先树立一个概念,AS里项目的一切都可以视为对象,比如整个项目,项目里的每个文件,文件里的每个方法.每行语句等等都是一个对象.我们插件SDK的开发,主要工作就是针对这一个个的对象的分 ...

  6. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  7. linux安装python3教程_linux下安装python3和对应的pip环境教程详解

    1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译到/usr/local/python3的目录下,注意先创建 ...

  8. linux c++编程教程,Linux下的C++编程入门教程.ppt

    <Linux下的C++编程入门教程.ppt>由会员分享,可在线阅读,更多相关<Linux下的C++编程入门教程.ppt(14页珍藏版)>请在人人文库网上搜索. 1.Linux下 ...

  9. linux arp攻击教程,Linux下防御arp攻击的方法

    Linux下防御arp攻击的方法 发布时间:2008-09-08 17:09:19   作者:佚名   我要评论 1.获取同一网段下所有机器MAC地址的办法 机房有机器中毒,发arp包,通过arpsp ...

最新文章

  1. Echart遇到的问题:tooltip提示框大小异常
  2. MNE-Python专辑 | MNE-Python详细安装与使用(更新)
  3. 【阿里云大学课程】前端必知——HTML5新特性完整视频教程(音频、视频、画布、web存储、动画……)...
  4. wxWidgets:wxTreeEvent类用法
  5. 16.IDA-列出函数中存在的全部call
  6. JQuery ajax()实例
  7. restfull知识点
  8. Linux 指定运行时动态库路径【转】
  9. 小猪佩奇python_python画个小猪佩奇
  10. MSN-LDL论文修改20211027RBY
  11. Oracle Goldengate 安装配置
  12. 视觉培训1 学习opencv
  13. IPFS BZZ Chia,项目这么多,怎么选择?
  14. 银河麒麟桌面操作系统【telnet配置】
  15. 让不懂编程的人爱上iPhone开发(2017iOS11+Swift4+Xcode9版)-第5篇
  16. 自媒体创作没思路?这4款内容创作爆文神器助你摆脱内容瓶颈!
  17. 申报高新技术企业需要注意的问题
  18. 含文档+PPT+源码等]精品基于Uniapp实现的Android的餐饮管理系统实现的App[包运行成功]计算机毕业设计安卓项目源码
  19. 真Unity3d_profiler调试
  20. perl 、shell、python之shell脚本入门

热门文章

  1. php获取体重秤数据,SerialPort访问COM接口获取电子秤数据(C#)
  2. 计算机网络——网络练习题 1
  3. 解决编译“robot_pose_ekf” blf报错
  4. 直播协议HTTP-FLV详解
  5. springboot毕设项目java学习平台m55rv(java+VUE+Mybatis+Maven+Mysql)
  6. Cross Apply的用法
  7. 易语言创建线程挂起线程恢复线程销毁线程
  8. 恢复以外丢失的Wrod文档
  9. 2022-2027年中国耳挂式无线耳机行业发展前景及投资战略咨询报告
  10. DirectX Sample-PIXGameDebugging:采用PIX调试程序