This howto describes building the Xenomai tools from git.
The Xenomai tools are needed by the Xenomai threads versions of LinuxCNC (xenomai-kernel and xenomai-user). See this page for more info: XenomaiKernel
This recipe was developed on Ubuntu Precise, amd64 arch, but will probably work for other versions of Debian-like distros and other arches.
It assumes you want to build a specific release. Building from the head of the master branch will need some tweaks to the below procedure.
Adjust the following values according to your needs.
# Which xenomai release to use. Stable version here: # http://download.gna.org/xenomai/stable/ XENO_VERSION=2.6.2
# Your name and email for the commit FULLNAME="John Doe" EMAIL="jdoe@example.com"
These may not be enough; git-buildpackage will print a list if more are needed.
# package build prereqs sudo apt-get install devscripts debhelper dh-kpatches findutils # git build prereqs sudo apt-get install git-core git-buildpackage
This patch fixes a problem with the build. It will be sent upstream and hopefully integrated.
Download it into the current directory: upload:xenomai-2.6.2-rules_copy_kernel_patches.patch
# clone repo, check out tagged version into new branch git clone git://git.xenomai.org/xenomai-2.6.git cd xenomai-2.6 git checkout -b v$XENO_VERSION-deb v$XENO_VERSION
# update changelog DEBEMAIL="$EMAIL" DEBFULLNAME="$FULLNAME" \ debchange -v $XENO_VERSION Release $XENO_VERSION
# remove the 'configure' script; this shouldn't be in git, # and git-buildpackage chokes when it removes configure and # there are resulting uncommitted changes in the repo git rm configure
# commit changes git commit -am $XENO_VERSION --author="$FULLNAME <$EMAIL>"
# fix copying of kernel patches in debian/rules and commit git apply -p1 < ../xenomai-2.6.2-rules_copy_kernel_patches.patch git commit -am "debian/rules: fix kernel patch copying" \ --author="$FULLNAME <$EMAIL>"
# build the package git-buildpackage \ --git-debian-branch=v$XENO_VERSION-deb \ --git-export-dir=.. \ -uc -us
# install resulting packages cd .. sudo dpkg -i *.deb