We use Mercurial for developing Bokken. In order to get a read-only access to the Mercurial repository, where all the development happens, just type:
hg clone http://inguma.eu/repos/bokken
We strongly recommend that prospective developers use this method for writing code against current HEAD/trunk/tip/latest code.
Github (git) and Bitbucket (hg) mirrors¶
If you are a git user, and/or you prefer the social features of Github and Bitbucket, fear not! We have you covered. There's a mirror of the current code in each of them:
If you want to push to them from your mercurial instance, just install hg-git (in Debian the package is called mercurial-git) and add the following to your .hg/hgrc file under your bokken checkout:
git = git+ssh://email@example.com/inguma/bokken.git
bb = ssh://firstname.lastname@example.org/inguma/bokken
You may need to merge these section with already existing sections you may have in your .hg/hgrc file.
Then if you want to pull from them, run:
hg pull bb (BitBucket)
hg pull git (Github)
Do you want to push? Easy:
hg push bb (BitBucket)
hg push git (Github)
Running Bokken with the Mercurial tip (bleeding edge)¶
As of this writing (25-03-2014) you need either radare 0.9.6 or later and its SWIG Python bindings to make full use of Bokken, or pyew. Please go to http://radare.org/y/?p=download and http://code.google.com/p/pyew/, respectively, for getting the sources or packages. Python bindings for radare2 are somewhat difficult to compile in the 0.9.6 release. You will need Python 2.7, unless you feel brave to change all the references in the Makefiles to python 2.6. Instructions:
wget http://radare.org/get/r2-bindings-0.9.6.tar.gz tar zxvf r2-bindings-0.9.6.tar.gz cd r2-bindings-0.9.6/python make (it will take a lot of memory to build) cd .. echo python > supported.langs (I think this is no longer necessary if you run make install-python) sudo make install-python
Clone the bokken repo in another directory on your machine (instructions above) and run it (just ./bokken or ./bokken FILE_TO_OPEN) on a terminal. If radare2 bindings are not properly installed, the startup messages will tell you that you need Radare2.
Please report in the issue tracker or the development list (see below) any bug you encounter. We try to have a working tip at all times, but some times shit happens and we screw up.
Bokken actually maintains a development mailing list:
bokken-devel (at) inguma.eu: This is the list where all the development happens. Every developer is subscribed. It will act as the user support list for the time being.
Becoming a developer¶If you want to become a developer, please start by sending patches for:
- adding new features, preferably if they are from the Roadmap.
- fixing bugs that have been already reported.
- lack of documentation.
After a few patches, please contact us at redmine--AT--inguma.eu for a restricted shell account. You will need a checkout through SSH, so type:
hg clone ssh://inguma.eu//repos/bokken (yes, the two slashes are on purpose).
And you're done!