]> git.sur5r.net Git - bacula/bacula/blob - bacula/platforms/osx/README
Apply Lorenz' OSX patch
[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
17 Example (compile and create package from within bacula source tree):
18 $ ./configure --enable-client-only
19 $ make -C platforms/osx
20
21 By moving the contents of platforms/osx to some other directory (e.g.
22 ~/bacula-standalone-bulder), it is possible to create installer packages from
23 older bacula versions and for specific platforms.
24
25 Examples (standalone mode):
26  1. Create an installer package from the newest supported bacula source
27     containing the bacula file daemon as a PPC/Intel universal binary.
28     $ make dmg
29
30  2. Create an installer package from a specified version of the bacula source
31     containing the bacula file daemon as a PPC/Intel universal binary.
32     $ make dmg BACULA_VERSION=3.0.0
33
34  3. Create an installer package from the newest supported bacula source
35     containing the bacula file daemon for PPC architecture only.
36     $ make dmg ARCHFLAGS="-arch ppc" PACKAGE_TITLE="Bacula File Daemon PPC x.y.z"
37
38  4. Create an installer package from a specified version of the bacula source
39     containing the bacula file daemon for the current architecture.
40     $ make dmg BACULA_VERSION=2.4.4 ARCHFLAGS=""
41
42 You find the built disk images in the products folder.
43
44 Misc commands:
45   1. Cleanup the build directory
46      $ make clean
47   2. Additionally remove the downloads and products:
48      $ make distclean
49
50 Additional notes on the build-script:
51   * The following *FLAGS are used tu build universal binary with 10.4 SDK:
52     CPPFLAGS=-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
53     CFLAGS=-O -g -arch i386 -arch ppc
54     CXXFLAGS=${CFLAGS}
55     LDFLAGS=-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch i386 -arch ppc
56
57     Because the configure-scripts fails on 10.4 when -syslibroot is specified,
58     this option is supplied to make only.
59
60   * In order to build Mac OS X installer packages in a repeatable manner with
61     the correct owner/group and permissions, PackageMakers's cheap and broken
62     mechanism of applying recommended permissions is not used. Instead
63     Debian's fakeroot tool gets built and used during the packaging process to
64     ensure that the ownership of the files in the installer's Archive.pax.gz
65     is set to root and that permissions are kept exactly like "make install"
66     set them before.