Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@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 <evg...@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