Hello!

I'm installing a new Amanda server on FreeBSD 8.2, using FreeBSD ports which currently provide Amanda 3.2.2. I have successfully made the first backup, but restore fails:
--------------------------------------------------------------
amrecover> add dnetc-freebsd8-amd64.tar.gz
Added file /home/toomas/dnetc-freebsd8-amd64.tar.gz
amrecover> extract

Extracting files from holding disk on host pegasus.raad.tartu.ee.
The following files are needed: /holding/20110615162722/pegasus.raad.tartu.ee._usr.0

Extracting from file  /holding/20110615162722/pegasus.raad.tartu.ee._usr.0
amrecover - can't talk to tape server: service amidxtaped:
--------------------------------------------------------------

And the file is not extracted. Only errors I could find are in amandad.debug, which are actually Perl warnings:

Thu Jun 16 16:04:36 2011: amandad: ERROR service amidxtaped:
Thu Jun 16 16:04:36 2011: amandad: ERROR service amidxtaped: ** (process:5181): WARNING **: Use of qw(...) as parentheses is deprecated at /usr/local/lib/perl5/site_perl/5.14.0/Amanda/Recovery/Clerk.pm line 231.
Thu Jun 16 16:04:36 2011: amandad: ERROR service amidxtaped:
Thu Jun 16 16:04:36 2011: amandad: ERROR service amidxtaped:

Such warnings are reported multiple times about various locations in Clerk.pm and Planner.pm:

Clerk.pm line 231
Clerk.pm line 265
Planner.pm line 231
Planner.pm line 342
Planner.pm line 393

I modified all these occurrences, adding additional parentheses around the qw() construct, for example

original:

     for my $rq_param qw(dump xfer_src_cb) {

new:

     for my $rq_param (qw(dump xfer_src_cb)) {

After that, I could run recovery successfully.

As I am not a Perl programmer and don't really know what it is I did, I wonder if this is a safe workaround?

--
Toomas Aas

Reply via email to