summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChuck Short <zul@gentoo.org>2004-02-03 02:07:40 +0000
committerChuck Short <zul@gentoo.org>2004-02-03 02:07:40 +0000
commit4b1f6ddd619ad172d7155c810a2148d647524966 (patch)
tree2176e59f4297f00337f50b30f147c06acc88d9a0 /app-admin
parentinitial ebuild #39354 (diff)
downloadhistorical-4b1f6ddd619ad172d7155c810a2148d647524966.tar.gz
historical-4b1f6ddd619ad172d7155c810a2148d647524966.tar.bz2
historical-4b1f6ddd619ad172d7155c810a2148d647524966.zip
Version bump, closes #28790, 32446.
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/bacula/ChangeLog5
-rw-r--r--app-admin/bacula/Manifest7
-rw-r--r--app-admin/bacula/bacula-1.32f.ebuild131
-rw-r--r--app-admin/bacula/files/1.32f/1.32f-1-weekofmonth.patch62
-rw-r--r--app-admin/bacula/files/1.32f/1.32f-2-eom-nextvol.patch278
-rw-r--r--app-admin/bacula/files/1.32f/1.32f-patchlist.txt3
-rw-r--r--app-admin/bacula/files/digest-bacula-1.32f4
7 files changed, 488 insertions, 2 deletions
diff --git a/app-admin/bacula/ChangeLog b/app-admin/bacula/ChangeLog
index d84419f4595a..bbd64442e926 100644
--- a/app-admin/bacula/ChangeLog
+++ b/app-admin/bacula/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for app-admin/bacula
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/bacula/ChangeLog,v 1.10 2004/01/29 23:42:35 zul Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/bacula/ChangeLog,v 1.11 2004/02/03 02:07:40 zul Exp $
+
+ 02 Feb 2004; Chuck Short <zul@gentoo.org> :
+ Version bump.
29 Jan 2004; Chuck Short <zul@gentoo.org> bacula-1.31.ebuild:
Force the user to use mysql if they have both sqlite and mysql as use flags.
diff --git a/app-admin/bacula/Manifest b/app-admin/bacula/Manifest
index 61e7110095d2..b76d36c37d5f 100644
--- a/app-admin/bacula/Manifest
+++ b/app-admin/bacula/Manifest
@@ -1,7 +1,12 @@
MD5 9d273bb484f3750e08bdfa33bbca0abe bacula-1.31.ebuild 3111
MD5 11425ffa147f8c7d2bbe659a29678427 bacula-1.29.ebuild 3237
-MD5 6facba5d3c51563be18f47a18b354087 ChangeLog 1401
+MD5 5b8238371752aed47ce50229c08a5551 bacula-1.32f.ebuild 3514
+MD5 4f5ccc75a32ee00e2a5e9f99978a780b ChangeLog 1464
MD5 7e285f080272b311b0eb8b0028928e07 metadata.xml 219
+MD5 68cdbb97c1064de4654b8db6160442ca files/digest-bacula-1.32f 268
MD5 6bd8611e451dde617342c14501fc36ba files/digest-bacula-1.29 64
MD5 91ecc1b976fb0c99c2797d4c9bece479 files/digest-bacula-1.31 72
MD5 6c389eb1976a8e1131b6af4bdde9b6f3 files/bacula-init 1925
+MD5 13dd37747df7f32ec471e6bdf7eadec2 files/1.32f/1.32f-2-eom-nextvol.patch 9992
+MD5 496eda49556aebba5c3582a6caa75593 files/1.32f/1.32f-patchlist.txt 76
+MD5 aba3c0108a7b301c99c8aa4f59a04081 files/1.32f/1.32f-1-weekofmonth.patch 1879
diff --git a/app-admin/bacula/bacula-1.32f.ebuild b/app-admin/bacula/bacula-1.32f.ebuild
new file mode 100644
index 000000000000..8c4e5ede571d
--- /dev/null
+++ b/app-admin/bacula/bacula-1.32f.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/bacula/bacula-1.32f.ebuild,v 1.1 2004/02/03 02:06:48 zul Exp $
+
+S=${WORKDIR}/${P}
+DESCRIPTION="featureful client/server network backup suite"
+HOMEPAGE="http://www.bacula.org/"
+SRC_URI="mirror://sourceforge/bacula/${P}.tar.gz
+ mirror://sourceforge/bacula/${PV}-1-weekofmonth.patch
+ mirror://sourceforge/bacula/${PV}-2-eom-nextvol.patch
+ mirror://sourceforge/bacula/${PV}-4-run-crash.patch"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~ppc"
+IUSE="readline tcpd ssl gnome mysql sqlite X static"
+
+#theres a local sqlite use flag. use it -OR- mysql, not both.
+#mysql is the reccomended choice ...
+DEPEND="sys-libs/libtermcap-compat
+ >=sys-libs/zlib-1.1.4
+ readline? >=sys-libs/readline-4.1
+ tcpd? >=sys-apps/tcp-wrappers-7.6
+ ssl? >=dev-libs/openssl-0.9.6
+ gnome? gnome-base/gnome-libs
+ sqlite? >=dev-db/sqlite-2.7
+ mysql? >=dev-db/mysql-3.23
+ X? virtual/x11
+ virtual/mta
+ dev-libs/gmp"
+RDEPEND="${DEPEND}
+ sys-apps/mtx
+ app-arch/mt-st"
+
+src_unpack() {
+
+ unpack ${A}
+
+ cd ${S}
+
+ einfo "Applying patches from ${FILESDIR}/${PV}/${PV}-patchlist.txt"
+
+ for a in `cat ${FILESDIR}/${PV}/${PV}-patchlist.txt`
+ do
+ patch -p0 < ${FILESDIR}/${PV}/$a || die "Patch failed"
+ done
+}
+
+src_compile() {
+ local myconf=""
+
+ #define this to skip building the other daemons ...
+ [ -n "$BUILD_CLIENT_ONLY" ] \
+ && myconf="${myconf} --enable-client-only"
+
+ #might be handy to have static bins in certain situations ...
+ use static \
+ && myconf="${myconf} --enable-static-tools \
+ --enable-static-fd --enable-static-sd \
+ --enable-static-dir --enable-static-cons"
+ myconf="
+ `use_enable readline`
+ `use_enable gnome`
+ `use_enable tcpd`
+ `use_enable X x`
+ "
+ #not ./configure'able
+ #`use_enable ssl`
+
+ # mysql is the reccomended choice ...
+ if use mysql
+ then
+ myconf="${myconf} --with-mysql=/usr"
+ fi
+
+ if use sqlite
+ then
+ myconf="${myconf} --with-sqlite=/usr"
+ fi
+
+ if use sqlite && use mysql
+ then
+ myconf="${myconf/--with-sqlite/}"
+ fi
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --with-pid-dir=/var/run \
+ --sysconfdir=/etc/bacula \
+ --infodir=/usr/share/info \
+ --with-subsys-dir=/var/lib/bacula \
+ --with-working-dir=/var/lib/bacula \
+ --host=${CHOST} ${myconf} || die "bad ./configure"
+
+ emake || die "compile problem"
+}
+
+src_install() {
+ make DESTDIR=${D} install || die
+ rm -rf ${D}/var #empty dir
+
+ dodoc ABOUT-NLS COPYING ChangeLog CheckList INSTALL \
+ README ReleaseNotes kernstodo doc/bacula.pdf
+ cp -a examples ${D}/usr/share/doc/${PF}
+ chown -R root:root ${D}/usr/share/doc/${PF} #hrmph :\
+ dohtml -r doc/html-manual doc/home-page
+
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/bacula-init bacula
+}
+
+pkg_postinst() {
+ # empty dir ...
+ install -m0755 -o root -g root -d ${ROOT}/var/lib/bacula
+ einfo
+ einfo "If this is a new install and you plan to use mysql for your"
+ einfo "catalog database, then you should now create it by doing"
+ einfo "these commands:"
+ einfo " sh /etc/bacula/grant_mysql_privileges"
+ einfo " sh /etc/bacula/create_mysql_database"
+ einfo " sh /etc/bacula/make_mysql_tables"
+ einfo
+ einfo "Then setup your configuration files in /etc/bacula and"
+ einfo "start the daemons:"
+ einfo " /etc/init.d/bacula start"
+ einfo
+ einfo "If upgrading from version 1.30 or below, please note that"
+ einfo "the database format has changed. Please read the"
+ einfo "release notes for how to upgrade your database!!!"
+ einfo
+}
diff --git a/app-admin/bacula/files/1.32f/1.32f-1-weekofmonth.patch b/app-admin/bacula/files/1.32f/1.32f-1-weekofmonth.patch
new file mode 100644
index 000000000000..e9cfe667655b
--- /dev/null
+++ b/app-admin/bacula/files/1.32f/1.32f-1-weekofmonth.patch
@@ -0,0 +1,62 @@
+
+This patch fixes an incorrect calculation of the week
+of the month reported by Volker Sauer. It should work on either
+1.32e or 1.32f.
+
+Apply the patch with:
+
+ cd <bacula-source>
+ patch -p0 <1.32f-weekofmonth.patch
+ make
+ ...
+
+Index: src/dird/scheduler.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/dird/scheduler.c,v
+retrieving revision 1.13.6.1
+diff -u -b -r1.13.6.1 scheduler.c
+--- src/dird/scheduler.c 21 Dec 2003 15:17:42 -0000 1.13.6.1
++++ src/dird/scheduler.c 6 Jan 2004 09:43:31 -0000
+@@ -205,7 +205,7 @@
+ mday = tm.tm_mday - 1;
+ wday = tm.tm_wday;
+ month = tm.tm_mon;
+- wom = tm_wom(tm.tm_mday, tm.tm_wday); /* get week of month */
++ wom = mday / 7;
+ woy = tm_woy(now); /* get week of year */
+
+ /* Loop through all jobs */
+@@ -237,7 +237,7 @@
+ if (bit_is_set(next_hour, run->hour)) {
+ tm.tm_hour++;
+ if (tm.tm_hour > 23) {
+- tm.tm_hour = 0;
++ continue; /* next day */
+ }
+ runtime = mktime(&tm);
+ add_job(job, run, now, runtime);
+Index: src/dird/ua_output.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/dird/ua_output.c,v
+retrieving revision 1.25.2.11.2.3
+diff -u -b -r1.25.2.11.2.3 ua_output.c
+--- src/dird/ua_output.c 21 Dec 2003 15:17:42 -0000 1.25.2.11.2.3
++++ src/dird/ua_output.c 6 Jan 2004 09:43:32 -0000
+@@ -454,7 +454,7 @@
+ mday = tm.tm_mday - 1;
+ wday = tm.tm_wday;
+ month = tm.tm_mon;
+- wom = tm_wom(tm.tm_mday, tm.tm_wday);
++ wom = mday / 7;
+ woy = tm_woy(now);
+
+ /* Break down tomorrow into components */
+@@ -463,7 +463,7 @@
+ tmday = tm.tm_mday - 1;
+ twday = tm.tm_wday;
+ tmonth = tm.tm_mon;
+- twom = tm_wom(tm.tm_mday, tm.tm_wday);
++ twom = tmday / 7;
+ twoy = tm_woy(tomorrow);
+
+ if (run == NULL) {
diff --git a/app-admin/bacula/files/1.32f/1.32f-2-eom-nextvol.patch b/app-admin/bacula/files/1.32f/1.32f-2-eom-nextvol.patch
new file mode 100644
index 000000000000..fadee379a0a6
--- /dev/null
+++ b/app-admin/bacula/files/1.32f/1.32f-2-eom-nextvol.patch
@@ -0,0 +1,278 @@
+
+This patch fixes two bugs.
+1. Reported by Phil: where when the end of a Volume was reached,
+ Bacula went into a loop requesting the next Volume then gave up.
+2. Reported by Lars: the order of the next Volume selected by Bacula
+ was not as expected.
+
+Apply the patch with:
+
+ cd <bacula-source>
+ patch -p0 <1.32f-2-eom-nextvol.patch
+ make
+ ...
+
+Index: ReleaseNotes
+===================================================================
+RCS file: /cvsroot/bacula/bacula/ReleaseNotes,v
+retrieving revision 1.52.2.9.2.7
+retrieving revision 1.52.2.9.2.8
+diff -u -b -r1.52.2.9.2.7 -r1.52.2.9.2.8
+--- ReleaseNotes 31 Dec 2003 09:10:55 -0000 1.52.2.9.2.7
++++ ReleaseNotes 5 Jan 2004 16:49:44 -0000 1.52.2.9.2.8
+@@ -1,7 +1,14 @@
+
+- Release Notes for Bacula 1.32f
++ Release Notes for Bacula 1.32g
+
+ Bacula code: Total files = 262 Total lines = 80,318 (*.h *.c *.in)
++
++Changes since 1.32f
++- Fix bug reported by Phil (could not duplicate here) where at the end
++ of a Volume, Bacula wanted a new Volume and got into a loop requesting
++ it, then gave up.
++- Modify selection of next Volume to select most currently appended Volume,
++ or if none oldest recycled Volume (problem reported by Lars).
+
+ Changes since 1.32e:
+ - Note, this change affects only the Win32 FD.
+Index: src/cats/sql_find.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/cats/sql_find.c,v
+retrieving revision 1.23.2.7.2.1
+retrieving revision 1.23.2.7.2.2
+diff -u -b -r1.23.2.7.2.1 -r1.23.2.7.2.2
+--- src/cats/sql_find.c 7 Dec 2003 15:01:42 -0000 1.23.2.7.2.1
++++ src/cats/sql_find.c 5 Jan 2004 16:49:45 -0000 1.23.2.7.2.2
+@@ -7,7 +7,7 @@
+ *
+ * Kern Sibbald, December 2000
+ *
+- * Version $Id: 1.32f-2-eom-nextvol.patch,v 1.1 2004/02/03 02:06:48 zul Exp $
++ * Version $Id: 1.32f-2-eom-nextvol.patch,v 1.1 2004/02/03 02:06:48 zul Exp $
+ */
+
+ /*
+@@ -218,6 +218,7 @@
+ {
+ SQL_ROW row;
+ int numrows;
++ char *order;
+
+ db_lock(mdb);
+ if (item == -1) { /* find oldest volume */
+@@ -232,12 +233,19 @@
+ item = 1;
+ } else {
+ /* Find next available volume */
++ if (strcmp(mr->VolStatus, "Recycled") == 0 ||
++ strcmp(mr->VolStatus, "Purged") == 0) {
++ order = "ORDER BY LastWritten ASC,MediaId"; /* take oldest */
++ } else {
++ order = "ORDER BY LastWritten DESC,MediaId"; /* take most recently written */
++ }
+ Mmsg(&mdb->cmd, "SELECT MediaId,VolumeName,VolJobs,VolFiles,VolBlocks,"
+-"VolBytes,VolMounts,VolErrors,VolWrites,MaxVolBytes,VolCapacityBytes,"
+-"VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,Recycle,Slot,"
+-"FirstWritten,LastWritten,VolStatus "
+-"FROM Media WHERE PoolId=%u AND MediaType='%s' AND VolStatus='%s' "
+-"ORDER BY LastWritten,MediaId", mr->PoolId, mr->MediaType, mr->VolStatus);
++ "VolBytes,VolMounts,VolErrors,VolWrites,MaxVolBytes,VolCapacityBytes,"
++ "VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,Recycle,Slot,"
++ "FirstWritten,LastWritten,VolStatus "
++ "FROM Media WHERE PoolId=%u AND MediaType='%s' AND VolStatus='%s' "
++ "%s LIMIT 1",
++ mr->PoolId, mr->MediaType, mr->VolStatus, order);
+ }
+ if (!QUERY_DB(jcr, mdb, mdb->cmd)) {
+ db_unlock(mdb);
+Index: src/stored/mount.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/stored/mount.c,v
+retrieving revision 1.42.2.9.2.3
+retrieving revision 1.42.2.9.2.4
+diff -u -b -r1.42.2.9.2.3 -r1.42.2.9.2.4
+--- src/stored/mount.c 8 Dec 2003 20:53:47 -0000 1.42.2.9.2.3
++++ src/stored/mount.c 5 Jan 2004 16:49:45 -0000 1.42.2.9.2.4
+@@ -5,7 +5,7 @@
+ *
+ * Kern Sibbald, August MMII
+ *
+- * Version $Id: 1.32f-2-eom-nextvol.patch,v 1.1 2004/02/03 02:06:48 zul Exp $
++ * Version $Id: 1.32f-2-eom-nextvol.patch,v 1.1 2004/02/03 02:06:48 zul Exp $
+ */
+ /*
+ Copyright (C) 2000-2003 Kern Sibbald and John Walker
+@@ -30,7 +30,8 @@
+ #include "bacula.h" /* pull in global headers */
+ #include "stored.h" /* pull in Storage Deamon headers */
+
+-/* Forward referenced functions */
++/* Forward referenced routines */
++static void mark_volume_in_error(JCR *jcr, DEVICE *dev);
+
+
+ /*
+@@ -47,11 +48,17 @@
+ */
+ int mount_next_write_volume(JCR *jcr, DEVICE *dev, DEV_BLOCK *block, int release)
+ {
+- int retry = 0, autochanger;
+- bool ask, recycle;
++ int retry = 0;
++ bool ask = false, recycle, autochanger;
++ int vol_label_status;
+
+ Dmsg0(100, "Enter mount_next_volume()\n");
+
++ /*
++ * Attempt to mount the next volume. If something non-fatal goes
++ * wrong, we come back here to re-try (new op messages, re-read
++ * Volume, ...)
++ */
+ mount_next_vol:
+ if (retry++ > 5) {
+ Jmsg(jcr, M_FATAL, 0, _("Too many errors trying to mount device %s.\n"),
+@@ -62,8 +69,8 @@
+ Jmsg(jcr, M_FATAL, 0, _("Job %d canceled.\n"), jcr->JobId);
+ return 0;
+ }
+- autochanger = 0;
+- recycle = ask = false;
++ autochanger = false; /* Assume no autochanger */
++ recycle = false;
+ if (release) {
+ Dmsg0(100, "mount_next_volume release=1\n");
+ release_volume(jcr, dev);
+@@ -97,15 +104,10 @@
+ * It assumes that the device is not already in use!
+ *
+ */
+-
+-
+ dev->state &= ~(ST_APPEND|ST_READ|ST_EOT|ST_WEOT|ST_EOF);
+
+- for ( ;; ) {
+- int vol_label_status;
+ autochanger = autoload_device(jcr, dev, 1, NULL);
+ Dmsg1(100, "autoload_dev returns %d\n", autochanger);
+-
+ /*
+ * If we autochanged to correct Volume or (we have not just
+ * released the Volume AND we can automount) we go ahead
+@@ -116,7 +118,7 @@
+ ask = false; /* don't ask SYSOP this time */
+ }
+ Dmsg2(100, "Ask=%d autochanger=%d\n", ask, autochanger);
+- release = 1; /* release next time if we "recurse" */
++ release = true; /* release next time if we "recurse" */
+
+ if (ask && !dir_ask_sysop_to_mount_next_volume(jcr, dev)) {
+ Dmsg0(100, "Error return ask_sysop ...\n");
+@@ -181,14 +183,15 @@
+ /* Check if this is a valid Volume in the pool */
+ pm_strcpy(&jcr->VolumeName, dev->VolHdr.VolName);
+ if (!dir_get_volume_info(jcr, GET_VOL_INFO_FOR_WRITE)) {
+- Mmsg(&jcr->errmsg, _("Director wanted Volume \"%s\".\n"
++ Jmsg(jcr, M_WARNING, 0, _("Director wanted Volume \"%s\".\n"
+ " Current Volume \"%s\" not acceptable because:\n"
+ " %s"),
+ VolCatInfo.VolCatName, dev->VolHdr.VolName,
+ jcr->dir_bsock->msg);
+ /* Restore desired volume name, note device info out of sync */
+ memcpy(&jcr->VolCatInfo, &VolCatInfo, sizeof(jcr->VolCatInfo));
+- goto mount_error;
++ ask = true;
++ goto mount_next_vol;
+ }
+ Dmsg1(100, "want new name=%s\n", jcr->VolumeName);
+ memcpy(&dev->VolCatInfo, &jcr->VolCatInfo, sizeof(dev->VolCatInfo));
+@@ -230,15 +233,11 @@
+ /* NOTE! Fall-through wanted. */
+ case VOL_NO_MEDIA:
+ default:
+-mount_error:
+ /* Send error message */
+ Jmsg(jcr, M_WARNING, 0, "%s", jcr->errmsg);
+ ask = true;
+- /* was - goto ask_again; */
+ goto mount_next_vol;
+ }
+- break;
+- }
+
+ /*
+ * See if we have a fresh tape or a tape with data.
+@@ -322,6 +321,10 @@
+ Jmsg(jcr, M_INFO, 0, _("Wrote label to prelabeled Volume \"%s\" on device %s\n"),
+ jcr->VolumeName, dev_name(dev));
+ }
++ /*
++ * End writing real Volume label (from pre-labeled tape), or recycling
++ * the volume.
++ */
+
+ } else {
+ /*
+@@ -335,11 +338,7 @@
+ if (!eod_dev(dev)) {
+ Jmsg(jcr, M_ERROR, 0, _("Unable to position to end of data %s. ERR=%s\n"),
+ dev_name(dev), strerror_dev(dev));
+- Jmsg(jcr, M_INFO, 0, _("Marking Volume \"%s\" in Error in Catalog.\n"),
+- jcr->VolumeName);
+- bstrncpy(dev->VolCatInfo.VolCatStatus, "Error", sizeof(dev->VolCatInfo.VolCatStatus));
+- Dmsg0(100, "dir_update_vol_info. Set Error.\n");
+- dir_update_volume_info(jcr, dev, 0);
++ mark_volume_in_error(jcr, dev);
+ goto mount_next_vol;
+ }
+ /* *****FIXME**** we should do some checking for files too */
+@@ -355,9 +354,7 @@
+ Jmsg(jcr, M_ERROR, 0, _("I canot write on this volume because:\n\
+ The number of files mismatch! Volume=%u Catalog=%u\n"),
+ dev_file(dev), dev->VolCatInfo.VolCatFiles);
+- bstrncpy(dev->VolCatInfo.VolCatStatus, "Error", sizeof(dev->VolCatInfo.VolCatStatus));
+- Dmsg0(100, "dir_update_vol_info. Set Error.\n");
+- dir_update_volume_info(jcr, dev, 0);
++ mark_volume_in_error(jcr, dev);
+ goto mount_next_vol;
+ }
+ }
+@@ -372,7 +369,19 @@
+ return 1;
+ }
+
++static void mark_volume_in_error(JCR *jcr, DEVICE *dev)
++{
++ Jmsg(jcr, M_INFO, 0, _("Marking Volume \"%s\" in Error in Catalog.\n"),
++ jcr->VolumeName);
++ bstrncpy(dev->VolCatInfo.VolCatStatus, "Error", sizeof(dev->VolCatInfo.VolCatStatus));
++ Dmsg0(100, "dir_update_vol_info. Set Error.\n");
++ dir_update_volume_info(jcr, dev, 0);
++}
+
++/*
++ * If we are reading, we come here at the end of the tape
++ * and see if there are more volumes to be mounted.
++ */
+ int mount_next_read_volume(JCR *jcr, DEVICE *dev, DEV_BLOCK *block)
+ {
+ Dmsg2(90, "NumVolumes=%d CurVolume=%d\n", jcr->NumVolumes, jcr->CurVolume);
+@@ -399,7 +408,6 @@
+ */
+ void release_volume(JCR *jcr, DEVICE *dev)
+ {
+-
+ if (jcr->WroteVol) {
+ Jmsg0(jcr, M_ERROR, 0, "Hey!!!!! WroteVol non-zero !!!!!\n");
+ }
+@@ -411,7 +419,8 @@
+ memset(&dev->VolCatInfo, 0, sizeof(dev->VolCatInfo));
+ memset(&jcr->VolCatInfo, 0, sizeof(jcr->VolCatInfo));
+ memset(&dev->VolHdr, 0, sizeof(dev->VolHdr));
+- dev->state &= ~ST_LABEL; /* label not yet read */
++ /* Force re-read of label */
++ dev->state &= ~(ST_LABEL|ST_READ|ST_APPEND);
+ jcr->VolumeName[0] = 0;
+
+ if ((dev->state & ST_OPENED) &&
diff --git a/app-admin/bacula/files/1.32f/1.32f-patchlist.txt b/app-admin/bacula/files/1.32f/1.32f-patchlist.txt
new file mode 100644
index 000000000000..f489b2cfd3e9
--- /dev/null
+++ b/app-admin/bacula/files/1.32f/1.32f-patchlist.txt
@@ -0,0 +1,3 @@
+1.32f-1-weekofmonth.patch
+1.32f-2-eom-nextvol.patch
+1.32f-4-run-crash.patch
diff --git a/app-admin/bacula/files/digest-bacula-1.32f b/app-admin/bacula/files/digest-bacula-1.32f
new file mode 100644
index 000000000000..c717020cafab
--- /dev/null
+++ b/app-admin/bacula/files/digest-bacula-1.32f
@@ -0,0 +1,4 @@
+MD5 2c635cf693262fc946eb13aa271e0263 bacula-1.32f.tar.gz 3291702
+MD5 aba3c0108a7b301c99c8aa4f59a04081 1.32f-1-weekofmonth.patch 1879
+MD5 987a083ae5e20ab702e0c83cb219a772 1.32f-2-eom-nextvol.patch 9970
+MD5 47c1b8265c9a48ce53d8f0d6cbd3c89c 1.32f-4-run-crash.patch 17003