--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: jessie-pu: package bareos/14.2.1+20141017gitc6c5b56-3+deb8u1
- From: Evgeni Golov <evgeni@debian.org>
- Date: Fri, 21 Aug 2015 17:39:40 +0200
- Message-id: <20150821153940.17483.30512.reportbug@nana>
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu
Hi SRM!
I'd love to update bareos in jessie to fix #788543 (backup corruption).
While at it, I thought it would be a good idea to also enable autopkgtests.
Sadly the upstream testsuite wants to create it's own database,
so I had to patch that part out (and can totally see if you would not like
that).
The full debdiff is attached. The diffstat is as follows:
changelog | 12 ++++++++
patches/dont-create-db-in-tests.patch | 30 ++++++++++++++++++++
patches/fix_multi_volume_data_corruption.diff | 39 ++++++++++++++++++++++++++
patches/series | 2 +
tests/control | 11 +++++++
5 files changed, 94 insertions(+)
dont-create-db-in-tests.patch and tests/control can be dropped if you
would like to avoid enabling autopkgtests at this moment.
Greets and thanks for your work
Evgeni
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.1.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog
index 0119751..01e5a08 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+bareos (14.2.1+20141017gitc6c5b56-3+deb8u1) stable; urgency=mediu
+
+ [ Felix Geyer ]
+ * backport the fix for the backup corruption on multi-volume jobs
+ (Closes: #788543)
+ * add autopkgtests
+
+ [ Evgeni Golov ]
+ * do not try to create the databases when running tests
+
+ -- Evgeni Golov <evgeni@debian.org> Fri, 21 Aug 2015 17:13:56 +0200
+
bareos (14.2.1+20141017gitc6c5b56-3) unstable; urgency=medium
* do not install files as conffiles in /etc/bareos (Closes: #767819)
diff --git a/debian/patches/dont-create-db-in-tests.patch b/debian/patches/dont-create-db-in-tests.patch
new file mode 100644
index 0000000..69fe787
--- /dev/null
+++ b/debian/patches/dont-create-db-in-tests.patch
@@ -0,0 +1,30 @@
+diff --git a/test/all b/test/all
+index 1adf4ec..6e03139 100755
+--- a/test/all
++++ b/test/all
+@@ -8,25 +8,6 @@ echo "TRAVIS_BRANCH: $TRAVIS_BRANCH"
+ echo "USER: $USER"
+ echo "DB: $DB"
+
+-chown ${daemon_user}:${daemon_group} /etc/bareos/*.conf
+-chmod ug=rw,o+r /etc/bareos/*.conf
+-chmod a+rx /etc/bareos/
+-
+-ls -la /etc/bareos/
+-
+-case "$DB" in
+- postgres*)
+- su postgres -c /usr/lib/bareos/scripts/create_bareos_database
+- su postgres -c /usr/lib/bareos/scripts/make_bareos_tables
+- su postgres -c /usr/lib/bareos/scripts/grant_bareos_privileges
+- ;;
+- *)
+- /usr/lib/bareos/scripts/create_bareos_database
+- /usr/lib/bareos/scripts/make_bareos_tables
+- /usr/lib/bareos/scripts/grant_bareos_privileges
+- ;;
+-esac
+-
+ echo "--------- starting services ----------- "
+ service bareos-dir start
+ service bareos-sd start
diff --git a/debian/patches/fix_multi_volume_data_corruption.diff b/debian/patches/fix_multi_volume_data_corruption.diff
new file mode 100644
index 0000000..b4de30d
--- /dev/null
+++ b/debian/patches/fix_multi_volume_data_corruption.diff
@@ -0,0 +1,39 @@
+Description: Backport of upstream fix "Don't trash dcr->rec while doing autolabeling."
+Origin: backport, https://github.com/bareos/bareos/commit/263240eaa911563a8468ecdaf7d4957201b41426
+Bug: https://bugs.bareos.org/view.php?id=437
+Bug-Debian: https://bugs.debian.org/788543
+
+--- bareos-14.2.1+20141017gitc6c5b56.orig/src/stored/label.c
++++ bareos-14.2.1+20141017gitc6c5b56/src/stored/label.c
+@@ -341,6 +341,7 @@ static bool write_volume_label_to_block(
+ bool write_new_volume_label_to_dev(DCR *dcr, const char *VolName,
+ const char *PoolName, bool relabel)
+ {
++ DEV_RECORD *rec;
+ JCR *jcr = dcr->jcr;
+ DEVICE *dev = dcr->dev;
+ DEV_BLOCK *block = dcr->block;
+@@ -420,15 +421,18 @@ bool write_new_volume_label_to_dev(DCR *
+ goto bail_out;
+ }
+
+- create_volume_label_record(dcr, dev, dcr->rec);
+- dcr->rec->Stream = 0;
+- dcr->rec->maskedStream = 0;
++ rec = new_record();
++ create_volume_label_record(dcr, dev, rec);
++ rec->Stream = 0;
++ rec->maskedStream = 0;
+
+- if (!write_record_to_block(dcr, dcr->rec)) {
++ if (!write_record_to_block(dcr, rec)) {
+ Dmsg2(130, "Bad Label write on %s: ERR=%s\n", dev->print_name(), dev->print_errmsg());
++ free_record(rec);
+ goto bail_out;
+ } else {
+- Dmsg2(130, "Wrote label of %d bytes to %s\n", dcr->rec->data_len, dev->print_name());
++ Dmsg2(130, "Wrote label of %d bytes to %s\n", rec->data_len, dev->print_name());
++ free_record(rec);
+ }
+
+ Dmsg0(130, "Call write_block_to_dev()\n");
diff --git a/debian/patches/series b/debian/patches/series
index 43b51ae..472de32 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,3 @@
size_t_cn_length.patch
+fix_multi_volume_data_corruption.diff
+dont-create-db-in-tests.patch
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..cfdd717
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,11 @@
+Test-Command: test/all
+Restrictions: needs-root allow-stderr
+Depends: postgresql, bareos-database-postgresql, bareos
+
+Test-Command: test/all
+Restrictions: needs-root allow-stderr
+Depends: mysql-server, bareos-database-mysql, bareos
+
+Test-Command: test/all
+Restrictions: needs-root allow-stderr
+Depends: bareos-database-sqlite3, bareos
--- End Message ---