--- wikisrc/users/ryoon/how_to_update_www_firefox.mdwn 2012/03/25 01:27:27 1.1 +++ wikisrc/users/ryoon/how_to_update_www_firefox.mdwn 2017/01/22 13:02:09 1.11 @@ -1,19 +1,113 @@ -## 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. -// The source tar ball of nspr is provided. Which is better? -// Patches are prepared in xulrunner's patches directory. +This article shows you how to update pkgsrc/www/firefox package to latest +release. +You can use Mozilla's Mercurial (hg) repositories to track upstream changes. -2) Update devel/nss with firefox's source. -// 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. +You should have pkgsrc/meta-pkgs/pkg_developer package +and pkgsrc/devel/py-mercurial package. -3) Update devel/xulrunner with firefox's source. +# Clone hg tree +See -4) Update www/firefox +You should follow "Working with the Unified Repo" section. +In short, run: -5) Re-install all above packages with latest patches in xulrunner. + $ hg clone https://hg.mozilla.org/mozilla-unified -6) Apply xulrunner's patches to www/thunderbird and www/seamonkey's mozilla directory. - And add thunderbird or seamonkey specific to patches. +# Update trees to latest + + $ hg update + + +# Checkout last release source, and create your branch + +Find latest release. + + $ hg tags|grep 50_ + (snip) + FIREFOX_50_1_0_RELEASE 359965:8612c3320053 + (snip) + +Checkout the branch. + + $ hg checkout FIREFOX_50_1_0_RELEASE + +Create named branch for applying pkgsrc patches + + $ hg branch pkgsrc_firefox-50.1.0 + $ hg commit -m "Create pkgsrc_firefox-50.1.0 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-50.1.0nb3" + + +# Checkout latest beta source, and create your branch + +Find latest branch. + + $ hg tags | grep 51_ + (snip) + FIREFOX_51_0b14_RELEASE 364880:09142d07fd73 + (snip) + +Checkout the branch. + + $ hg checkout FIREFOX_51_0b14_RELEASE + +Create named branch for working. + + $ hg branch ryoon_firefox-51.0 + $ hg commit -m "Create ryoon_firefox-51.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-50.1.0 + $ hg resolve -l + $ vi file/marked/as/U + $ hg resolve --mark file/marked/as/U + (loop) + $ hg commit -m "Merge pkgsrc_firefox-50.1.0 branch to 51.0" + + +# Create patch file for patch -p0 + + $ hg diff -r (revision of first commit in ryoon_firefox-51.0) | \ + sed -e 's!^--- a/!--- !' -e 's!^+++ b/!+++ !' > ~/firefox-51.0.diff + $ vi ~/firefox-51.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) + $ make mdi + $ make extract + $ pushd ${WRKOBJDIR}/www/firefox/work/${DISTNAME} + $ patch -p0 < ~/firefox-51.0.diff + $ popd + $ mkpatches + $ patchdiff + $ make mps + +# Test your patches + + $ make clean && make package