Diff for /wikisrc/users/ryoon/how_to_update_www_firefox.mdwn between versions 1.1 and 1.9

version 1.1, 2012/03/25 01:27:27 version 1.9, 2016/06/19 09:21:40
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_
           FIREFOX_46_0_1_RELEASE          341775:0b8492c110be
   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_
           FIREFOX_47_0b9_RELEASE          341367:2ee4473c729a
   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
           $ 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)
           $ 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

Removed from v.1.1  
changed lines
  Added in v.1.9

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb