version 1.3, 2014/06/09 08:32:38
|
version 1.11, 2017/01/22 13:02:09
|
Line 1
|
Line 1
|
[[!meta title="How to update pkgsrc/www/firefox"]] |
[[!meta title="How to update pkgsrc/www/firefox"]] |
|
|
This article shows how to update pkgsrc/www/firefox package to latest release. |
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. |
You can use Mozilla's Mercurial (hg) repositories to track upstream changes. |
|
|
You should have pkgsrc/meta-pkgs/pkg_developer package. |
You should have pkgsrc/meta-pkgs/pkg_developer package |
|
and pkgsrc/devel/py-mercurial package. |
|
|
# Clone hg tree |
# Clone hg tree |
See <https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Source_Code/Mercurial>. |
See <http://mozilla-version-control-tools.readthedocs.io/en/latest/hgmozilla/unifiedrepo.html> |
|
|
You should follow "Using Bookmarks to Manage Multiple Repositories from a Single Clone" section. |
You should follow "Working with the Unified Repo" section. |
|
In short, run: |
|
|
|
$ hg clone https://hg.mozilla.org/mozilla-unified |
|
|
# Update trees to latest |
# Update trees to latest |
|
|
$ hg pull central |
|
$ hg pull inbound |
|
$ hg pull aurora |
|
$ hg pull beta |
|
$ hg pull release |
|
|
|
$ hg update |
$ hg update |
|
|
|
|
Line 26 You should follow "Using Bookmarks to Ma
|
Line 24 You should follow "Using Bookmarks to Ma
|
|
|
Find latest release. |
Find latest release. |
|
|
$ hg branches | grep 2901 |
$ hg tags|grep 50_ |
GECKO2901_2014050617_RELBRANCH 207485:3fd2b5510ccf |
(snip) |
|
FIREFOX_50_1_0_RELEASE 359965:8612c3320053 |
(snip) |
(snip) |
|
|
Checkout the branch. |
Checkout the branch. |
|
|
$ hg checkout GECKO2901_2014050617_RELBRANCH |
$ hg checkout FIREFOX_50_1_0_RELEASE |
|
|
Create named branch for applying pkgsrc patches |
Create named branch for applying pkgsrc patches |
|
|
$ hg branch pkgsrc_firefox-29.0.1 |
$ hg branch pkgsrc_firefox-50.1.0 |
$ hg commit -m "Create pkgsrc_firefox-29.0.1 branch for applying pkgsrc patches" |
$ hg commit -m "Create pkgsrc_firefox-50.1.0 branch for applying pkgsrc patches" |
|
|
Add .*\.orig$ to .hgignore, and commit this change |
Add .*\.orig$ to .hgignore, and commit this change |
|
|
Line 51 Add .*\.orig$ to .hgignore, and commit t
|
Line 50 Add .*\.orig$ to .hgignore, and commit t
|
$ popd |
$ popd |
$ cat /usr/pkgsrc/www/firefox/patches/patch-*|patch -p0 |
$ cat /usr/pkgsrc/www/firefox/patches/patch-*|patch -p0 |
$ hg add ...(necessary files) |
$ hg add ...(necessary files) |
$ hg commit -m "Apply pkgsrc patches for firefox-29.0.1nb2" |
$ hg commit -m "Apply pkgsrc patches for firefox-50.1.0nb3" |
|
|
|
|
# Checkout latest beta source, and create your branch |
# Checkout latest beta source, and create your branch |
|
|
Find latest branch. |
Find latest branch. |
|
|
$ hg branches | grep 300b9 |
$ hg tags | grep 51_ |
GECKO300b9_2014052918_RELBRANCH 199964:b7037f050049 |
(snip) |
|
FIREFOX_51_0b14_RELEASE 364880:09142d07fd73 |
|
(snip) |
|
|
Checkout the branch. |
Checkout the branch. |
|
|
$ hg checkout GECKO300b9_2014052918_RELBRANCH |
$ hg checkout FIREFOX_51_0b14_RELEASE |
|
|
Create named branch for working. |
Create named branch for working. |
|
|
$ hg branch ryoon_firefox-30.b9 |
$ hg branch ryoon_firefox-51.0 |
|
$ hg commit -m "Create ryoon_firefox-51.0 branch for merging pkgsrc patches" |
Create named branch for applying pkgsrc patches |
|
|
|
$ hg branch ryoon_firefox-30.0 |
|
$ hg commit -m "Create ryoon_firefox-30.0 branch for applying freebsd-gecko patches" |
|
|
|
Add .*\.orig$ to .hgignore, and commit this change |
Add .*\.orig$ to .hgignore, and commit this change |
|
|
$ hg commit -m "Ignore .orig files" .hgignore |
$ hg commit -m "Ignore .orig files" .hgignore |
|
|
Apply patches from freebsd-gecko |
|
|
|
$ cat ~/repos/freebsd-gecko/trunk/www/firefox/files/patch-*|patch -p0 |
|
|
|
Fix rejected patches manually |
|
|
|
$ hg status | grep rej$ |
|
$ vi path/to/a/certain/file.c |
|
|
|
Commit the patches |
|
|
|
$ hg add (necessary files) |
|
$ hg commit -m "Apply freebsd-gecko patches for firefox-30.0" |
|
|
|
|
|
# Merge your patches |
# Merge your patches |
|
|
$ hg merge pkgsrc_firefox-29.0.1 |
$ hg merge pkgsrc_firefox-50.1.0 |
$ hg resolve -l |
$ hg resolve -l |
$ vi file/marked/as/U |
$ vi file/marked/as/U |
$ hg resolve --mark file/marked/as/U |
$ hg resolve --mark file/marked/as/U |
(loop) |
(loop) |
$ hg commit -m "Merge pkgsrc_firefox-29.0.1 brnach to 30.0" |
$ hg commit -m "Merge pkgsrc_firefox-50.1.0 branch to 51.0" |
|
|
|
|
# Create patch file for patch -p0 |
# Create patch file for patch -p0 |
|
|
$ hg diff -r (revision of first commit in ryoon_freebsd-30.0) | \ |
$ hg diff -r (revision of first commit in ryoon_firefox-51.0) | \ |
sed -e 's!^--- a/!--- !' -e 's!^+++ b/!+++ !' > ~/firefox-30.0.diff |
sed -e 's!^--- a/!--- !' -e 's!^+++ b/!+++ !' > ~/firefox-51.0.diff |
vi ~/firefox-30.0.diff |
$ vi ~/firefox-51.0.diff |
(Remove patch to .hgignore) |
(Remove patch to .hgignore) |
(Remove patch to .hgtags) |
(Remove patch to .hgtags) |
|
|
Line 117 Commit the patches
|
Line 99 Commit the patches
|
$ vi Makefile |
$ vi Makefile |
(Update version) |
(Update version) |
(Remove PKGREVISION) |
(Remove PKGREVISION) |
(Fix WRKSRC) |
|
$ make mdi |
$ make mdi |
$ make extract |
$ make extract |
$ pushd ${WRKOBJDIR}/www/firefox/work/mozilla-beta |
$ pushd ${WRKOBJDIR}/www/firefox/work/${DISTNAME} |
$ patch -p0 < ~/firefox-30.0.diff |
$ patch -p0 < ~/firefox-51.0.diff |
$ popd |
$ popd |
$ mkpatches |
$ mkpatches |
$ patchdiff |
$ patchdiff |