[arch-commits] Commit in backuppc/trunk (01-fix-edit-compound.patch PKGBUILD)
Sébastien Luttringer
seblu at archlinux.org
Thu May 25 22:59:46 UTC 2017
Date: Thursday, May 25, 2017 @ 22:59:45
Author: seblu
Revision: 230319
upgpkg: backuppc 4.1.2-2
Added:
backuppc/trunk/01-fix-edit-compound.patch
Modified:
backuppc/trunk/PKGBUILD
----------------------------+
01-fix-edit-compound.patch | 148 +++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 4 -
2 files changed, 151 insertions(+), 1 deletion(-)
Added: 01-fix-edit-compound.patch
===================================================================
--- 01-fix-edit-compound.patch (rev 0)
+++ 01-fix-edit-compound.patch 2017-05-25 22:59:45 UTC (rev 230319)
@@ -0,0 +1,148 @@
+From 7936184a9ec049fef3d0d67e012b23d79eb336f1 Mon Sep 17 00:00:00 2001
+From: Craig Barratt <craigb at gmail.com>
+Date: Fri, 12 May 2017 01:00:41 -0700
+Subject: [PATCH] fixed editing of compound variables (eg, BackupFilesOnly)
+ when main config.pl value is non-empty
+
+---
+ lib/BackupPC/CGI/EditConfig.pm | 58 +++++++++++++++++++++++++++---------------
+ 1 file changed, 37 insertions(+), 21 deletions(-)
+
+diff --git a/lib/BackupPC/CGI/EditConfig.pm b/lib/BackupPC/CGI/EditConfig.pm
+index 5868dc2..747c488 100644
+--- a/lib/BackupPC/CGI/EditConfig.pm
++++ b/lib/BackupPC/CGI/EditConfig.pm
+@@ -411,14 +411,14 @@ sub action
+ #
+ #print STDERR Dumper(\%In);
+ foreach my $v ( sort(keys(%In)) ) {
+- if ( $v =~ /^v_zZ_(\Q$var\E(_zZ_.*|$))/ ) {
+- delete($In{$v}) if ( !defined($In{"orig_zZ_$1"}) );
++ if ( $v =~ /^v_((zZ_|flds_)\Q$var\E(_zZ_.*|$))/ ) {
++ delete($In{$v}) if ( !defined($In{"orig_$1"}) );
+ }
+- if ( $v =~ /^orig_zZ_(\Q$var\E(_zZ_.*|$))/ ) {
+- $In{"v_zZ_$1"} = $In{$v};
++ if ( $v =~ /^orig_((zZ_|flds_)\Q$var\E(_zZ_.*|$))/ ) {
++ $In{"v_$1"} = $In{$v};
+ }
+ }
+- delete($In{"vflds.$var"});
++ #delete($In{"v_flds_$var"});
+ }
+
+ ($newConf, $override) = inputParse($bpc, $userHost);
+@@ -614,8 +614,9 @@ EOF
+ return false;
+ }
+ var allVars = {};
+- var varRE = new RegExp("^v_zZ_(" + varName + ".*)");
+- var origRE = new RegExp("^orig_zZ_(" + varName + ".*)");
++ var varRE = new RegExp("^v_((zZ_|flds_)" + varName + ".*)");
++ var origRE = new RegExp("^orig_((zZ_|flds_)" + varName + ".*)");
++ var fldsRE = new RegExp("^flds_");
+ for ( var i = 0 ; i < document.editForm.elements.length ; i++ ) {
+ var e = document.editForm.elements[i];
+ var re;
+@@ -624,7 +625,7 @@ EOF
+ allVars[re[1]] = 0;
+ }
+ allVars[re[1]]++;
+- //debugMsg("found v_zZ_ match with " + re[1]);
++ //debugMsg("found v_ match with " + re[1]);
+ //debugMsg("allVars[" + re[1] + "] = " + allVars[re[1]]);
+ } else if ( (re = origRE.exec(e.name)) != null ) {
+ if ( allVars[re[1]] == null ) {
+@@ -639,13 +640,20 @@ EOF
+ if ( allVars[v] != 0 ) {
+ //debugMsg("Not the same shape because of " + v);
+ sameShape = 0;
+- } else {
++ break;
++ }
++ if ( fldsRE.exec(v) != null ) {
++ // always rebuild a compound variable
++ sameShape = 0;
++ break;
++ }
++ }
++ if ( sameShape ) {
++ for ( v in allVars ) {
+ // copy the original variable values
+ //debugMsg("setting " + v);
+- eval("document.editForm.v_zZ_" + v + ".value = document.editForm.orig_zZ_" + v + ".value");
++ eval("document.editForm.v_" + v + ".value = document.editForm.orig_" + v + ".value");
+ }
+- }
+- if ( sameShape ) {
+ return true;
+ } else {
+ // need to rebuild the form since the compound variable
+@@ -915,11 +923,19 @@ EOF
+ # Just switching menus: copy all the orig_zZ_ input parameters
+ #
+ foreach my $var ( sort(keys(%In)) ) {
+- next if ( $var !~ /^orig_zZ_/ );
+- my $val = decode_utf8($In{$var});
+- $contentHidden .= <<EOF;
++ if ( $var =~ /^orig_zZ_/ ) {
++ my $val = decode_utf8($In{$var});
++ $contentHidden .= <<EOF;
++<input type="hidden" name="$var" value="${EscHTML($val)}">
++EOF
++ } elsif ( $var =~ /^orig_flds_/ ) {
++ foreach my $v ( split(/\0/, $In{$var}) ) {
++ my $val = decode_utf8($v);
++ $contentHidden .= <<EOF;
+ <input type="hidden" name="$var" value="${EscHTML($val)}">
+ EOF
++ }
++ }
+ }
+ }
+ } else {
+@@ -991,7 +1007,7 @@ sub fieldHiddenBuild
+ # rather than hard-coded
+ #
+ $content .= <<EOF;
+-<input type="hidden" name="vflds.$varName" value="${EscHTML($fld)}">
++<input type="hidden" name="${prefix}_flds_$varName" value="${EscHTML($fld)}">
+ EOF
+ }
+ $content .= fieldHiddenBuild($childType, "${varName}_zZ_$fldNum",
+@@ -1194,7 +1210,7 @@ EOF
+ # rather than hard-coded
+ #
+ $content .= <<EOF;
+-<input type="hidden" name="vflds.$varName" value="${EscHTML($fld)}">
++<input type="hidden" name="v_flds_$varName" value="${EscHTML($fld)}">
+ EOF
+ }
+ $content .= "</td>\n";
+@@ -1239,7 +1255,7 @@ EOF
+ # rather than hard-coded
+ #
+ $content .= <<EOF;
+-<input type="hidden" name="vflds.$varName" value="${EscHTML($fld)}">
++<input type="hidden" name="v_flds_$varName" value="${EscHTML($fld)}">
+ EOF
+ }
+ $content .= fieldEditBuild($childType, "${varName}_zZ_$fldNum",
+@@ -1346,7 +1362,7 @@ sub fieldErrorCheck
+ } elsif ( defined($type->{child}) ) {
+ @order = sort(keys(%{$type->{child}}));
+ } else {
+- @order = split(/\0/, $In{"vflds.$varName"});
++ @order = split(/\0/, $In{"v_flds_$varName"});
+ }
+ for ( my $fldNum = 0 ; $fldNum < @order ; $fldNum++ ) {
+ my $fld = $order[$fldNum];
+@@ -1459,7 +1475,7 @@ sub fieldInputParse
+ } elsif ( defined($type->{child}) ) {
+ @order = sort(keys(%{$type->{child}}));
+ } else {
+- @order = split(/\0/, $In{"vflds.$varName"});
++ @order = split(/\0/, $In{"v_flds_$varName"});
+ }
+
+ for ( my $fldNum = 0 ; $fldNum < @order ; $fldNum++ ) {
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-05-25 22:59:42 UTC (rev 230318)
+++ PKGBUILD 2017-05-25 22:59:45 UTC (rev 230319)
@@ -5,7 +5,7 @@
pkgver=4.1.2
_xsver=0.53
_rbpcver=3.0.9.6
-pkgrel=1
+pkgrel=2
pkgdesc='Enterprise-grade system for backing up Linux, Windows and MacOS PCs'
url='https://github.com/backuppc/backuppc/'
license=('GPL2')
@@ -20,6 +20,7 @@
source=("https://github.com/backuppc/backuppc/releases/download/$pkgver/BackupPC-$pkgver.tar.gz"
"https://github.com/backuppc/backuppc-xs/releases/download/v${_xsver//./_}/BackupPC-XS-${_xsver}.tar.gz"
"https://github.com/backuppc/rsync-bpc/releases/download/v${_rbpcver//./_}/rsync-bpc-${_rbpcver}.tar.gz"
+ '01-fix-edit-compound.patch'
"$pkgname.service"
"$pkgname.sysusers"
"$pkgname.tmpfiles"
@@ -34,6 +35,7 @@
md5sums=('51b6328747d7329fe0278329eaa22ac6'
'a6e58a97994e0128064ab16ee337f2f0'
'c3e4b850d5d522bd1df21555c4287448'
+ '24f8fbf9732fb9c523d71fa3349211d4'
'9d798d275eb737bcfd035d5277b6b4ce'
'd90840387358e5dd230cace0b2d6b53a'
'bda3ec3f4c75521c6869279eb16af2f8'
More information about the arch-commits
mailing list