Tarball tree for barry-0.17.0.tar.bz2
[barry.git] / doc / www / cvs.html
blob3a743b0b4e704ece3755f4bc70fcc80b4cf710c5
1 <html>
3 <head>
4 <title>Barry Documentation</title>
5 <link rel="stylesheet" type="text/css" href="default.css">
7 </head>
9 <body>
12 <div class='pageHeader'>Installing Barry</div><img src='nothing.jpg' width='100%' height='5' alt=''><br><div class='linearNav'>
13 <div class="subHeader">Dependencies</div>
14 <p>See the <a href="dependencies.html">software dependencies</a>
15 page for
16 detailed information on the software that Barry needs.</p>
19 <div class="subHeader">Getting the Source</div>
20 <p>There are 3 ways to get the source code:
21 <ul>
22 <li>download the release tarball from the
23 <a href="http://sourceforge.net/project/showfiles.php?group_id=153722">download page</a></li>
24 <li>download the development tree
25 <a href="http://sourceforge.net/cvs/?group_id=153722">using CVS</a></li>
26 <li>download the development tree
27 <a href="http://repo.or.cz/w/barry.git">using git</a></li>
28 </ul>
29 </p>
32 <div class="subHeader">Using The Tarball Release</div>
33 <p>There are multiple source packages available on the Sourceforge download page.
34 The main tarball is always the tar.bz2 package. This contains everything in
35 CVS, including pre-built configure scripts and website documentation.</p>
37 <p>As an alternative, the tar.gz packages are Debian-specific. This comes as
38 an "orig" tarball, with the debian/ subdirectory contained in the diff.gz file.
39 A .dsc file is included as well, for ease of Debian package building. These
40 files can be expanded into a Debian style source tree with the following
41 command, for example:
42 <pre>
43 dpkg-source -x barry_0.15-0.dsc
44 </pre>
45 </p>
47 <p>Once the tar.gz and diff.gz files are combined, you will have a tree
48 identical to what comes with the tar.bz2 package.</p>
50 <p>See <i>Building the Source</i> below for instructions on building the
51 resulting tree.</p>
53 <p>Alternatively, there are rpm source packages, in the form of src.rpm files.
54 These packages can be installed and built as usual, using the rpm and rpmbuild
55 commands.</p>
58 <div class="subHeader">Using CVS</div>
59 <p>Up to date instructions for connecting to Sourceforge CVS repositories
60 are available on the
61 <a href="http://sourceforge.net/cvs/?group_id=153722">CVS page</a>. This
62 usually involves commands like this:
64 <pre>
65 cvs -d:pserver:anonymous@barry.cvs.sourceforge.net:/cvsroot/barry login
66 (press enter when it asks for password)
67 cvs -d:pserver:anonymous@barry.cvs.sourceforge.net:/cvsroot/barry co -P barry
68 </pre>
69 </p>
71 <p>This will place the Barry sources in the barry directory. To update
72 your source tree periodically, do the following:
73 <pre>
74 cd barry
75 ./buildgen.sh cleanall (optional)
76 cvs update -Pd
77 </pre>
78 </p>
81 <div class="subHeader">Using git</div>
82 <p>The same development tree is also available via git, and can be browsed
83 on the web at the <a href="http://repo.or.cz/w/barry.git">Barry git page</a>.
84 You can clone the repository like this:
86 <pre>
87 git clone git://repo.or.cz/barry.git barry
88 </pre>
89 </p>
91 <p>This will place the Barry sources in the barry directory. To update
92 your source tree periodically, do the following:
94 <pre>
95 cd barry
96 ./buildgen.sh cleanall (optional)
97 git checkout master
98 git pull origin
99 </pre>
100 </p>
106 <div class="subHeader">Preparing Development Sources for Configure</div>
107 <p>If you're using a development tree, you'll need to build the usual
108 ./configure script before you can proceed. To do this, you will need
109 autoconf, automake, and libtool as stated on the dependencies page.
110 The correct sequence of commands to build ./configure is already stored
111 in the ./buildgen.sh shell script in the root level directory of the
112 Barry tree.
114 <pre>
115 cd barry
116 ./buildgen.sh
117 </pre>
122 <div class="subHeader">Building the Source</div>
123 <p>At this point, or if you are using a source tarball, building Barry
124 is a matter of the common set of commands:
125 <pre>
126 ./configure
127 make
128 make install (possibly as root)
129 </pre>
130 </p>
132 <p> The top level configure script has two sub-package options:
133 <ul>
134 <li> --enable-gui </li>
135 <li> --enable-opensync-plugin </li>
136 </ul>
137 </p>
139 <p>Each option will recurse into the gui/ (Backup application) and
140 opensync-plugin/ directories respectively, and build the subprojects
141 located there automatically. Make sure you have the needed software
142 dependencies installed beforehand.</p>
144 <p> If you want to generate doxygen documentation, run 'doxygen' from
145 the root source directory. The resulting files will be in
146 doc/www/doxygen/html/. Doxygen 1.5.6 has been used to do this,
147 but presumably more recent versions will work as well.</p>
151 <div class="subHeader">Build Everything!</div>
152 <p>An example that will build everything, including the Boost features in
153 btool:
154 <pre>
155 cd barry
156 ./buildgen.sh cleanall (this will make a pristine tree)
157 ./buildgen.sh (this creates configure)
158 ./configure --enable-boost --enable-gui --enable-opensync-plugin
159 make
160 make install
161 doxygen
162 </pre>
164 <p>This will give you a set of command line tools (bcharge, btool, breset,
165 bidentify, bjavaloader, pppob), as well as the backup GUI (barrybackup),
166 and will install the opensync plugin into the system directory for opensync
167 plugins (usually /usr/lib/opensync/plugins). Available man pages are also
168 installed.</p>
170 <p>You can use 'btool' to explore your device from the command line.
171 Use the -h switch for help on its command line options. Some good ones to
172 start with are <code>-l</code> to list the devices found, and <code>-t</code>
173 to list the Database Database.</p>
176 <div class="subHeader">Configure udev to Run bcharge Automatically</div>
177 <p>The makefiles do not install udev rules automatically. There are sample
178 udev rules files in the udev/ directory. For a Debian system, copy the
179 udev/debian/10-blackberry.rules file to /etc/udev/rules.d/10-blackberry.rules,
180 and copy the file modprobe/blacklist-berry_charge to
181 /etc/modprobe.d/blacklist-berry_charge.
182 <pre>
183 cd barry
184 (become root)
185 cp udev/debian/10-blackberry.rules /etc/udev/rules.d/10-blackberry.rules
186 cp modprobe/blacklist-berry_charge /etc/modprobe.d/blacklist-berry_charge
187 </pre>
188 </p>
190 <p>Make sure that bcharge was installed to /usr/sbin. If you used a different
191 --prefix option on the ./configure command line, you will need to update
192 your 10-blackberry.rules file to match.</p>
195 <div class="subHeader">Configure PPP chat scripts for your system</div>
196 <p>The source tree comes with sample PPP chat scripts for using your
197 Blackberry as a modem. These sample scripts are located under ppp/ in
198 your source directory.
199 The binary packages install all the ppp options files under /etc/ppp/peers/
200 and all the chat scripts (with the *.chat extensions) under
201 /etc/chatscripts/. These directories are important, since the pppd
202 program expects to find options files under peers/ and the options files
203 reference the chatscripts.</p>
205 <p>Copy the above samples to their appropriate directories to install
206 modem support for your system. Make sure you have pppd installed as well.</p>
208 <p>If you install Barry in a location other than /usr, you will need
209 to edit the options files to correct the hard coded paths in these
210 files. The files assume that pppob is located in /usr/sbin/pppob.</p>
212 <p>See the <a href="modem.html">modem usage</a>
213 page for more
214 information on using your Blackberry as a modem.</p>
217 <div class="subHeader">Building Barry RPMs from CVS</div>
218 <p> Paul Dugas reports on the mailing list that he uses the following
219 steps for building RPMs from CVS:</p>
221 <pre>
222 $ cd ~/work
223 $ cvs ... login
224 $ cvs ... co barry
225 $ cd barry
226 $ ./buildgen.sh
227 $ ./configure --enable-gui --enable-opensync-plugin
228 $ make dist
229 $ rpmbuild -tb barry-0.13.tar.gz
231 I prefer running rpmbuild from the tarball as it's typically the way
232 non-developers would build them. I have ~/.rpmmacros setting %_topdir
233 to %(echo $HOME)/.rpmbuild so the RPM building can run as me and not
234 root. The resulting RPMs end up in ~/.rpmbuild/RPMS/x86_64.
235 </pre>
237 <p> On an RPM based system, install <b>rpm-build</b> and <b>rpmdevtools</b>,
238 then run <b>rpmdev-setuptree</b> to create an "rpmbuild" directory in your
239 home directory. </p>
242 <div class="subHeader">Building Barry DEBs from Source</div>
243 <p>Once you have ./configure generated as detailed above, you can
244 create Debian-style binary packages for your system by running the
245 following:
246 <pre>
247 cd barry
248 fakeroot -- debian/rules binary
249 </pre>
250 </p>
253 <div class="Copyright">Copyright &copy; 2011 - Net Direct Inc.</div>
255 </body>
256 </html>