Annotation of wikisrc/users/ryoon/how_to_update_www_firefox.mdwn, revision 1.8

1.3       ryoon       1: [[!meta title="How to update pkgsrc/www/firefox"]]
1.1       ryoon       2: 
1.3       ryoon       3: This article shows how to update pkgsrc/www/firefox package to latest release.
                      4: You can use Mozilla's Mercurial (hg) repositories to track upstream changes.
1.1       ryoon       5: 
1.3       ryoon       6: You should have pkgsrc/meta-pkgs/pkg_developer package.
1.1       ryoon       7: 
1.3       ryoon       8: # Clone hg tree
                      9: See <https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Source_Code/Mercurial>.
1.1       ryoon      10: 
1.3       ryoon      11: You should follow "Using Bookmarks to Manage Multiple Repositories from a Single Clone" section.
1.1       ryoon      12: 
                     13: 
1.3       ryoon      14: # Update trees to latest
                     15: 
                     16:        $ hg pull central
                     17:        $ hg pull inbound
                     18:        $ hg pull aurora
                     19:        $ hg pull beta
                     20:        $ hg pull release
                     21: 
                     22:        $ hg update
                     23: 
                     24: 
                     25: # Checkout last release source, and create your branch
                     26: 
                     27: Find latest release.
                     28: 
1.8     ! ryoon      29:        $ hg tags|grep 46_
        !            30:        (snip)
        !            31:        FIREFOX_46_0_1_RELEASE          341775:0b8492c110be
1.3       ryoon      32:        (snip)
                     33: 
                     34: Checkout the branch.
                     35: 
1.8     ! ryoon      36:        $ hg checkout FIREFOX_46_0_1_RELEASE
1.3       ryoon      37: 
                     38: Create named branch for applying pkgsrc patches
                     39: 
1.8     ! ryoon      40:        $ hg branch pkgsrc_firefox-46.0.1
        !            41:        $ hg commit -m "Create pkgsrc_firefox-46.0.1 branch for applying pkgsrc patches"
1.3       ryoon      42: 
                     43: Add .*\.orig$ to .hgignore, and commit this change
                     44: 
                     45:        $ hg commit -m "Ignore .orig files" .hgignore
                     46: 
                     47: 
                     48: # Apply pkgsrc patches
                     49: 
                     50:        $ pushd /usr/pkgsrc/www/firefox
                     51:        $ mkpatches -c
                     52:        $ popd
                     53:        $ cat /usr/pkgsrc/www/firefox/patches/patch-*|patch -p0
                     54:        $ hg add ...(necessary files)
1.8     ! ryoon      55:        $ hg commit -m "Apply pkgsrc patches for firefox-46.0.1nb1"
1.3       ryoon      56: 
                     57: 
                     58: # Checkout latest beta source, and create your branch
                     59: 
                     60: Find latest branch.
                     61: 
1.8     ! ryoon      62:        $ hg tags | grep 47_
        !            63:        (snip)
        !            64:        FIREFOX_47_0b9_RELEASE          341367:2ee4473c729a
        !            65:        (snip)
1.3       ryoon      66: 
                     67: Checkout the branch.
                     68: 
1.8     ! ryoon      69:        $ hg checkout FIREFOX_47_0b9_RELEASE
1.3       ryoon      70: 
                     71: Create named branch for working.
                     72: 
1.8     ! ryoon      73:        $ hg branch ryoon_firefox-47.0b9
        !            74:        $ hg commit -m "Create ryoon_firefox-47.0 branch for merging pkgsrc patches"
1.3       ryoon      75: 
                     76: Add .*\.orig$ to .hgignore, and commit this change
                     77: 
                     78:        $ hg commit -m "Ignore .orig files" .hgignore
                     79: 
                     80: # Merge your patches
                     81: 
1.8     ! ryoon      82:        $ hg merge pkgsrc_firefox-46.0.1
1.3       ryoon      83:        $ hg resolve -l
                     84:        $ vi file/marked/as/U
                     85:        $ hg resolve --mark file/marked/as/U
                     86:        (loop)
1.8     ! ryoon      87:        $ hg commit -m "Merge pkgsrc_firefox-46.0.1 branch to 47.0"
1.3       ryoon      88: 
                     89: 
                     90: # Create patch file for patch -p0
                     91: 
1.8     ! ryoon      92:        $ hg diff -r (revision of first commit in ryoon_firefox-47.0b9) | \
        !            93:        sed -e 's!^--- a/!--- !' -e 's!^+++ b/!+++ !' > ~/firefox-47.0.diff
        !            94:        $ vi ~/firefox-47.0.diff
1.3       ryoon      95:        (Remove patch to .hgignore)
                     96:        (Remove patch to .hgtags)
                     97: 
                     98: # Create patches/patch-* for pkgsrc/www/firefox
                     99: 
                    100:        $ cd /usr/pkgsrc/www/firefox
                    101:        $ vi Makefile
                    102:        (Update version)
                    103:        (Remove PKGREVISION)
1.5       ryoon     104:        (Fix WRKSRC variable)
1.3       ryoon     105:        $ make mdi
                    106:        $ make extract
                    107:        $ pushd ${WRKOBJDIR}/www/firefox/work/mozilla-beta
1.8     ! ryoon     108:        $ patch -p0 < ~/firefox-47.0.diff
1.3       ryoon     109:        $ popd
                    110:        $ mkpatches
                    111:        $ patchdiff
                    112:        $ make mps
                    113: 
                    114: # Test your patches
                    115: 
                    116:        $ make clean && make package

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