| 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 |
jonen |
1.4 |
cd ../bacula-1.29 |
| 36 |
jonen |
1.1 |
|
| 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 |
jonen |
1.3 |
Version: 1.29-1 |
| 62 |
jonen |
1.1 |
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 |
jonen |
1.2 |
bacula (1.29-1) |
| 91 |
jonen |
1.1 |
|
| 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 |
jonen |
1.4 |
mv debian.deb bacula_1.29-1.deb |
| 141 |
jonen |
1.1 |
|
| 142 |
|
|
|
| 143 |
|
|
<hr/> |
| 144 |
jonen |
1.2 |
$Id: build_bacula_deb.twingle,v 1.1 2003/03/13 22:02:25 jonen Exp $ |