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...