in the "doc" directory.
2. Run ./configure to generate config.h and the various Makefiles.
- ./configure --help gives a list of possible options with slightly
- longer descriptions in README.configure
+ ./configure --help gives a list of possible options. Note, in
+ configuring Bacula, you cannot get by with a simple ./configure,
+ it is much more complicated than that (unfortunately).
- You might look at the "defaultconfig" file in the top directory.
+ You might look at the "defaultconfig" file in the examples directory.
It is an example of what is probably reasonable for defaults.
Some systems require unusual options for compilation or linking that
CFLAGS="-g -Wall" ./configure --enable-smartalloc --enable-mysql
- see README for a few additional details and the online manual
+ See the README for a few additional details and the online manual
for all the gory details: http://www.bacula.org/html-manual
-
- 3. set any other main preferences (normally, you don't do this):
+ 3. Carefully review the output from ./configure. If it is not
+ what you want, re-run the ./configure. Often ./configure "caches"
+ things and thus remembers the last ./configure options. If you
+ want to be sure you are starting fresh after a ./configure,
+ do a:
+
+ make distclean
+
+ before re-running ./configure. "make distclean" wipes out any
+ knowledge of the ./configure, so don't do it after you have a
+ configuration that suits your needs, otherwise the "make" will
+ not work.
+
+ 4. Set any other main preferences (normally, you don't do this):
Edit "config.h" if you didn't use ./configure options
If you're cross-compiling, edit the following in "config.h"
- 4. Build it (repeat step 2 as desired):
+ 5. Build it (repeat step 2 as desired):
make
- 5. Install it
+ 6. Install it
make install
+
+ 7. Run it
+ cd $HOME/bacula/bin
+ ./bacula start
+ ./console
+ (enter commands)
depend:
@for I in ${all_subdirs}; \
- do (cd $$I; echo "==>Entering directory `pwd`"; $(MAKE) $@ || exit 1); done
+ do (cd $$I; echo "==>Entering directory `pwd`"; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
bacula-fd: Makefile
@for I in ${fd_subdirs}; \
install-autostart: install-autostart-dir install-autostart-fd install-autostart-sd
install-autostart-dir:
- (cd platforms; $(MAKE) $@ || exit 1)
+ (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
install-autostart-fd:
- (cd platforms; $(MAKE) $@ || exit 1)
+ (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
install-autostart-sd:
- (cd platforms; $(MAKE) $@ || exit 1)
+ (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart: uninstall-autostart-dir uninstall-autostart-fd uninstall-autrun-sd
uninstall-autostart-dir:
- (cd platforms; $(MAKE) $@ || exit 1)
+ (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart-fd:
- (cd platforms; $(MAKE) $@ || exit 1)
+ (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
uninstall-autostart-sd:
- (cd platforms; $(MAKE) $@ || exit 1)
+ (cd platforms; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1)
Makefile: Makefile.in
cd $(topdir) \
distdirs:
mkdir ../$(VERNAME);
mkdir ../$(VERNAME)/autoconf;
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) $@ || (echo "Failed to make distclean in $$I"; exit 0) ); done
+ @for I in $(all_subdirs); do (cd $$I; $(MAKE) DESTDIR=$(DESTDIR) $@ || (echo "Failed to make distclean in $$I"; exit 0) ); done
distcopy:
$(CP) -p $(DIST) ../$(VERNAME);
$(CP) -p $(DIST_CFG) ../$(VERNAME)/autoconf;
- @for I in $(all_subdirs); do (cd $$I; $(MAKE) $@ || exit 1); done
+ @for I in $(all_subdirs); do (cd $$I; $(MAKE) DESTDIR=$(DESTDIR) $@ || exit 1); done
distrib: configure autoconf/config.h.in distdirs distcopy
numbering conventions, but rather one that I started in
1970. My internal releases were 0.nn, the first release to
another user was 1.0, each modified source code release then
-gets a new minor release (1.1, ...) as well as a date. Each
+gets a new minor release (1.1, 1.2, ...) as well as a date. Each
major change in the software -- e.g. new tape format will
normally have the major release number incremented.
--sysconfdir=$HOME/bacula/bin \
--with-pid-dir=$HOME/bacula/bin \
--with-subsys-dir=$HOME/bacula/bin \
+ --with-sqlite=$HOME/depkgs/sqlite \
--enable-gnome \
--with-mysql=$HOME/mysql \
--with-working-dir=$HOME/bacula/bin/working \
To create the database:
- src/make_bacula_tables
+ src/cats/make_bacula_tables
+
+To install:
+
+ make install
To start it:
+ cd $HOME/bacula/bin
+ ./bacula start
+
+To start it (as a developer). This is not appropriate if you
+are installing Bacula.
+
./startit
./console (or ./gnome-console)
Well, it is all just a bit more complicated than that,
but you should have the idea.
+
+Be sure you read the chapter about testing your tape drive!
+Don't waste a lot of time setting up and running Bacula, if
+your drive is not supported.
+
+FreeBSD users, pay special attention to the Device configuration
+parameters needed to deal with FreeBSD tape drivers.
+
+
+
Here are a few tips from James MacLean on
making Bacula work on an AIX system -- 15 Mar 2003:
take care,
JES
-
SHELL = /bin/sh
-# This variable makes it possible to move the installation root to another
-# directory. This is useful when you're creating a binary distribution
-# If empty, normal root will be used.
-# You can run eg. 'make install DESTDIR=/packages/rxvt-xx' to accomplish
-# that.
-# DESTDIR = /usr/local/X11/$(VERNAME)
-
# Installation target directories & other installation stuff
prefix = @prefix@
exec_prefix = @exec_prefix@
#
-# Bacula Makefile
+# Bacula Makefile for the File daemon
#
# Version $Id$
#
@echo " "
win32/winlib.a:
- (cd win32; $(MAKE))
+ (cd win32; $(MAKE) DESTDIR=$(DESTDIR))
@rm -f bacula-fd.exe
win32/winmain.o:
- (cd win32; $(MAKE))
+ (cd win32; $(MAKE) DESTDIR=$(DESTDIR))
@rm -f bacula-fd.exe
win32/winres.res:
- (cd win32; $(MAKE))
+ (cd win32; $(MAKE) DESTDIR=$(DESTDIR))
@rm -f bacula-fd.exe
# win32 libraries if needed
win32: $(WIN32OBJS)
- (cd win32; $(MAKE))
+ (cd win32; $(MAKE) DESTDIR=$(DESTDIR))
@rm -f bacula-fd.exe
bacula-fd: $(SVROBJS) ../findlib/libfind.a ../lib/libbac.a @WIN32@
@rm -rf bin/CVS CVS
install:
- @mkdir -p $(sbindir) /tmp $(sbindir)/../working
+ @mkdir -p $(DESTDIR)$(sbindir) $(DESTDIR)/tmp $(DESTDIR)$(sbindir)/../working
@echo "Installing system binary files ..."
@strip ../bacula-fd.exe
@strip ../../tools/smtp.exe
@cp -f ../../tools/smtp.exe bin/
@cp -f ../../tools/testfind.exe bin/
@cp -f ../../console/console.exe bin/
- @cp -f bin/* $(sbindir)
- @cp -f ../bacula-fd.conf $(sysconfdir)/bacula-fd.conf.new
- @cp -f ../../console/console.conf $(sysconfdir)/console.conf.new
+ @cp -f bin/* $(DESTDIR)$(sbindir)
+ @cp -f ../bacula-fd.conf $(DESTDIR)$(sysconfdir)/bacula-fd.conf.new
+ @cp -f ../../console/console.conf $(DESTDIR)$(sysconfdir)/console.conf.new
# Make a Win32 binary release
binary-release:
uninstall:
(cd $(DESTDIR)$(sbindir); $(RMF) smtp)
+ (cd $(DESTDIR)$(sbindir); $(RMF) dbcheck)