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.

Add a comment