summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/bacula/.mtn2git_empty0
-rw-r--r--packages/bacula/bacula-client_1.38.11.bb55
-rw-r--r--packages/bacula/files/.mtn2git_empty0
-rw-r--r--packages/bacula/files/bacula-fd.init43
-rw-r--r--packages/bacula/files/findlib-attribs.patch50
5 files changed, 148 insertions, 0 deletions
diff --git a/packages/bacula/.mtn2git_empty b/packages/bacula/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/bacula/.mtn2git_empty
diff --git a/packages/bacula/bacula-client_1.38.11.bb b/packages/bacula/bacula-client_1.38.11.bb
new file mode 100644
index 0000000000..474f6110c3
--- /dev/null
+++ b/packages/bacula/bacula-client_1.38.11.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "Bacula filedaemon is the client to backup your device using Bacula a network based backup program"
+SECTION = "console/network"
+PRIORITY = "optional"
+MAINTAINER = "Bastian Ballmann <balle@chaostal.de>"
+HOMEPAGE = "http://www.bacula.org"
+LICENSE = "GPL"
+PR="r0"
+DEPENDS = "gmp openssl zlib readline"
+
+SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/bacula/bacula-1.38.11.tar.gz \
+ file://findlib-attribs.patch;patch=1;pnum=1 \
+ file://bacula-fd.init"
+
+S = "${WORKDIR}/bacula-1.38.11"
+
+# Makefile is broken using ccache
+# No idea how to fix it so I turned ccache off
+CCACHE = ""
+
+inherit autotools update-rc.d
+
+LDFLAGS += "-L${STAGING_LIBDIR}"
+CFLAGS += "-L${STAGING_LIBDIR} -I${STAGING_INCDIR}"
+
+INITSCRIPT_NAME = "bacula-fd"
+
+do_configure() {
+ oe_runconf --enable-client-only \
+ --prefix=/usr \
+ --with-working-dir=/var/lib/bacula \
+ --with-fd-user=root \
+ --with-fd-group=bacula
+}
+
+do_compile() {
+ oe_runmake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ mkdir -p ${D}/${sbindir}
+ install -m 0754 ${S}/src/filed/bacula-fd ${D}/${sbindir}/
+
+ mkdir -p ${D}/${sysconfdir}/bacula
+ install ${S}/src/filed/bacula-fd.conf ${D}/${sysconfdir}/bacula/
+}
+
+# Add group
+pkg_postinst() {
+ grep -q bacula: /etc/group || addgroup bacula
+}
+
+do_install_append() {
+ mkdir -p ${D}/${sysconfdir}/init.d
+ install ${WORKDIR}/bacula-fd.init ${D}/${sysconfdir}/init.d/bacula-fd
+}
diff --git a/packages/bacula/files/.mtn2git_empty b/packages/bacula/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/bacula/files/.mtn2git_empty
diff --git a/packages/bacula/files/bacula-fd.init b/packages/bacula/files/bacula-fd.init
new file mode 100644
index 0000000000..14f9013e6e
--- /dev/null
+++ b/packages/bacula/files/bacula-fd.init
@@ -0,0 +1,43 @@
+#! /bin/sh
+#
+# bacula-fd init script for OpenZaurus
+#
+
+BACFDBIN=/usr/sbin
+BACFDCFG=/etc/bacula
+PIDDIR=/var/run
+SUBSYSDIR=/var/run/
+
+FD_PORT=9102
+
+FD_USER=root
+FD_GROUP=bacula
+
+case "$1" in
+ start)
+ [ -x ${BACFDBIN}/bacula-fd ] && {
+ echo "Starting the Bacula File daemon"
+ ${BACFDBIN}/bacula-fd $2 -u ${FD_USER} -g ${FD_GROUP} -v -c ${BACFDCFG}/bacula-fd.conf
+ }
+ ;;
+
+ stop)
+ # Stop the FD first so that SD will fail jobs and update catalog
+ [ -x ${BACFDBIN}/bacula-fd ] && {
+ echo "Stopping the Bacula File daemon"
+ killall bacula-fd
+ }
+ ;;
+
+ restart)
+ $0 stop
+ sleep 5
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/packages/bacula/files/findlib-attribs.patch b/packages/bacula/files/findlib-attribs.patch
new file mode 100644
index 0000000000..6bf63a95d6
--- /dev/null
+++ b/packages/bacula/files/findlib-attribs.patch
@@ -0,0 +1,50 @@
+diff -Naur bacula-1.38.11/src/findlib/attribs.c bacula-1.38.11_patched/src/findlib/attribs.c
+--- bacula-1.38.11/src/findlib/attribs.c 2005-09-24 15:11:31.000000000 +0200
++++ bacula-1.38.11_patched/src/findlib/attribs.c 2006-09-16 21:41:45.000000000 +0200
+@@ -135,12 +135,7 @@
+ p += to_base64((int64_t)ff_pkt->LinkFI, p);
+ *p++ = ' ';
+
+-#ifdef HAVE_CHFLAGS
+- /* FreeBSD function */
+- p += to_base64((int64_t)statp->st_flags, p); /* output st_flags */
+-#else
+ p += to_base64((int64_t)0, p); /* output place holder */
+-#endif
+ *p++ = ' ';
+ p += to_base64((int64_t)data_stream, p);
+ *p = 0;
+@@ -225,11 +220,6 @@
+ if (*p == ' ' || (*p != 0 && *(p+1) == ' ')) {
+ p++;
+ p += from_base64(&val, p);
+-#ifdef HAVE_CHFLAGS
+- plug(statp->st_flags, val);
+- } else {
+- statp->st_flags = 0;
+-#endif
+ }
+
+ /* Look for data stream id */
+@@ -377,21 +367,6 @@
+ attr->ofname, be.strerror());
+ ok = false;
+ }
+-#ifdef HAVE_CHFLAGS
+- /*
+- * FreeBSD user flags
+- *
+- * Note, this should really be done before the utime() above,
+- * but if the immutable bit is set, it will make the utimes()
+- * fail.
+- */
+- if (chflags(attr->ofname, attr->statp.st_flags) < 0) {
+- berrno be;
+- Jmsg2(jcr, M_ERROR, 0, _("Unable to set file flags %s: ERR=%s\n"),
+- attr->ofname, be.strerror());
+- ok = false;
+- }
+-#endif
+ }
+ pm_strcpy(attr->ofname, "*none*");
+ umask(old_mask);