sysutils/backuppc: add a workaround for users of Samba 4.

Using Samba 3.6 is still reccommended

PR:		209874
Submitted by:	myself, patch by maintainer
This commit is contained in:
Rene Ladan 2016-06-21 20:39:00 +00:00
parent 678035a519
commit d7f14db9fc
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=417288
4 changed files with 57 additions and 4 deletions

View file

@ -3,7 +3,7 @@
PORTNAME= backuppc
PORTVERSION= 3.3.1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= sysutils
MASTER_SITES= SF
DISTNAME= BackupPC-${PORTVERSION}

View file

@ -0,0 +1,33 @@
--- lib/BackupPC/Xfer/Smb.pm.orig 2016-06-04 10:42:02 UTC
+++ lib/BackupPC/Xfer/Smb.pm
@@ -217,7 +217,7 @@ sub readOutput
# This section is highly dependent on the version of smbclient.
# If you upgrade Samba, make sure that these regexp are still valid.
#
- if ( /^\s*(-?\d+) \(\s*\d+[.,]\d kb\/s\) (.*)$/ ) {
+ if ( /^\s*(-?\d+) \(\s*\d+[.,]\d kb\/s\) (.*)$/ || /^tar:(\d+)\s+\+\+\+ (.*)$/ ) {
my $sambaFileSize = $1;
my $pcFileName = $2;
(my $fileName = $pcFileName) =~ s/\\/\//g;
@@ -230,7 +230,9 @@ sub readOutput
$t->{byteCnt} += $2;
$t->{fileCnt}++;
$t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 1 );
- } elsif ( /^\s*tar: dumped \d+ files/ ) {
+ } elsif ( /^\s*tar: dumped \d+ files/
+ || /Total bytes received: \d+/i
+ || /tar_process done, err = 0/ ) {
$t->{xferOK} = 1;
$t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 0 );
} elsif ( /^\s*tar: restored \d+ files/ ) {
@@ -270,6 +272,10 @@ sub readOutput
} elsif ( /^\s*directory \\/i ) {
$t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 2 );
} elsif ( /smb: \\>/
+ || /^tar:\d+\s/
+ || /^ NTLMSSP_/
+ || /^GENSEC backend /
+ || /^doing parameter /
|| /^\s*added interface/i
|| /^\s*tarmode is now/i
|| /^\s*Total bytes written/i

View file

@ -1,6 +1,6 @@
--- ./lib/BackupPC/CGI/View.pm.orig 2014-08-30 15:21:07.000000000 +0400
+++ ./lib/BackupPC/CGI/View.pm 2014-08-30 15:21:18.000000000 +0400
@@ -89,7 +89,7 @@
--- lib/BackupPC/CGI/View.pm.orig 2015-01-12 00:19:53 UTC
+++ lib/BackupPC/CGI/View.pm
@@ -89,7 +89,7 @@ sub action
$file = $bpc->ConfDir() . "/hosts";
$linkHosts = 1;
} elsif ( $type eq "docs" ) {
@ -9,3 +9,14 @@
} elsif ( $host ne "" ) {
if ( !defined($In{num}) ) {
# get the latest LOG file
@@ -136,6 +136,10 @@ sub action
}
$s =~ s/[\n\r]+//g;
if ( $s =~ /smb: \\>/
+ || $s =~ /^tar:\d+\s/
+ || $s =~ /^ NTLMSSP_/
+ || $s =~ /^GENSEC backend /
+ || $s =~ /^doing parameter /
|| $s =~ /^\s*(\d+) \(\s*\d+\.\d kb\/s\) (.*)$/
|| $s =~ /^tar: dumped \d+ files/
|| $s =~ /^\s*added interface/i

View file

@ -13,4 +13,13 @@
This is where all the backup data is stored.
This file system needs to be big enough
to accommodate all the PCs you expect to backup.
- Users of Samba 4 smbclient should change debug level for smbclient
restore command to 5 ('-d 5') in the main configuration, for instance
$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 5 -c tarmode\\ full -Tx -';
and set in the each host's configuration
$Conf{BackupZeroFilesIsFatal} = '0';
==========================================================================