Annotation of wikisrc/users/ryoon/how_to_update_www_firefox.mdwn, revision 1.10
1.3 ryoon 1: [[!meta title="How to update pkgsrc/www/firefox"]]
1.1 ryoon 2:
1.10 ! ryoon 3: This article shows you how to update pkgsrc/www/firefox package to latest
! 4: release.
1.3 ryoon 5: You can use Mozilla's Mercurial (hg) repositories to track upstream changes.
1.1 ryoon 6:
1.10 ! ryoon 7: You should have pkgsrc/meta-pkgs/pkg_developer package
! 8: and pkgsrc/devel/py-mercurial package.
1.1 ryoon 9:
1.3 ryoon 10: # Clone hg tree
1.10 ! ryoon 11: See <http://mozilla-version-control-tools.readthedocs.io/en/latest/hgmozilla/unifiedrepo.html>
1.1 ryoon 12:
1.10 ! ryoon 13: You should follow "Working with the Unified Repo" section.
! 14: In short, run:
! 15: $ hg clone https://hg.mozilla.org/mozilla-unified
1.1 ryoon 16:
1.3 ryoon 17: # Update trees to latest
18:
19: $ hg update
20:
21:
22: # Checkout last release source, and create your branch
23:
24: Find latest release.
25:
1.10 ! ryoon 26: $ hg tags|grep 50_
1.8 ryoon 27: (snip)
1.10 ! ryoon 28: FIREFOX_50_1_0_RELEASE 359965:8612c3320053
1.3 ryoon 29: (snip)
30:
31: Checkout the branch.
32:
1.10 ! ryoon 33: $ hg checkout FIREFOX_50_1_0_RELEASE
1.3 ryoon 34:
35: Create named branch for applying pkgsrc patches
36:
1.10 ! ryoon 37: $ hg branch pkgsrc_firefox-50.1.0
! 38: $ hg commit -m "Create pkgsrc_firefox-50.1.0 branch for applying pkgsrc patches"
1.3 ryoon 39:
40: Add .*\.orig$ to .hgignore, and commit this change
41:
42: $ hg commit -m "Ignore .orig files" .hgignore
43:
44:
45: # Apply pkgsrc patches
46:
47: $ pushd /usr/pkgsrc/www/firefox
48: $ mkpatches -c
49: $ popd
50: $ cat /usr/pkgsrc/www/firefox/patches/patch-*|patch -p0
51: $ hg add ...(necessary files)
1.10 ! ryoon 52: $ hg commit -m "Apply pkgsrc patches for firefox-50.1.0nb3"
1.3 ryoon 53:
54:
55: # Checkout latest beta source, and create your branch
56:
57: Find latest branch.
58:
1.10 ! ryoon 59: $ hg tags | grep 51_
1.8 ryoon 60: (snip)
1.10 ! ryoon 61: FIREFOX_51_0b14_RELEASE 364880:09142d07fd73
1.8 ryoon 62: (snip)
1.3 ryoon 63:
64: Checkout the branch.
65:
1.10 ! ryoon 66: $ hg checkout FIREFOX_51_0b14_RELEASE
1.3 ryoon 67:
68: Create named branch for working.
69:
1.10 ! ryoon 70: $ hg branch ryoon_firefox-51.0
! 71: $ hg commit -m "Create ryoon_firefox-51.0 branch for merging pkgsrc patches"
1.3 ryoon 72:
73: Add .*\.orig$ to .hgignore, and commit this change
74:
75: $ hg commit -m "Ignore .orig files" .hgignore
76:
77: # Merge your patches
78:
1.10 ! ryoon 79: $ hg merge pkgsrc_firefox-50.1.0
1.3 ryoon 80: $ hg resolve -l
81: $ vi file/marked/as/U
82: $ hg resolve --mark file/marked/as/U
83: (loop)
1.10 ! ryoon 84: $ hg commit -m "Merge pkgsrc_firefox-50.1.0 branch to 51.0"
1.3 ryoon 85:
86:
87: # Create patch file for patch -p0
88:
1.10 ! ryoon 89: $ hg diff -r (revision of first commit in ryoon_firefox-51.0) | \
! 90: sed -e 's!^--- a/!--- !' -e 's!^+++ b/!+++ !' > ~/firefox-51.0.diff
! 91: $ vi ~/firefox-51.0.diff
1.3 ryoon 92: (Remove patch to .hgignore)
93: (Remove patch to .hgtags)
94:
95: # Create patches/patch-* for pkgsrc/www/firefox
96:
97: $ cd /usr/pkgsrc/www/firefox
98: $ vi Makefile
99: (Update version)
100: (Remove PKGREVISION)
101: $ make mdi
102: $ make extract
1.10 ! ryoon 103: $ pushd ${WRKOBJDIR}/www/firefox/work/${DISTNAME}
! 104: $ patch -p0 < ~/firefox-51.0.diff
1.3 ryoon 105: $ popd
106: $ mkpatches
107: $ patchdiff
108: $ make mps
109:
110: # Test your patches
111:
112: $ make clean && make package
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb