From 2a8254b47e662bc5b8bf8a460c7c843f632ebee0 Mon Sep 17 00:00:00 2001 From: mfr69bs <> Date: Thu, 4 Jul 2013 20:15:54 +0000 Subject: [PATCH] error while updating single files fixed git-svn-id: https://svn.fhem.de/fhem/trunk@3385 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/98_update.pm | 15 +++++++++------ fhem/MAINTAINER.txt | 10 +++++----- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 47c2d3ba8..2fc6a9348 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -54,6 +54,7 @@ - bugfix: fixing not-working FHEM restart, when a PRESENCE check is running - bugfix: fixing memory overflow when "list" a PRESENCE definition - bugfix: fixing dead PRESENCE definitions in case of timeouts + - bugfix: update: error while updating single files fixed. (M. Fischer) - 2013-04-08 (5.4) - feature: updatefhem will be silently converted to update diff --git a/fhem/FHEM/98_update.pm b/fhem/FHEM/98_update.pm index 77b4b2e8d..dda3aefcf 100644 --- a/fhem/FHEM/98_update.pm +++ b/fhem/FHEM/98_update.pm @@ -40,7 +40,7 @@ sub update_GetRemoteFiles($$$$); sub update_ListChanges($$$); sub update_MakeDirectory($); sub update_ParseControlFile($$$$); -sub update_WriteLocalControlFile($$$$); +sub update_WriteLocalControlFile($$$$$); ######################################## @@ -451,13 +451,13 @@ update_DoUpdate(@) my $getUpdates; ($fail,$getUpdates) = update_GetRemoteFiles($BRANCH,$url,$updateFiles_ref,$cl); $ret .= $getUpdates if($getUpdates); - undef($updateFiles_ref); foreach my $pack (@packages) { # write local controlfile - my $localControlFile = update_WriteLocalControlFile($BRANCH,$pack,$lControl_ref,$rControl_ref); + my $localControlFile = update_WriteLocalControlFile($BRANCH,$pack,$lControl_ref,$rControl_ref,$updateFiles_ref); $ret .= $localControlFile if ($localControlFile); } + undef($updateFiles_ref); return $ret if($fail); if (uc($update) eq "FHEM" || $BRANCH eq "THIRDPARTY") { @@ -987,9 +987,9 @@ update_CheckFhemRelease($$$) ######################################## sub -update_WriteLocalControlFile($$$$) +update_WriteLocalControlFile($$$$$) { - my ($BRANCH,$pack,$lControl_ref,$rControl_ref) = @_; + my ($BRANCH,$pack,$lControl_ref,$rControl_ref,$updateFiles_ref) = @_; my $modpath = (-d "updatefhem.dir" ? "updatefhem.dir":$attr{global}{modpath}); my $moddir = "$modpath/FHEM"; my $controlsTxt; @@ -1002,6 +1002,8 @@ update_WriteLocalControlFile($$$$) Log 5, "update write $moddir/$controlsTxt"; my %rControl = %$rControl_ref; my %lControl = %$lControl_ref; + my %updFiles = %$updateFiles_ref; + foreach my $f (sort keys %{$rControl{$pack}}) { my $ctrl = $rControl{$pack}{$f}{ctrl} if (defined($rControl{$pack}{$f}{ctrl})); my $date = $rControl{$pack}{$f}{date} if (defined($rControl{$pack}{$f}{date})); @@ -1010,7 +1012,8 @@ update_WriteLocalControlFile($$$$) my $move = $rControl{$pack}{$f}{move} if (defined($rControl{$pack}{$f}{move})); if ($ctrl eq "UPD") { - if (defined($lControl{$pack}{$f}{ctrl}) && $lControl{$pack}{$f}{ctrl} eq "EXC") { + if (defined($lControl{$pack}{$f}{ctrl}) && + ($lControl{$pack}{$f}{ctrl} eq "EXC" || !exists $updFiles{$f})) { $date = defined($lControl{$pack}{$f}{date}) ? $lControl{$pack}{$f}{date} : $rControl{$pack}{$f}{date}; $size = defined($lControl{$pack}{$f}{size}) ? $lControl{$pack}{$f}{size} : diff --git a/fhem/MAINTAINER.txt b/fhem/MAINTAINER.txt index 1d4e79452..b76e489d2 100644 --- a/fhem/MAINTAINER.txt +++ b/fhem/MAINTAINER.txt @@ -41,11 +41,11 @@ FHEM/10_FRM.pm ntruchsess http://forum.fhem.de Sonstiges FHEM/10_FS20.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/10_IT.pm odroegehorn http://forum.fhem.de InterTechno FHEM/10_MAX.pm mgehre http://forum.fhem.de MAX -FHEM/10_OWServer.pm borisneubert http://forum.fhem.de 1Wire +FHEM/10_OWServer.pm borisneubert/mfr69bs http://forum.fhem.de 1Wire FHEM/10_ZWave.pm rudolfkoenig http://forum.fhem.de ZWave FHEM/11_FHT.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/11_FHT8V.pm rudolfkoenig http://forum.fhem.de SlowRF -FHEM/11_OWDevice.pm borisneubert http://forum.fhem.de 1Wire +FHEM/11_OWDevice.pm borisneubert/mfr69bs http://forum.fhem.de 1Wire FHEM/12_HMS.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/13_KS300.pm rudolfkoenig http://forum.fhem.de SlowRF FHEM/14_CUL_MAX.pm mgehre http://forum.fhem.de MAX @@ -62,7 +62,7 @@ FHEM/20_FRM_LCD.pm ntruchsess http://forum.fhem.de Sonstiges FHEM/20_FRM_OUT.pm ntruchsess http://forum.fhem.de Sonstiges FHEM/20_FRM_PWM.pm ntruchsess http://forum.fhem.de Sonstiges FHEM/20_FRM_SERVO.pm ntruchsess http://forum.fhem.de Sonstiges -FHEM/20_OWFS.pm mfr69b http://forum.fhem.de 1Wire (deprecated) +FHEM/20_OWFS.pm mfr69bs http://forum.fhem.de 1Wire (deprecated) FHEM/20_X10.pm borisneubert http://forum.fhem.de SlowRF FHEM/21_OWAD.pm pahenning http://forum.fhem.de 1Wire FHEM/21_OWCOUNT.pm pahenning http://forum.fhem.de 1Wire @@ -70,7 +70,7 @@ FHEM/21_OWID.pm pahenning http://forum.fhem.de 1Wire FHEM/21_OWLCD.pm pahenning http://forum.fhem.de 1Wire FHEM/21_OWMULTI.pm pahenning http://forum.fhem.de 1Wire FHEM/21_OWSWITCH.pm pahenning http://forum.fhem.de 1Wire -FHEM/21_OWTEMP.pm mfr69b http://forum.fhem.de 1Wire +FHEM/21_OWTEMP.pm mfr69bs http://forum.fhem.de 1Wire (deprecated) FHEM/21_OWTHERM.pm pahenning http://forum.fhem.de 1Wire FHEM/22_ALL3076.pm sachag http://forum.fhem.de Snstiges FHEM/23_ALL4027.pm sachag http://forum.fhem.de Sonstiges @@ -147,7 +147,7 @@ FHEM/95_remotecontrol.pm ulimaass http://forum.fhem.de Frontends FHEM/98_CULflash.pm rudolfkoenig http://forum.fhem.de Sonstiges FHEM/98_HMinfo.pm martinp876 http://forum.fhem.de Sonstiges FHEM/98_Heating_Control.pm dietmar63 http://forum.fhem.de Unterstützende Dienste -FHEM/98_JsonList.pm mfr69b http://forum.fhem.de Automatisierung +FHEM/98_JsonList.pm mfr69bs http://forum.fhem.de Automatisierung FHEM/98_PID.pm rudolfkoenig http://forum.fhem.de Automatisierung FHEM/98_SVG.pm rudolfkoenig http://forum.fhem.de Frontends FHEM/98_THRESHOLD.pm damian-s http://forum.fhem.de Automatisierung