[dywang@dywH ~]$ cd rpmbuild [dywang@dywH rpmbuild]$ wget ftp://ftp.icm.edu.pl/vol/rzm5/linux-slc/\ updates/slc6X/SRPMS/firefox-24.2.0-1.el6_5.src.rpm
[dywang@dywH rpmbuild]$ rpm -ivh firefox-24.2.0-1.el6_5.src.rpm
[dywang@dywH rpmbuild]$ cd SOURCE [dywang@dywH SOURCES]$ ls firefox-24*tar* firefox-24.2.0esr.source.tar.bz2
[dywang@dywH SOURCES]$ tar jxvf firefox-24.2.0esr.source.tar.bz2
[dywang@dywH SOURCES]$ ls mozilla-esr24/ accessible config intl moz.build services aclocal.m4 configure ipc mozglue startupcache addon-sdk configure.in js mozilla-config.h.in storage Android.mk content layout netwerk testing AUTHORS db LEGAL nsprpub toolkit b2g docshell LICENSE other-licenses tools browser dom mach parser uriloader build editor Makefile.in probes view caps embedding media profile webapprt chrome extensions memory python widget client.mk gfx mfbt rdf xpcom client.py hal mobile README.txt xpfe CLOBBER image modules security xulrunner
[dywang@dywH SOURCES]$ vim ../SPECS/firefox.spec
[dywang@dywH SOURCES]$ grep dyw ../SPECS/firefox.spec
Release: 1%{?prever}%{?dist}.dyw
%install 段落中,將 firefox-bin 執行檔連結到 firefox,以降低不必要的檔案儲存。
[dywang@dywH SOURCES]$ vim ../SPECS/firefox.spec
[dywang@dywH SOURCES]$ grep 'ln -sf' -B2 ../SPECS/firefox.spec
%{__rm} -rf ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
(cd $RPM_BUILD_ROOT/%{mozappdir}; ln -sf firefox firefox-bin)
[dywang@dywH SOURCES]$ grep dyw firefox-redhat-default-prefs.js
pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=http://dy.csie.cyut.edu.tw");
pref("startup.homepage_override_url", "http://dy.csie.cyut.edu.tw");
pref("startup.homepage_welcome_url", "http://dy.csie.cyut.edu.tw");
[root@dyw219 SOURCES]# vim mozilla-esr24/toolkit/locales/en-US/chrome/global/intl.properties [root@dyw219 SOURCES]# grep intl.charset.default mozilla-esr24/toolkit/locales/en-US/chrome/global/intl.properties # LOCALIZATION NOTE (intl.charset.detector, intl.charset.default, intl.charsetmenu.browser.static, intl.charsetmenu.mailedit): intl.charset.default=UTF-8 intl.charsetmenu.browser.static=UTF-8, ISO-8859-1 [dywang@dywH SOURCES]$ vim mozilla-esr24/toolkit/locales/en-US/chrome/global-platform/unix/intl.properties [dywang@dywH SOURCES]$ grep charset mozilla-esr24/toolkit/locales/en-US/chrome/global-platform/unix/intl.properties intl.charset.default=UTF-8
x-western 及 zh-TW 兩種語系預設的字型大小。
[dywang@dywH SOURCES]$ vim mozilla-esr24/modules/libpref/src/init/all.js
[dywang@dywH SOURCES]$ egrep 'font.size.*(x\-western|zh\-TW)' \
mozilla-esr24/modules/libpref/src/init/all.js
pref("font.size.variable.x-western", 14);
pref("font.size.fixed.x-western", 14);
pref("font.size.variable.zh-TW", 15);
pref("font.size.fixed.zh-TW", 14);
pref("font.size.variable.x-western", 14);
pref("font.size.fixed.x-western", 14);
pref("font.size.variable.zh-TW", 15);
pref("font.size.fixed.zh-TW", 14);
pref("font.size.variable.x-western", 14);
pref("font.size.fixed.x-western", 14);
pref("font.size.variable.zh-TW", 15);
pref("font.size.fixed.zh-TW", 14);
pref("font.size.variable.x-western", 14);
pref("font.size.fixed.x-western", 14);
pref("font.size.variable.zh-TW", 15);
pref("font.size.fixed.zh-TW", 14);
pref("font.size.variable.x-western", 14);
pref("font.size.fixed.x-western", 14);
pref("font.size.variable.zh-TW", 15);
pref("font.size.fixed.zh-TW", 14);
[dywang@dywH SOURCES]$ vim mozilla-esr24/modules/libpref/src/init/all.js
[dywang@dywH SOURCES]$ egrep 'font.name.monospace.*(x\-western|zh\-TW)' \
mozilla-esr24/modules/libpref/src/init/all.js
pref("font.name.monospace.x-western", "DejaVu Sans Mono");
pref("font.name.monospace.zh-TW", "DejaVu Sans Mono");
pref("font.name.monospace.x-western", "DejaVu Sans Mono");
pref("font.name.monospace.zh-TW", "DejaVu Sans Mono");
pref("font.name.monospace.x-western", "DejaVu Sans Mono");
pref("font.name.monospace.zh-TW", "DejaVu Sans Mono");
pref("font.name.monospace.x-western", "Source Code Pro");
pref("font.name.monospace.zh-TW", "Source Code Pro");
pref("font.name.monospace.x-western", "DejaVu Sans Mono");
pref("font.name.monospace.zh-TW", "Droid Sans Mono");
pref("font.name.monospace.x-western", "DejaVu Sans Mono");
[dywang@dywH SOURCES]$ tar jcvf firefox-24.2.0esr.source.tar.bz2 mozilla-esr24
[dywang@dywH SOURCES]$ rpmbuild -ba --clean --target=$(uname -m) ../SPECS/firefox.spec Building target platforms: x86_64 Building for target x86_64 error: Bad owner/group: /home/dywang/rpmbuild/SOURCES/firefox-24.2.0esr.source.tar.bz2
[dywang@dywH SOURCES]$ ll firefox*bz2 -rw-rw-r--. 1 508 508 119863962 Apr 8 21:48 firefox-24.2.0esr.source.tar.bz2 -rw-rw-r--. 1 508 508 25759295 Dec 6 2013 firefox-langpacks-24.2.0esr-20131206.tar.bz2
[dywang@dywH SOURCES]$ sudo chown dywang.dywang -R .
[dywang@dywH SOURCES]$ rpmbuild -ba --clean --target=$(uname -m) ../SPECS/firefox.spec Building target platforms: x86_64 Building for target x86_64 error: Failed build dependencies: nasm is needed by firefox-24.2.0-1.el6.dyw.x86_64 hunspell-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 bzip2-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 libIDL-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 gnome-vfs2-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 libgnome-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 libgnomeui-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 startup-notification-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 libnotify-devel is needed by firefox-24.2.0-1.el6.dyw.x86_64 autoconf213 is needed by firefox-24.2.0-1.el6.dyw.x86_64
[dywang@dywH SOURCES]$ sudo yum install nasm hunspell-devel bzip2-devel \ libIDL-devel gnome-vfs2-devel libgnome-devel libgnomeui-devel \ startup-notification-devel libnotify-devel autoconf213
checking for NSPR - version >= 4.10.2... no configure: error: your don't have NSPR installed or your version is too old
[dywang@dywH Packages]$ yum upgrade nspr-* --nogpgcheck
[dywang@dywH SOURCES]$ rpmbuild -ba --clean --target=$(uname -m) ../SPECS/firefox.spec
../../dist/bin/libxul.so: undefined reference to `SEC_PKCS7VerifyDetachedSignatureAtTime@NSS_3.15'
collect2: ld returned 1 exit status
make[6]: *** [plugin-container] Error 1
.................
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.zCukuN (%build)
[dywang@dywH ~]$ rpm -e xulrunner-last --nodeps
[dywang@dywH SOURCES]$ rpmbuild -ba --clean --target=$(uname -m) ../SPECS/firefox.spec ................... Wrote: /home/dywang/rpmbuild/SRPMS/firefox-24.2.0-1.el6.dyw.src.rpm Wrote: /home/dywang/rpmbuild/RPMS/x86_64/firefox-24.2.0-1.el6.dyw.x86_64.rpm Wrote: /home/dywang/rpmbuild/RPMS/x86_64/firefox-debuginfo-24.2.0-1.el6.dyw.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.UXFrIf + umask 022 + cd /home/dywang/rpmbuild/BUILD + cd firefox-24.2.0 + /bin/rm -rf /home/dywang/rpmbuild/BUILDROOT/firefox-24.2.0-1.el6.dyw.x86_64 + exit 0
[dywang@dywH SOURCES]$ sudo cp ../RPMS/x86_64/firefox-24* /var/ftp/pub/centos6/crtPackages
[root@dywH Packages]$ repogroup.sh [root@dywH Packages]# repogroup.sh 1854/1854 - Packages/libreoffice/libreoffice-ure-3.4.5.2-16.1.el6_3.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata Loaded plugins: fastestmirror, refresh-packagekit Cleaning up Everything
[dywang@dywH ~]$ sudo yum install firefox
[dywang@dywH ~]$ sudo ls -l /usr/lib64/firefox/firefox* -rwxr-xr-x. 1 root root 98184 Apr 10 11:54 /usr/lib64/firefox/firefox lrwxrwxrwx. 1 root root 7 Apr 10 12:00 /usr/lib64/firefox/firefox-bin -> firefox -rwxr-xr-x. 1 root root 98184 Apr 10 11:54 /usr/lib64/firefox/firefox lrwxrwxrwx. 1 root root 7 Apr 10 12:00 /usr/lib64/firefox/firefox-bin -> firefox