See the software dependencies page for detailed information on the software that Barry needs.
There are 2 ways to get the source code:
There are multiple source packages available on the Sourceforge download page. The main tarball is always the tar.bz2 package. This contains everything in git, as well as pre-built configure scripts and pre-generated HTML documentation.
The same development tree is also available via git, and can be browsed on the web at the Barry git page. You can clone the repository like this:
git clone git://repo.or.cz/barry.git barry
This will place the Barry sources in the barry directory. To update your source tree periodically, do the following:
cd barry ./buildgen.sh cleanall (optional) git checkout master git pull origin
If you're using a development tree, you'll need to build the usual ./configure script before you can proceed. To do this, you will need autoconf, automake, and libtool as stated on the dependencies page. The correct sequence of commands to build ./configure is already stored in the ./buildgen.sh shell script in the root level directory of the Barry tree.
cd barry ./buildgen.sh
At this point, or if you are using a source tarball, building Barry is a matter of the common set of commands:
./configure make make install (possibly as root)
The top level configure script also has a number of additional sub-package options:
If you want to generate doxygen documentation, run 'doxygen' from the root source directory. The resulting files will be in doc/www/doxygen/html/. Doxygen 1.7.1 has been used to do this, but presumably more recent versions will work as well.
An example that will build everything, including the Boost features in btool:
cd barry ./buildgen.sh cleanall (start with a fresh tree) ./buildgen.sh (this creates configure) ./configure --enable-boost --enable-gui --enable-opensync-plugin \ --enable-opensync-plugin-4x --enable-desktop make make install doxygen
This will give you a set of command line tools (bcharge, btool, breset, bidentify, bjavaloader, pppob), as well as the backup GUI (barrybackup), the Desktop GUI (barrydesktop), and will install the opensync plugins into the system directory for opensync plugins (usually /usr/lib/opensync/plugins). Available man pages are also installed.
The makefiles do not install udev rules automatically. There are sample udev rules files in the udev/ directory. For a Debian system, copy the udev/debian/10-blackberry.rules file to /etc/udev/rules.d/10-blackberry.rules, and copy the file modprobe/blacklist-berry_charge to /etc/modprobe.d/blacklist-berry_charge.
cd barry (become root) cp udev/debian/10-blackberry.rules /etc/udev/rules.d/10-blackberry.rules cp modprobe/blacklist-berry_charge /etc/modprobe.d/blacklist-berry_charge
Make sure that bcharge was installed to /usr/sbin. If you used a different --prefix option on the ./configure command line, you will need to update your 10-blackberry.rules file to match.
The source tree comes with sample PPP chat scripts for using your Blackberry as a modem. These sample scripts are located under ppp/ in your source directory.
The binary packages install all the ppp options files under /etc/ppp/peers/ and all the chat scripts (with the *.chat extensions) under /etc/chatscripts/. These directories are important, since the pppd program expects to find options files under peers/ and the options files reference the chatscripts.
Copy the above samples to their appropriate directories to install modem support for your system. Make sure you have pppd installed as well.
If you install Barry in a location other than /usr, you will need to edit the options files to correct the hard coded paths in these files. The files assume that pppob is located in /usr/sbin/pppob.
See the modem usage page for more information on using your Blackberry as a modem.
Paul Dugas reports on the mailing list that he uses the following steps for building RPMs from git:
$ cd ~/work $ git clone... $ cd barry $ ./buildgen.sh $ ./configure --enable-gui --enable-opensync-plugin $ make dist $ rpmbuild -tb barry-0.13.tar.gz I prefer running rpmbuild from the tarball as it's typically the way non-developers would build them. I have ~/.rpmmacros setting %_topdir to %(echo $HOME)/.rpmbuild so the RPM building can run as me and not root. The resulting RPMs end up in ~/.rpmbuild/RPMS/x86_64.
On an RPM based system, install rpm-build and rpmdevtools, then run rpmdev-setuptree to create an "rpmbuild" directory in your home directory.
Once you have ./configure generated as detailed above, you can create Debian-style binary packages for your system by running the following:
cd barry fakeroot -- debian/rules binary
There are manual sub-targets in the debian/rules makefile to build binary packages for the OpenSync plugins, which you can invoke as follows:
fakeroot -- debian/rules binary os22-binary or fakeroot -- debian/rules binary os22-binary