Bacula file daemon package builder for Mac OS X
===============================================

This package build script lets you download, compile and package the bacula
file daemon easily with a single command line. Beside the bacula file daemon
the resulting installer package contains a short ReadMe file with instructions
on how to install and use the software. Also a basic launchd property list is
included along with preugrade and postflight installer scripts to stop and
restart the daemon while upgrading. To ensure the security of the users the
passwords in the configuration files are generated during a first time
installation and file permissions are checked and corrected on upgrades.

Requirements:
* Mac OS X 10.4 or later
* Mac OS X developer tools installed
* fakeroot >= 1.13 (http://ftp.debian.org/debian/pool/main/f/fakeroot/)
  The makefile expects the compiled binary at /usr/local/bin/fakeroot.

Example (compile and create package from within bacula source tree):
$ ./configure --enable-client-only
$ make -C platforms/osx

By moving the contents of platforms/osx to some other directory (e.g.
~/bacula-standalone-bulder), it is possible to create installer packages from
older bacula versions and for specific platforms.

Examples (standalone mode):
 1. Create an installer package from the newest supported bacula source
    containing the bacula file daemon as a PPC/Intel universal binary.
    $ make dmg

 2. Create an installer package from a specified version of the bacula source
    containing the bacula file daemon as a PPC/Intel universal binary.
    $ make dmg BACULA_VERSION=3.0.0

 3. Create an installer package from the newest supported bacula source
    containing the bacula file daemon for PPC architecture only.
    $ make dmg ARCHFLAGS="-arch ppc" PACKAGE_TITLE="Bacula File Daemon PPC x.y.z"

 4. Create an installer package from a specified version of the bacula source
    containing the bacula file daemon for the current architecture.
    $ make dmg BACULA_VERSION=2.4.4 ARCHFLAGS=""

You find the built disk images in the products folder.

Misc commands:
  1. Cleanup the build directory
     $ make clean
  2. Additionally remove the downloads and products:
     $ make distclean

Additional notes on the build-script:
  * The following *FLAGS are used tu build universal binary with 10.4 SDK:
    CPPFLAGS=-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
    CFLAGS=-O -g -arch i386 -arch ppc
    CXXFLAGS=${CFLAGS}
    LDFLAGS=-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch i386 -arch ppc

    Because the configure-scripts fails on 10.4 when -syslibroot is specified,
    this option is supplied to make only.

  * In order to build Mac OS X installer packages in a repeatable manner with
    the correct owner/group and permissions, PackageMakers's cheap and broken
    mechanism of applying recommended permissions is not used. Instead
    Debian's fakeroot tool is used during package building phase to ensure
    that the ownership of the files in the installer's Archive.pax.gz is set
    to root and that permissions are kept exactly like "make install" set them
    before.
