1 |
<h3>build bacula debian binary package</h3> |
2 |
<hr/> |
3 |
|
4 |
Description: |
5 |
short notes about how to compile bacula sources (in this case with MySQL database support), |
6 |
and package the binaries as debian packages. |
7 |
|
8 |
|
9 |
#==== create temp dirs ======== |
10 |
mkdir -p bacula/build |
11 |
mkdir -p bacula/debian |
12 |
|
13 |
#======= prepare install dir ============= |
14 |
cd bacula/debian |
15 |
mkdir -p /usr/local/bacula/ |
16 |
|
17 |
#======= build and install bacula ============ |
18 |
cd bacula/build ...and download source file here (bacula, depkgs, depkgs1) |
19 |
|
20 |
untar all |
21 |
|
22 |
be sure |
23 |
libmysqlclient10-dev |
24 |
and |
25 |
libreadline4-dev is installed ! |
26 |
|
27 |
# make mtx (we don't need SQLite, we have MySQL...i hope..) |
28 |
cd depkgs |
29 |
make mtx |
30 |
|
31 |
# make helper apps |
32 |
cd ../depkgs1 |
33 |
make |
34 |
|
35 |
cd ../bacula-1.29 |
36 |
|
37 |
# configure bacula |
38 |
./configure \ |
39 |
--prefix=/usr/local/bacula \ |
40 |
--enable-static-tools \ |
41 |
--enable-static-fd \ |
42 |
--enable-static-sd \ |
43 |
--enable-static-dir \ |
44 |
--enable-static-cons \ |
45 |
--with-mysql \ |
46 |
--enable-gnome \ |
47 |
--with-readline |
48 |
|
49 |
# make and install bacula to prefixed dir |
50 |
make |
51 |
make install DESTDIR=/dir/to/install/bacula/debian ( e.g /tmp/bacula/debian ) |
52 |
|
53 |
#========== make final modifications and copy docs into package tree ======== |
54 |
# |
55 |
# create control file |
56 |
cd debian/DEBIAN |
57 |
nano control |
58 |
example: |
59 |
========== snip ======== |
60 |
Package: bacula |
61 |
Version: 1.29-1 |
62 |
Section: net |
63 |
Priority: optional |
64 |
Architecture: all |
65 |
Depends: libmysqlclient10 (>= 3.23.49-8), libstdc++5 (>= 3.2.1-0pre3), gcc-3.2-base (>= 3.2.$ |
66 |
Maintainer: Sebastian Utz <seut@netfrag.org> |
67 |
Description: Bacula - The Network Backup Solution |
68 |
Bacula is a set of computer programs that permit you (or the system administrator) to |
69 |
manage backup, recovery, and verification of computer data across a network of |
70 |
computers of different kinds. In technical terms, it is a network client/server based |
71 |
backup program. Bacula is relatively easy to use and efficient, while offering many |
72 |
advanced storage management features that make it easy to find and recover lost or |
73 |
damaged files. Bacula source code has been released under the GPL version 2 license. |
74 |
|
75 |
This version is compiled with MySQL support. |
76 |
========== end snip ======== |
77 |
|
78 |
|
79 |
# install doc to package tree |
80 |
cd ../usr/ |
81 |
mkdir -p share/doc/bacula |
82 |
cp all docu stuf at source to this dir |
83 |
cp bacula-source/COPYRIGHT to share/doc/bacula/copyright |
84 |
|
85 |
# create changelog files |
86 |
cd share/doc/bacula/ |
87 |
nano changelog |
88 |
example: |
89 |
========== snip ======== |
90 |
bacula (1.29-1) |
91 |
|
92 |
* create bacula debian package |
93 |
|
94 |
-- Sebastian Utz <seut@netfrag.org> 2003-03-12 04:45:55 +0100 |
95 |
========== end snip ======== |
96 |
|
97 |
nano changelog.DEBIAN |
98 |
example: |
99 |
========== snip ======== |
100 |
bacula Debian maintainer and upstream author are identical. |
101 |
Therefore see also normal changelog file for Debian changes. |
102 |
========== end snip ======== |
103 |
|
104 |
gzip --best changelog |
105 |
gzip --best changelog.DEBIAN |
106 |
|
107 |
|
108 |
# maybe modify some start-up scripts under ../usr/local/bacula/etc/ |
109 |
# e.g create a start-up script for each daemon |
110 |
cd ../usr/local/bacula/etc/ |
111 |
cp bacula bacula-all |
112 |
cp bacula bacula-dir |
113 |
nano bacula bacula-dir (to remove starting of the other daemons) |
114 |
# ...same to the other daemons( fd and sd) |
115 |
|
116 |
# maybe modify 'console' start-up script |
117 |
example: |
118 |
========== snip ======== |
119 |
#!/bin/sh |
120 |
CONSOLE=/usr/local/bacula/sbin/console |
121 |
DEFAULT_CONF=/usr/local/bacula/etc/console.conf |
122 |
if [ $# = 1 ] ; then |
123 |
echo "doing console $1" |
124 |
$CONSOLE -c $1 |
125 |
else |
126 |
$CONSOLE -c $DEFAULT_CONF |
127 |
fi |
128 |
========== end snip ======== |
129 |
|
130 |
# maybe create sym-links under /usr/local/sbin/ to console apps |
131 |
cd ../usr/local/sbin/ |
132 |
ln -s ../bacula/etc/console bacula-console |
133 |
ln -s ../bacula/etc/console-gnome bacula-console-gnome |
134 |
|
135 |
|
136 |
# ============== create debian package ============= |
137 |
# |
138 |
cd bacula/ (where debian/DEBIAN etc. is under the tree) |
139 |
dpkg-deb --build debian |
140 |
mv debian.deb bacula_1.29-1.deb |
141 |
|
142 |
|
143 |
<hr/> |
144 |
$Id: build_bacula_deb.twingle,v 1.1 2003/03/13 22:02:25 jonen Exp $ |