Fixed rpm build instructions in web docs
[barry.git] / doc / www / cvs.php
blobb7c86484761e60b6c827f7f0464aed3c09b597eb
1 <? createHeader("Installing Barry"); ?>
3 <? include ("barry.inc"); ?>
6 <div class="subHeader">Dependencies</div>
8 <p>See the <? createLink("dependencies", "software dependencies"); ?> page for
9 detailed information on the software that Barry needs.</p>
12 <div class="subHeader">Getting the Source</div>
14 <p>There are 3 ways to get the source code:
15 <ul>
16 <li>download the release tarball from the
17 <a href="http://sourceforge.net/project/showfiles.php?group_id=153722">download page</a></li>
18 <li>download the development tree
19 <a href="http://sourceforge.net/cvs/?group_id=153722">using CVS</a></li>
20 <li>download the development tree
21 <a href="http://repo.or.cz/w/barry.git">using git</a></li>
22 </ul>
23 </p>
26 <div class="subHeader">Using The Tarball Release</div>
28 <p>There are multiple source packages available on the Sourceforge download page.
29 The main tarball is always the tar.bz2 package. This contains everything in
30 CVS, including pre-built configure scripts and website documentation.</p>
32 <p>As an alternative, the tar.gz packages are Debian-specific. This comes as
33 an "orig" tarball, with the debian/ subdirectory contained in the diff.gz file.
34 A .dsc file is included as well, for ease of Debian package building. These
35 files can be expanded into a Debian style source tree with the following
36 command, for example:
37 <pre>
38 dpkg-source -x barry_0.13-1.dsc
39 </pre>
40 </p>
42 <p>Once the tar.gz and diff.gz files are combined, you will have a tree
43 identical to what comes with the tar.bz2 package.</p>
45 <p>See <i>Building the Source</i> below for instructions on building the
46 resulting tree.</p>
48 <p>Finally, there are rpm source packages, in the form of src.rpm files.
49 This can be installed and built as usual, using the rpm and rpmbuild
50 commands.</p>
53 <div class="subHeader">Using CVS</div>
55 <p>Up to date instructions for connecting to Sourceforge CVS repositories
56 are available on the
57 <a href="http://sourceforge.net/cvs/?group_id=153722">CVS page</a>. This
58 usually involves commands like this:
60 <pre>
61 cvs -d:pserver:anonymous@barry.cvs.sourceforge.net:/cvsroot/barry login
62 (press enter when it asks for password)
63 cvs -d:pserver:anonymous@barry.cvs.sourceforge.net:/cvsroot/barry co -P barry
64 </pre>
65 </p>
67 <p>This will place the Barry sources in the barry directory. To update
68 your source tree periodically, do the following:
69 <pre>
70 cd barry
71 ./buildgen.sh cleanall (optional)
72 cvs update -Pd
73 </pre>
74 </p>
77 <div class="subHeader">Using git</div>
79 <p>The same development tree is also available via git, and can be browsed
80 on the web at the <a href="http://repo.or.cz/w/barry.git">Barry git page</a>.
81 You can clone the repository like this:
83 <pre>
84 git clone git://repo.or.cz/barry.git barry
85 </pre>
86 </p>
88 <p>This will place the Barry sources in the barry directory. To update
89 your source tree periodically, do the following:
91 <pre>
92 cd barry
93 ./buildgen.sh cleanall (optional)
94 git checkout master
95 git pull origin
96 </pre>
97 </p>
103 <div class="subHeader">Preparing Development Sources for Configure</div>
105 <p>If you're using a development tree, you'll need to build the usual
106 ./configure script before you can proceed. To do this, you will need
107 autoconf, automake, and libtool as stated on the dependencies page.
108 The correct sequence of commands to build ./configure is already stored
109 in the ./buildgen.sh shell script in the root level directory of the
110 Barry tree.
112 <pre>
113 cd barry
114 ./buildgen.sh
115 </pre>
120 <div class="subHeader">Building the Source</div>
122 <p>At this point, or if you are using a source tarball, building Barry
123 is a matter of the common set of commands:
124 <pre>
125 ./configure
126 make
127 make install (possibly as root)
128 </pre>
129 </p>
131 <p> The top level configure script has two options:
132 <ul>
133 <li> --enable-gui </li>
134 <li> --enable-opensync-plugin </li>
135 </ul>
136 </p>
138 <p>Each option will recurse into the gui/ (Backup application) and
139 opensync-plugin/ directories respectively, and build the subprojects
140 located there automatically. Make sure you have the needed software
141 dependencies installed beforehand.</p>
143 <p> If you want to generate doxygen documentation, run 'doxygen' from
144 within the src/ directory. The resulting files will be in doc/doxygen/html/.
145 Doxygen 1.4.5 has been used to do this, but presumably more recent versions
146 will work as well.</p>
150 <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 --with-boost=/usr --enable-gui --enable-opensync-plugin
159 make
160 make install
161 cd src && doxygen
162 </pre>
164 <p>This will give you a set of command line tools (bcharge, btool, breset,
165 bidentify, pppob), as well as the backup GUI (barrybackup), and will install the
166 opensync plugin into the system directory for opensync plugins (usually
167 /usr/lib/opensync/plugins). Available man pages are also installed.</p>
169 <p>You can use 'btool' to explore your device from the command line.
170 Use the -h switch for help on its command line options. Some good ones to
171 start with are <code>-l</code> to list the devices found, and <code>-t</code>
172 to list the Database Database.</p>
175 <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/10-blackberry.rules.Debian 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/10-blackberry.rules.Debian /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>
196 <div class="subHeader">Building Barry RPMs from CVS</div>
198 <p> Paul Dugas reports on the mailing list that he uses the following
199 steps for building RPMs from CVS:</p>
201 <pre>
202 $ cd ~/work
203 $ cvs ... login
204 $ cvs ... co barry
205 $ cd barry
206 $ ./buildgen.sh
207 $ ./configure --enable-gui --enable-opensync-plugin
208 $ make dist
209 $ rpmbuild -tb barry-0.12.tar.gz
211 I prefer running rpmbuild from the tarball as it's typically the way
212 non-developers would build them. I have ~/.rpmmacros setting %_topdir
213 to %(echo $HOME)/.rpmbuild so the RPM building can run as me and not
214 root. The resulting RPMs end up in ~/.rpmbuild/RPMS/x86_64.
215 </pre>
218 <div class="subHeader">Building Barry DEBs from Source</div>
220 <p>Once you have ./configure generated as detailed above, you can
221 create Debian-style binary packages for your system by running the
222 following:
223 <pre>
224 cd barry
225 fakeroot -- debian/rules binary
226 </pre>
227 </p>