1 |
jonen |
1.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-<version> |
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-4 |
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-3) |
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_<version>.deb |
141 |
|
|
|
142 |
|
|
|
143 |
|
|
<hr/> |
144 |
|
|
$Id$ |