[[!meta title="Updating pkgsrc/lang/openjdk7"]] openjdk uses hgforest extension of mercurial (hg). hgforest works with mercurial-1.x only. You should install latest 1.x branch of mecurial, 1.2.1 from http://mercurial.selenic.com/release/mercurial-1.2.1.tar.gz . mercurial-1.2.1 is used first fclone only. # Install prerequisitic packages. $ cd /usr/pkgsrc/devel/gmake $ make install $ cd /usr/pkgsrc/devel/mercurial $ make install $ cd /usr/pkgsrc/lang/openjdk7 $ make depends # Creating working directory. $ cd ~/ $ mkdir -p repos/openjdk7 $ cd repos/openjdk7 # Install mercurial-1.2.1. 2.x branch of mercurial may be used for daily works. mercurial-1.2.1 should be installed in your working directory. $ ftp http://mercurial.selenic.com/release/mercurial-1.2.1.tar.gz $ tar zxvf mercurial-1.2.1.tar.gz $ cd mercurial-1.2.1 $ gmake PREFIX=~/repos/openjdk7/hg PYTHON=/usr/pkg/bin/python2.7 install # hg clone hgforest extansion. $ PYTHONPATH=~/repos/openjdk7/hg/lib/python2.7/site-packages ~/repos/openjdk7/hg/bin/hg clone https://bitbucket.org/gxti/hgforest Installation is not needed. # fclone openjdk7 source code. $ cat ~/.hgrc [extensions] forest=~/repos/openjdk7/hgforest/forest.py $ PYTHONPATH=~/repos/openjdk7/hg/lib/python2.7/site-packages ~/repos/openjdk7/hg/bin/hg fclone http://hg.openjdk.java.net/bsd-port/bsd-port/ You have gotten bsd-port directory, ~/repos/openjdk7/bsd-port. $ ls -F bsd-port ASSEMBLY_EXCEPTION LICENSE Makefile README README-builds.html THIRD_PARTY_README corba/ get_source.sh hotspot/ jaxp/ jaxws/ jdk/ langtools/ make/ test/ And remove forest= line from your ~/.hgrc. It is problematic for mercurial-2.x. # checkout latest tagged version. fcheckout command does not work properly for my tree at least. You should enter each directory, and check tha status of each tree using mercurial-2.x. For example, $ cd jdk $ hg pull && hg update You should do in each directory in bsd-port/. In this case, I will use tip version. # Creating source tarball. $ cd .. $ cp -a bsd-port openjdk $ find openjdk -type d -name .hg | xargs rm -rf $ tar jvfc openjdk-1.7.25-20130626.tar.bz2 openjdk # Put the tarball to openjdk7 directory of ${DISTDIR}. $ cp openjdk-1.7.25-20130626.tar.bz2 /ust/distfiles/openjdk7 # Upload the tarball to ${MASTER_SITE_LOCAL:=openjdk7/} Using scp, for example, upload the tarball. # Creating bootstrap binaries. I have no idea... # Follow usual package updating procedure.