]> git.sur5r.net Git - bacula/bacula/blob - bacula/platforms/osx/README
Don't download and build fakeroot as part of make -C platforms/osx
[bacula/bacula] / bacula / platforms / osx / README
1 Bacula file daemon package builder for Mac OS X
2 ===============================================
3
4 This package build script lets you download, compile and package the bacula
5 file daemon easily with a single command line. Beside the bacula file daemon
6 the resulting installer package contains a short ReadMe file with instructions
7 on how to install and use the software. Also a basic launchd property list is
8 included along with preugrade and postflight installer scripts to stop and
9 restart the daemon while upgrading. To ensure the security of the users the
10 passwords in the configuration files are generated during a first time
11 installation and file permissions are checked and corrected on upgrades.
12
13 Requirements:
14 * Mac OS X 10.4 or later
15 * Mac OS X developer tools installed
16 * fakeroot >= 1.13 (http://ftp.debian.org/debian/pool/main/f/fakeroot/)
17   The makefile expects the compiled binary at /usr/local/bin/fakeroot.
18
19 Example (compile and create package from within bacula source tree):
20 $ ./configure --enable-client-only
21 $ make -C platforms/osx
22
23 By moving the contents of platforms/osx to some other directory (e.g.
24 ~/bacula-standalone-bulder), it is possible to create installer packages from
25 older bacula versions and for specific platforms.
26
27 Examples (standalone mode):
28  1. Create an installer package from the newest supported bacula source
29     containing the bacula file daemon as a PPC/Intel universal binary.
30     $ make dmg
31
32  2. Create an installer package from a specified version of the bacula source
33     containing the bacula file daemon as a PPC/Intel universal binary.
34     $ make dmg BACULA_VERSION=3.0.0
35
36  3. Create an installer package from the newest supported bacula source
37     containing the bacula file daemon for PPC architecture only.
38     $ make dmg ARCHFLAGS="-arch ppc" PACKAGE_TITLE="Bacula File Daemon PPC x.y.z"
39
40  4. Create an installer package from a specified version of the bacula source
41     containing the bacula file daemon for the current architecture.
42     $ make dmg BACULA_VERSION=2.4.4 ARCHFLAGS=""
43
44 You find the built disk images in the products folder.
45
46 Misc commands:
47   1. Cleanup the build directory
48      $ make clean
49   2. Additionally remove the downloads and products:
50      $ make distclean
51
52 Additional notes on the build-script:
53   * The following *FLAGS are used tu build universal binary with 10.4 SDK:
54     CPPFLAGS=-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
55     CFLAGS=-O -g -arch i386 -arch ppc
56     CXXFLAGS=${CFLAGS}
57     LDFLAGS=-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch i386 -arch ppc
58
59     Because the configure-scripts fails on 10.4 when -syslibroot is specified,
60     this option is supplied to make only.
61
62   * In order to build Mac OS X installer packages in a repeatable manner with
63     the correct owner/group and permissions, PackageMakers's cheap and broken
64     mechanism of applying recommended permissions is not used. Instead
65     Debian's fakeroot tool is used during package building phase to ensure
66     that the ownership of the files in the installer's Archive.pax.gz is set
67     to root and that permissions are kept exactly like "make install" set them
68     before.