lib: Splitting up configfile.cc to contain Unix and Windows support in separate sourc...
[barry.git] / doc / www / cvs.php
blob0ac8d764204afc7513546e27ed828d95df799a8e
1 <? include ("barry.inc"); ?>
3 <? createHeader("Installing Barry"); ?>
5 <? createSubHeader("Dependencies"); ?>
7 <p>See the <? createLink("dependencies", "software dependencies"); ?> page for
8 detailed information on the software that Barry needs.</p>
11 <? createSubHeader("Getting the Source"); ?>
13 <p>There are 2 ways to get the source code:
14 <ul>
15 <li>download the release tarball from the
16 <a href="http://sourceforge.net/projects/barry/files/barry/">download page</a></li>
17 <li>download the development tree
18 <a href="http://repo.or.cz/w/barry.git">using git</a></li>
19 </ul>
20 </p>
23 <? createSubHeader("Using The Tarball Release"); ?>
25 <p>There are multiple source packages available on the Sourceforge download
26 page. The main tarball is always the tar.bz2 package. This contains
27 everything in git, as well as pre-built configure scripts and pre-generated
28 HTML documentation.</p>
31 <? createSubHeader("Using git"); ?>
33 <p>The same development tree is also available via git, and can be browsed
34 on the web at the <a href="http://repo.or.cz/w/barry.git">Barry git page</a>.
35 You can clone the repository like this:
37 <pre>
38 git clone git://repo.or.cz/barry.git barry
39 </pre>
40 </p>
42 <p>This will place the Barry sources in the barry directory. To update
43 your source tree periodically, do the following:
45 <pre>
46 cd barry
47 ./buildgen.sh cleanall (optional)
48 git checkout master
49 git pull origin
50 </pre>
51 </p>
55 <? createSubHeader("Preparing Git Sources for Configure"); ?>
57 <p>If you're using a development tree, you'll need to build the usual
58 ./configure script before you can proceed. To do this, you will need
59 autoconf, automake, and libtool as stated on the dependencies page.
60 The correct sequence of commands to build ./configure is already stored
61 in the ./buildgen.sh shell script in the root level directory of the
62 Barry tree.
64 <pre>
65 cd barry
66 ./buildgen.sh
67 </pre>
71 <? createSubHeader("Building the Source"); ?>
73 <p>At this point, or if you are using a source tarball, building Barry
74 is a matter of the common set of commands:
75 <pre>
76 ./configure
77 make
78 make install (possibly as root)
79 </pre>
80 </p>
82 <p> The top level configure script also has a number of additional
83 sub-package options:
84 <ul>
85 <li><b>--enable-gui</b> - compile the Barry Backup GUI</li>
86 <li><b>--enable-desktop</b> - compile the Barry Desktop GUI</li>
87 <li><b>--enable-opensync-plugin</b> - compile the Barry plugin for
88 OpenSync 0.2x</li>
89 <li><b>--enable-opensync-plugin-4x</b> - compile the Barry plugin for
90 OpenSync 0.39/0.4x</li>
91 <li><b>--enable-boost</b> - include Boost support in the btool
92 utility</li>
93 <li><b>--enable-rpathhack</b> - if specified, uses a libtool hack to
94 disable rpath during the build</li>
95 </ul>
96 </p>
98 <p> If you want to generate doxygen documentation, run 'doxygen' from
99 the root source directory. The resulting files will be in
100 doc/www/doxygen/html/. Doxygen 1.7.1 has been used to do this,
101 but presumably more recent versions will work as well.</p>
105 <? createSubHeader("Build Everything!"); ?>
107 <p>An example that will build everything, including the Boost features in
108 btool:
109 <pre>
110 cd barry
111 ./buildgen.sh cleanall (start with a fresh tree)
112 ./buildgen.sh (this creates configure)
113 ./configure --enable-boost --enable-gui --enable-opensync-plugin \
114 --enable-opensync-plugin-4x --enable-desktop
115 make
116 make install
117 doxygen
118 </pre>
120 <p>This will give you a set of command line tools (bcharge, btool, breset,
121 bidentify, bjavaloader, pppob), as well as the backup GUI (barrybackup),
122 the Desktop GUI (barrydesktop), and will install the opensync plugins
123 into the system directory for opensync plugins (usually
124 /usr/lib/opensync/plugins). Available man pages are also
125 installed.</p>
129 <? createSubHeader("Configure udev to Run bcharge Automatically"); ?>
131 <p>The makefiles do not install udev rules automatically. There are sample
132 udev rules files in the udev/ directory. For a Debian system, copy the
133 udev/debian/10-blackberry.rules file to /etc/udev/rules.d/10-blackberry.rules,
134 and copy the file modprobe/blacklist-berry_charge to
135 /etc/modprobe.d/blacklist-berry_charge.
136 <pre>
137 cd barry
138 (become root)
139 cp udev/debian/10-blackberry.rules /etc/udev/rules.d/10-blackberry.rules
140 cp modprobe/blacklist-berry_charge /etc/modprobe.d/blacklist-berry_charge
141 </pre>
142 </p>
144 <p>Make sure that bcharge was installed to /usr/sbin. If you used a different
145 --prefix option on the ./configure command line, you will need to update
146 your 10-blackberry.rules file to match.</p>
149 <? createSubHeader("Configure PPP chat scripts for your system"); ?>
151 <p>The source tree comes with sample PPP chat scripts for using your
152 Blackberry as a modem. These sample scripts are located under ppp/ in
153 your source directory.
155 <p>The binary packages install all the ppp options files under /etc/ppp/peers/
156 and all the chat scripts (with the *.chat extensions) under
157 /etc/chatscripts/. These directories are important, since the pppd
158 program expects to find options files under peers/ and the options files
159 reference the chatscripts.</p>
161 <p>Copy the above samples to their appropriate directories to install
162 modem support for your system. Make sure you have pppd installed as well.</p>
164 <p>If you install Barry in a location other than /usr, you will need
165 to edit the options files to correct the hard coded paths in these
166 files. The files assume that pppob is located in /usr/sbin/pppob.</p>
168 <p>See the <? createLink("modem", "modem usage"); ?> page for more
169 information on using your Blackberry as a modem.</p>
172 <? createSubHeader("Building Barry RPMs from git"); ?>
174 <p> Paul Dugas reports on the mailing list that he uses the following
175 steps for building RPMs from git:</p>
177 <pre>
178 $ cd ~/work
179 $ git clone...
180 $ cd barry
181 $ ./buildgen.sh
182 $ ./configure --enable-gui --enable-opensync-plugin
183 $ make dist
184 $ rpmbuild -tb barry-0.13.tar.gz
186 I prefer running rpmbuild from the tarball as it's typically the way
187 non-developers would build them. I have ~/.rpmmacros setting %_topdir
188 to %(echo $HOME)/.rpmbuild so the RPM building can run as me and not
189 root. The resulting RPMs end up in ~/.rpmbuild/RPMS/x86_64.
190 </pre>
192 <p> On an RPM based system, install <b>rpm-build</b> and <b>rpmdevtools</b>,
193 then run <b>rpmdev-setuptree</b> to create an "rpmbuild" directory in your
194 home directory. </p>
197 <? createSubHeader("Building Barry DEBs from Source"); ?>
199 <p>Once you have ./configure generated as detailed above, you can
200 create Debian-style binary packages for your system by running the
201 following:
202 <pre>
203 cd barry
204 fakeroot -- debian/rules binary
205 </pre>
206 </p>
208 <p>There are manual sub-targets in the debian/rules makefile to build
209 binary packages for the OpenSync plugins, which you can invoke as follows:
210 <pre>
211 fakeroot -- debian/rules binary os22-binary
215 fakeroot -- debian/rules binary os22-binary
216 </pre>
217 </p>