NetBSD Wiki/users/ryoon/
How to update pkgsrc/www/firefox
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 should have pkgsrc/meta-pkgs/pkg_developer package and pkgsrc/devel/py-mercurial package.
Clone hg tree
See http://mozilla-version-control-tools.readthedocs.io/en/latest/hgmozilla/unifiedrepo.html
You should follow "Working with the Unified Repo" section. In short, run:
$ hg clone https://hg.mozilla.org/mozilla-unified
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
Add a comment