version 1.1, 2012/03/25 01:27:27
|
version 1.8, 2016/06/06 12:14:56
|
Line 1
|
Line 1
|
## How to update www/firefox, mail/thunderbord, devel/xulrunner, devel/nspr, devel/nss, and www/seamonkey and their l10n package. |
[[!meta title="How to update pkgsrc/www/firefox"]] |
|
|
1) Update devel/nspr with firefox's source. |
This article shows how to update pkgsrc/www/firefox package to latest release. |
// The source tar ball of nspr is provided. Which is better? |
You can use Mozilla's Mercurial (hg) repositories to track upstream changes. |
// Patches are prepared in xulrunner's patches directory. |
|
|
|
2) Update devel/nss with firefox's source. |
You should have pkgsrc/meta-pkgs/pkg_developer package. |
// nss's tar ball is not provided. It must be extracted from firefox's |
|
source tar ball. |
|
// Patches are prepared in xulrunner's patches directory. |
|
|
|
3) Update devel/xulrunner with firefox's source. |
# Clone hg tree |
|
See <https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Source_Code/Mercurial>. |
|
|
4) Update www/firefox |
You should follow "Using Bookmarks to Manage Multiple Repositories from a Single Clone" section. |
|
|
5) Re-install all above packages with latest patches in xulrunner. |
|
|
|
6) Apply xulrunner's patches to www/thunderbird and www/seamonkey's mozilla directory. |
# Update trees to latest |
And add thunderbird or seamonkey specific to patches. |
|
|
$ hg pull central |
|
$ hg pull inbound |
|
$ hg pull aurora |
|
$ hg pull beta |
|
$ hg pull release |
|
|
|
$ hg update |
|
|
|
|
|
# Checkout last release source, and create your branch |
|
|
|
Find latest release. |
|
|
|
$ hg tags|grep 46_ |
|
(snip) |
|
FIREFOX_46_0_1_RELEASE 341775:0b8492c110be |
|
(snip) |
|
|
|
Checkout the branch. |
|
|
|
$ hg checkout FIREFOX_46_0_1_RELEASE |
|
|
|
Create named branch for applying pkgsrc patches |
|
|
|
$ hg branch pkgsrc_firefox-46.0.1 |
|
$ hg commit -m "Create pkgsrc_firefox-46.0.1 branch for applying pkgsrc patches" |
|
|
|
Add .*\.orig$ to .hgignore, and commit this change |
|
|
|
$ hg commit -m "Ignore .orig files" .hgignore |
|
|
|
|
|
# Apply pkgsrc patches |
|
|
|
$ pushd /usr/pkgsrc/www/firefox |
|
$ mkpatches -c |
|
$ popd |
|
$ cat /usr/pkgsrc/www/firefox/patches/patch-*|patch -p0 |
|
$ hg add ...(necessary files) |
|
$ hg commit -m "Apply pkgsrc patches for firefox-46.0.1nb1" |
|
|
|
|
|
# Checkout latest beta source, and create your branch |
|
|
|
Find latest branch. |
|
|
|
$ hg tags | grep 47_ |
|
(snip) |
|
FIREFOX_47_0b9_RELEASE 341367:2ee4473c729a |
|
(snip) |
|
|
|
Checkout the branch. |
|
|
|
$ hg checkout FIREFOX_47_0b9_RELEASE |
|
|
|
Create named branch for working. |
|
|
|
$ hg branch ryoon_firefox-47.0b9 |
|
$ hg commit -m "Create ryoon_firefox-47.0 branch for merging pkgsrc patches" |
|
|
|
Add .*\.orig$ to .hgignore, and commit this change |
|
|
|
$ hg commit -m "Ignore .orig files" .hgignore |
|
|
|
# Merge your patches |
|
|
|
$ hg merge pkgsrc_firefox-46.0.1 |
|
$ hg resolve -l |
|
$ vi file/marked/as/U |
|
$ hg resolve --mark file/marked/as/U |
|
(loop) |
|
$ hg commit -m "Merge pkgsrc_firefox-46.0.1 branch to 47.0" |
|
|
|
|
|
# Create patch file for patch -p0 |
|
|
|
$ hg diff -r (revision of first commit in ryoon_firefox-47.0b9) | \ |
|
sed -e 's!^--- a/!--- !' -e 's!^+++ b/!+++ !' > ~/firefox-47.0.diff |
|
$ vi ~/firefox-47.0.diff |
|
(Remove patch to .hgignore) |
|
(Remove patch to .hgtags) |
|
|
|
# Create patches/patch-* for pkgsrc/www/firefox |
|
|
|
$ cd /usr/pkgsrc/www/firefox |
|
$ vi Makefile |
|
(Update version) |
|
(Remove PKGREVISION) |
|
(Fix WRKSRC variable) |
|
$ make mdi |
|
$ make extract |
|
$ pushd ${WRKOBJDIR}/www/firefox/work/mozilla-beta |
|
$ patch -p0 < ~/firefox-47.0.diff |
|
$ popd |
|
$ mkpatches |
|
$ patchdiff |
|
$ make mps |
|
|
|
# Test your patches |
|
|
|
$ make clean && make package |