]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/platforms/osx/Makefile.in
Prepare for adding high bits to Stream
[bacula/bacula] / bacula / platforms / osx / Makefile.in
index 8be1b78fb6ffc42af6eb38efcc7f631c12820fc0..b0de11f813b0ffeaa6261ca63b4d3bcf46fa7a35 100644 (file)
 BACULA_VERSION:=@VERSION@
 BACULA_DL_URL:=http://downloads.sourceforge.net/project/bacula/bacula/${BACULA_VERSION}/bacula-${BACULA_VERSION}.tar.gz
 
-# fakeroot version and download site
-FAKEROOT_VERSION:=1.13
-FAKEROOT_DL_URL:=http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_${FAKEROOT_VERSION}.tar.gz
-
 # Build universal binary. Comment out when building versions of bacula < 3.0.0
 ARCHFLAGS:=-arch i386 -arch ppc
 MACOSX_SDK_SYSROOT:=/Developer/SDKs/MacOSX10.4u.sdk
@@ -33,7 +29,6 @@ TAR:=/usr/bin/tar
 DL_DIR:=dl
 BUILD_DIR:=build
 PRODUCTS_DIR:=products
-TOOLS_DIR:=tools
 
 WORKING_DIR:=${BUILD_DIR}/${BACULA_VERSION}
 BACULA_TAR:=${DL_DIR}/bacula-${BACULA_VERSION}.tar.gz
@@ -41,6 +36,8 @@ BACULA_SOURCE:=${WORKING_DIR}/bacula-${BACULA_VERSION}
 BACULA_DESTDIR:=${WORKING_DIR}/destdir
 BACULA_PREFIX:=/usr/local/bacula-${BACULA_VERSION}
 BACULA_FD_CONF:=/Library/Preferences/bacula/bacula-fd.conf
+BACULA_WORKING_DIR:=/private/var/bacula/working
+BACULA_PMDOC:=${WORKING_DIR}/installer.pmdoc
 
 # Detect whether we sit inside the bacula source tree. In this case we won't
 # download the tar from sourceforge but instead work with what its there
@@ -53,45 +50,47 @@ ifneq ($(CURDIR),$(CURSUB))
 endif
 
 PACKAGE_TITLE:=Bacula File Daemon ${BACULA_VERSION}
+PACKAGE_ID:=org.bacula.bacula-fd.pkg
 PACKAGE_DIR:=${PRODUCTS_DIR}/${PACKAGE_TITLE}
 PACKAGE_BUNDLE:=${PACKAGE_DIR}/${PACKAGE_TITLE}.pkg
 PACKAGE_DMG:=${PRODUCTS_DIR}/${PACKAGE_TITLE}.dmg
-PACKAGE_RESOURCES:=Description.plist ReadMe.html postflight preupgrade
+PACKAGE_RESOURCES:=ReadMe.html postflight preupgrade
 PACKAGE_XRESOURCES:=postflight preupgrade
 
-FAKEROOT_TAR:=${DL_DIR}/fakeroot-${FAKEROOT_VERSION}.tar.gz
-FAKEROOT_SOURCE:=${TOOLS_DIR}/fakeroot-${FAKEROOT_VERSION}
-FAKEROOT_DESTDIR:=${FAKEROOT_SOURCE}/destdir
-FAKEROOT:=${FAKEROOT_DESTDIR}/bin/fakeroot
-
 # Flags for the toolchain
 CONFIGFLAGS:=--enable-client-only --prefix=${BACULA_PREFIX} \
     --with-dir-password=@DIR_PW@ --with-fd-password=@FD_PW@ \
     --with-sd-password=@SD_PW@ --with-mon-dir-password=@MON_DIR_PW@ \
     --with-mon-fd-password=@MON_FD_PW@ --with-mon-sd-password=@MON_SD_PW@ \
-    --with-basename=@BASENAME@ --with-hostname=@HOSTNAME@
+    --with-basename=@BASENAME@ --with-hostname=@HOSTNAME@ \
+    --with-working-dir=${BACULA_WORKING_DIR}
 CPPFLAGS:=-isysroot ${MACOSX_SDK_SYSROOT} ${MACOSX_VERSION_FLAGS}
 CFLAGS:=-O -g ${ARCHFLAGS}
 CXXFLAGS:=${CFLAGS}
-LDFLAGS:=${MACOSX_VERSION_FLAGS} ${ARCHFLAGS}
+LDFLAGS:=-Wl,-syslibroot,${MACOSX_SDK_SYSROOT} ${MACOSX_VERSION_FLAGS} ${ARCHFLAGS}
+
+# required on snow leopard: compiling for 10.4 requires usage of gcc 4.0
+# system defaults to version 4.2
+CC:=gcc-4.0
+CPP:=cpp-4.0
+CXX:=g++-4.0
+CXXPP:=cpp-4.0
 
 # Placeholders for *.in files
 INFILE_SUBST=\
   -e "s,@PREFIX@,${BACULA_PREFIX},g" \
   -e "s,@BACULA_VERSION@,${BACULA_VERSION},g" \
-  -e "s,@FD_CONF@,${BACULA_FD_CONF},g"
+  -e "s,@FD_CONF@,${BACULA_FD_CONF},g" \
+  -e "s,@BACULA_DESTDIR@,${BACULA_DESTDIR},g" \
+  -e "s,@PACKAGE_ID@,${PACKAGE_ID},g"
 
 dmg: pkg
        hdiutil create -srcfolder "${PACKAGE_DIR}" "${PACKAGE_DMG}"
 
-pkg: ${BACULA_DESTDIR} ${WORKING_DIR}/resources ${FAKEROOT_DESTDIR}
+pkg: ${BACULA_DESTDIR} ${BACULA_PMDOC} ${WORKING_DIR}/resources
        mkdir -p "${PACKAGE_DIR}"
 
-       sed ${INFILE_SUBST} \
-               files/Info.plist.in > "${WORKING_DIR}/Info.plist";
-
-       ${FAKEROOT} ${PM} -build -ds -v -f "\"${BACULA_DESTDIR}\"" -p "\"${PACKAGE_BUNDLE}\"" \
-               -r "\"${WORKING_DIR}/resources\"" -i "\"${WORKING_DIR}/Info.plist\""
+       ${PM} --doc "${BACULA_PMDOC}" --id "${PACKAGE_ID}" --no-recommend --out "${PACKAGE_BUNDLE}"
 
        cp ${WORKING_DIR}/resources/ReadMe.html "${PACKAGE_DIR}/ReadMe.html"
 
@@ -99,6 +98,16 @@ pkg: ${BACULA_DESTDIR} ${WORKING_DIR}/resources ${FAKEROOT_DESTDIR}
                files/uninstall.command.in > "${PACKAGE_DIR}/uninstall.command";
        chmod 0775 "${PACKAGE_DIR}/uninstall.command"
 
+${BACULA_PMDOC}: ${BACULA_DESTDIR} ${WORKING_DIR}/resources
+       mkdir -p "${BACULA_PMDOC}"
+
+       for f in index.xml 01destdir.xml; do \
+               sed ${INFILE_SUBST} \
+                       files/installer.pmdoc.in/$$f > "${BACULA_PMDOC}/$$f"; \
+       done
+
+       python installer-gencontents.py ${BACULA_DESTDIR} > ${BACULA_PMDOC}/01destdir-contents.xml
+
 ${WORKING_DIR}/resources: ${BACULA_DESTDIR}
        mkdir -p "${WORKING_DIR}/resources"
 
@@ -114,8 +123,8 @@ ${WORKING_DIR}/resources: ${BACULA_DESTDIR}
        cp "${BACULA_SOURCE}/LICENSE" "${WORKING_DIR}/resources/License.txt"
 
 ${BACULA_DESTDIR}: ${BACULA_SOURCE}
-       (cd ${BACULA_SOURCE} && ./configure ${CONFIGFLAGS} CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}")
-       ${MAKE} -C ${BACULA_SOURCE} LDFLAGS="-Wl,-syslibroot,${MACOSX_SDK_SYSROOT} ${LDFLAGS}"
+       (cd ${BACULA_SOURCE} && ./configure ${CONFIGFLAGS} CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" CC="${CC}" CPP="${CPP}" CXX="${CXX}" CXXPP="${CXXPP}")
+       ${MAKE} -C ${BACULA_SOURCE}
        ${MAKE} -C ${BACULA_SOURCE} install DESTDIR="${CURDIR}/${BACULA_DESTDIR}"
 
        rm -rf "${BACULA_DESTDIR}/tmp"
@@ -136,22 +145,9 @@ ${BACULA_TAR}:
        mkdir -p "${DL_DIR}"
        ${CURL} -L -o "${BACULA_TAR}" "${BACULA_DL_URL}"
 
-${FAKEROOT_DESTDIR}: ${FAKEROOT_SOURCE}
-       (cd ${FAKEROOT_SOURCE} && ./configure --prefix=${CURDIR}/${FAKEROOT_DESTDIR})
-       ${MAKE} -C ${FAKEROOT_SOURCE}
-       ${MAKE} -C ${FAKEROOT_SOURCE} install
-
-${FAKEROOT_SOURCE}: ${FAKEROOT_TAR}
-       mkdir -p "${TOOLS_DIR}"
-       ${TAR} -xzf "${FAKEROOT_TAR}" -C "${TOOLS_DIR}"
-
-${FAKEROOT_TAR}:
-       mkdir -p "${DL_DIR}"
-       ${CURL} -L -o "${FAKEROOT_TAR}" "${FAKEROOT_DL_URL}"
-
 .PHONY: distclean
 distclean: clean
-       rm -rf "${DL_DIR}" "${PRODUCTS_DIR}" "${TOOLS_DIR}"
+       rm -rf "${DL_DIR}" "${PRODUCTS_DIR}"
 
 .PHONY: clean
 clean: