Author: nextgens
Date: 2007-02-08 18:05:37 +0000 (Thu, 08 Feb 2007)
New Revision: 11694

Modified:
   trunk/apps/installer/installclasspath/windows/update.cmd
Log:
new upstream version of the windows updating script : needs testing see #1061

Modified: trunk/apps/installer/installclasspath/windows/update.cmd
===================================================================
--- trunk/apps/installer/installclasspath/windows/update.cmd    2007-02-08 
18:00:40 UTC (rev 11693)
+++ trunk/apps/installer/installclasspath/windows/update.cmd    2007-02-08 
18:05:37 UTC (rev 11694)
@@ -1,201 +1,232 @@
- at echo off
-::This script is designed for the Windows command line shell, so please don't 
put it into anything else! :)
-::If you want to debug this script by adding pauses and stuff, please do it 
from another batch file, because
-::if you modify this script in any way it will be detected as outdated and 
will be overwritten on the next run.
-::To force a re-download of the latest Freenet.jar, simply delete 
freenet-%RELEASE%-latest.jar.url before running this script.
-echo -----
-echo - Freenet Windows update script 1.6 by Zero3Cool (zero3cool at 
zerosplayground.dk)
-echo - Freenet Windows update script 1.8 by Juiceman (juiceman69 at gmail.com)
-echo - Thanks to search4answers, Michael Schierl and toad for help and 
feedback.
-echo - This script will automatically update your Freenet installation.
-echo - In case of an unrecoverable error, this script will pause.
-echo -----
-echo -----------------------------------------------------------
-echo - Please try to use the update over freenet feature of your
-echo - node to reduce traffic on our servers, thanks!!!
-echo - FYI, updating over freenet is more secure and better for
-echo - your anonymity
-echo -----------------------------------------------------------
-echo -----
-
-::Initialize some stuff
-set MAGICSTRING=INDO
-set RESTART=0
-set PATH=%SYSTEMROOT%\System32\;%PATH%
-set RELEASE=stable
-if "%1"=="testing" set RELEASE=testing
-
-::Go to our location
-for %%I in (%0) do set LOCATION=%%~dpI
-cd /D %LOCATION%
-
-::Check if its valid, or at least looks like it
-if not exist freenet.ini goto error2
-if not exist bin\wget.exe goto error2
-echo - Freenet installation found at %LOCATION%
-echo -----
-
-if not exist wrapper.conf.bak copy wrapper.conf wrapper.conf.bak
-
-::Get the filename and skip straight to the Freenet update if this is a new 
updater
-for %%I in (%0) do set FILENAME=%%~nxI
-if %FILENAME%==update.new.cmd goto updaterok
-
-::Download latest updater and verify it
-if exist update.new.cmd del update.new.cmd
-echo - Checking for updater updates...
-bin\wget.exe -o NUL --timeout=10 --waitretry=20 
http://downloads.freenetproject.org/alpha/update/update.cmd -O update.new.cmd
-
-if not exist update.new.cmd goto error1
-find "FREENET W%MAGICSTRING%WS UPDATE SCRIPT" update.new.cmd > NUL
-if errorlevel 1 goto error1
-
-find "freenet.jar" wrapper.conf > NUL
-if errorlevel 1 goto error5
-
-find "freenet.jar.new" wrapper.conf > NUL
-if not errorlevel 1 goto error5
-
-::Check if updater has been updated
-fc update.cmd update.new.cmd > NUL
-if not errorlevel 1 goto updaterok
-
-::It has! Run new version and end self
-echo - Updater updated, restarting update...
-echo -----
-start update.new.cmd
-goto veryend
-
-::Updater is up to date, check Freenet
-:updaterok
-
-:: Register .fref file extention
-echo "Registering .fref file extention"
-echo Windows Registry Editor Version 5.00 >> fref.reg
-echo [HKEY_CLASSES_ROOT\.fref] >> fref.reg
-echo @="fref_auto_file" >> fref.reg
-echo [HKEY_CLASSES_ROOT\fref_auto_file] >> fref.reg
-echo @="Freenet node reference" >> fref.reg
-echo "EditFlags"=dword:00000000 >> fref.reg
-echo "BrowserFlags"=dword:00000008 >> fref.reg
-echo [HKEY_CLASSES_ROOT\fref_auto_file\DefaultIcon] >> fref.reg
-echo @="shell32.dll,56" >> fref.reg
-echo [HKEY_CLASSES_ROOT\fref_auto_file\shell] >> fref.reg
-echo @="Open" >> fref.reg
-regedit /s fref.reg > NUL
-FTYPE fref_auto_file=start javaw -cp "%LOCATION%\freenet.jar" 
freenet.tools.AddRef "%%1" > NUL
-del /F fref.reg
-
-::Check for sha1test and download if needed.
-if not exist lib mkdir lib
-if not exist lib\sha1test.jar bin\wget.exe -o NUL --timeout=10 --waitretry=20  
http://downloads.freenetproject.org/alpha/installer/sha1test.jar -O 
lib\sha1test.jar
-
-if not errorlevel 0 goto error3
-echo - Updater is up to date.
-echo -----
-echo - Checking for Freenet updates...
-if exist freenet-%RELEASE%-latest.jar.new.url del 
freenet-%RELEASE%-latest.jar.new.url
-bin\wget.exe -o NUL --timeout=10 --waitretry=20 
http://downloads.freenetproject.org/alpha/freenet-%RELEASE%-latest.jar.url -O 
freenet-%RELEASE%-latest.jar.new.url
-
-if not exist freenet-%RELEASE%-latest.jar.new.url goto error3
-FOR %%I IN ("%LOCATION%freenet-%RELEASE%-latest.jar.url") DO if %%~zI==0 goto 
error3
-
-::Do we have something old to compare with? If not, update right away
-if not exist freenet-%RELEASE%-latest.jar.url goto update1
-
-::Compare with current copy
-fc freenet-%RELEASE%-latest.jar.url freenet-%RELEASE%-latest.jar.new.url > NUL
-if not errorlevel 1 goto noupdate
-
-::New version found, check if the node is currently running
-:update1
-echo - New version found!
-:safetycheck
-net start | find "Freenet" > NUL
-if errorlevel 1 goto update2 > NUL
-set RESTART=1
-echo - Shutting down Freenet...
-call stop.cmd > NUL
-IF ERRORLEVEL 1 call bin\stop.cmd > NUL
-echo - If you see an error message about 
-echo - "The service could not be controlled in its present state."
-echo - Please ignore, it is a side effect of a work-around 
-echo - to make sure the node is stopped before we copy files.
-goto safetycheck
-
-:update2
-echo -----
-echo - Downloading new version and updating local installation...
-if exist freenet-%RELEASE%-latest.jar.bak del freenet-%RELEASE%-latest.jar.bak
-if exist freenet-%RELEASE%-latest.jar ren freenet-%RELEASE%-latest.jar 
freenet-%RELEASE%-latest.jar.bak
-bin\wget.exe -o NUL --timeout=10 --waitretry=20 -i 
freenet-%RELEASE%-latest.jar.new.url -O freenet-%RELEASE%-latest.jar
-copy freenet-%RELEASE%-latest.jar freenet.jar
-
-if not exist freenet-%RELEASE%-latest.jar goto error4
-FOR %%I IN ("%LOCATION%freenet-%RELEASE%-latest.jar") DO if %%~zI==0 goto 
error4
-java -cp lib\sha1test.jar Sha1Test freenet-%RELEASE%-latest.jar
-if not errorlevel 0 goto error4
-if exist freenet-%RELEASE%-latest.jar.url del freenet-%RELEASE%-latest.jar.url
-ren freenet-%RELEASE%-latest.jar.new.url freenet-%RELEASE%-latest.jar.url
-echo - Freenet-*RELEASE%-snapshot.jar verified and updated.
-java -cp lib\sha1test.jar Sha1Test freenet-ext.jar
-goto end
-
-:noupdate
-echo - Freenet is up to date.
-goto end
-
-:error1
-echo - Error! Downloaded update script is invalid. Try again later.
-goto end
-
-:error2
-echo - Error! Please run this script from a working Freenet installation.
-echo -----
-pause
-goto veryend
-
-:error3
-echo - Error! Could not download latest Freenet update information. Try again 
later.
-goto end
-
-:error4
-echo - Error! Freenet update failed, trying to restore backup...
-if exist freenet-%RELEASE%-latest.jar del freenet-%RELEASE%-latest.jar
-if exist freenet-%RELEASE%-latest.jar.bak ren freenet-%RELEASE%-latest.jar.bak 
freenet-%RELEASE%-latest.jar
-if exist freenet-%RELEASE%-latest.jar.url del freenet-%RELEASE%-latest.jar.url
-goto end
-
-:error5
-echo - Your wrapper.conf needs to be updated .... updating it ; please restart 
the script when done.
-if exist wrapper.conf.bak del wrapper.conf.bak
-if exist wrapper.conf ren wrapper.conf wrapper.conf.bak
-bin\wget.exe -o NUL --timeout=10 --waitretry=20 
http://downloads.freenetproject.org/alpha/update/wrapper.conf -O wrapper.conf
-start update.new.cmd
-goto veryend
-
-:end
-echo -----
-echo - Cleaning up...
-if exist freenet-%RELEASE%-latest.jar.new.url del 
freenet-%RELEASE%-latest.jar.new.url
-if exist freenet-%RELEASE%-latest.jar.bak del freenet-%RELEASE%-latest.jar.bak
-
-if %RESTART%==0 goto cleanup2
-echo - Restarting Freenet...
-call start.cmd > NUL
-IF ERRORLEVEL 1 call bin\start.cmd > NUL
-
-:cleanup2
-if %FILENAME%==update.new.cmd goto newend
-if exist update.new.cmd del update.new.cmd
-echo -----
-goto veryend
-
-::If this session was launched by an old updater, replace it now (and force 
exit, or we will leave a command prompt open)
-:newend
-copy /Y update.new.cmd update.cmd > NUL
-echo -----
-exit
-
-:veryend
-::FREENET WINDOWS UPDATE SCRIPT
+ at echo off
+::This script is designed for the Windows command line shell, so please don't 
put it into anything else! :)
+::If you want to debug this script by adding pauses and stuff, please do it 
from another batch file, because
+::if you modify this script in any way it will be detected as outdated and 
will be overwritten on the next run.
+::To force a re-download of the latest Freenet.jar, simply delete 
freenet-%RELEASE%-latest.jar.url before running this script.
+echo -----
+echo - Freenet Windows update script 1.6 by Zero3Cool (zero3cool at 
zerosplayground.dk)
+echo - Freenet Windows update script 1.8 by Juiceman (juiceman69 at gmail.com)
+echo - Thanks to search4answers, Michael Schierl and toad for help and 
feedback.
+echo - This script will automatically update your Freenet installation.
+echo - In case of an unrecoverable error, this script will pause.
+echo -----
+echo -----------------------------------------------------------
+echo - Please try to use the update over freenet feature of your
+echo - node to reduce traffic on our servers, thanks!!!
+echo - FYI, updating over freenet is more secure and better for
+echo - your anonymity
+echo -----------------------------------------------------------
+echo -----
+
+::Initialize some stuff
+set MAGICSTRING=INDO
+set RESTART=0
+set PATH=%SYSTEMROOT%\System32\;%PATH%
+set RELEASE=stable
+if "%1"=="testing" set RELEASE=testing
+
+::Go to our location
+for %%I in (%0) do set LOCATION=%%~dpI
+cd /D %LOCATION%
+
+::Check if its valid, or at least looks like it
+if not exist freenet.ini goto error2
+if not exist bin\wget.exe goto error2
+
+if not exist wrapper.conf.bak copy wrapper.conf wrapper.conf.bak > NUL
+
+::Get the filename and skip straight to the Freenet update if this is a new 
updater
+for %%I in (%0) do set FILENAME=%%~nxI
+if %FILENAME%==update.new.cmd goto updaterok
+
+::Download latest updater and verify it
+if exist update.new.cmd del update.new.cmd
+echo - Checking for newer version of update script...
+bin\wget.exe -o NUL --timeout=10 --waitretry=20 
http://downloads.freenetproject.org/alpha/update/update.cmd -O update.new.cmd
+
+if not exist update.new.cmd goto error1
+find "FREENET W%MAGICSTRING%WS UPDATE SCRIPT" update.new.cmd > NUL
+if errorlevel 1 goto error1
+
+find "freenet.jar" wrapper.conf > NUL
+if errorlevel 1 goto error5
+
+find "freenet.jar.new" wrapper.conf > NUL
+if not errorlevel 1 goto error5
+
+::Check if updater has been updated
+fc update.cmd update.new.cmd > NUL
+if not errorlevel 1 goto updaterok
+
+::It has! Run new version and end self
+echo - Update script updated, restarting update script...
+echo -----
+start update.new.cmd
+goto veryend
+
+
+::Updater is up to date, check Freenet
+:updaterok
+echo - Update script is current.
+echo -----
+
+::Handle older installations where start and stop are not in the bin\ directory
+if not exist bin\stop.cmd copy stop.cmd bin\stop.cmd > NUL
+if not exist bin\start.cmd copy start.cmd bin\start.cmd > NUL
+if not exist bin\stop.cmd goto error2
+if not exist bin\start.cmd goto error2
+
+echo - Freenet installation found at %LOCATION%
+echo -----
+
+:: Register .fref file extention
+echo - Registering .fref file extention
+
+echo Windows Registry Editor Version 5.00 >> fref.reg
+echo [HKEY_CLASSES_ROOT\.fref] >> fref.reg
+echo @="fref_auto_file" >> fref.reg
+echo [HKEY_CLASSES_ROOT\fref_auto_file] >> fref.reg
+echo @="Freenet node reference" >> fref.reg
+echo "EditFlags"=dword:00000000 >> fref.reg
+echo "BrowserFlags"=dword:00000008 >> fref.reg
+echo [HKEY_CLASSES_ROOT\fref_auto_file\DefaultIcon] >> fref.reg
+echo @="shell32.dll,56" >> fref.reg
+echo [HKEY_CLASSES_ROOT\fref_auto_file\shell] >> fref.reg
+echo @="Open" >> fref.reg
+regedit /s fref.reg > NUL
+FTYPE fref_auto_file=start javaw -cp "%LOCATION%\freenet.jar" 
freenet.tools.AddRef "%%1" > NUL
+del /F fref.reg
+
+echo -----
+echo - Checking for Freenet JAR updates...
+
+::Check for sha1test and download if needed.
+if not exist lib mkdir lib
+if not exist lib\sha1test.jar bin\wget.exe -o NUL --timeout=10 --waitretry=20  
http://downloads.freenetproject.org/alpha/installer/sha1test.jar -O 
lib\sha1test.jar
+if not errorlevel 0 goto error3
+
+if exist freenet-%RELEASE%-latest.jar.new.url del 
freenet-%RELEASE%-latest.jar.new.url
+bin\wget.exe -o NUL --timeout=10 --waitretry=20 
http://downloads.freenetproject.org/alpha/freenet-%RELEASE%-latest.jar.url -O 
freenet-%RELEASE%-latest.jar.new.url
+
+if not exist freenet-%RELEASE%-latest.jar.new.url goto error3
+FOR %%I IN ("%LOCATION%freenet-%RELEASE%-latest.jar.url") DO if %%~zI==0 goto 
error3
+
+::Do we have something old to compare with? If not, update right away
+if not exist freenet-%RELEASE%-latest.jar.url goto update1
+
+::Compare with current copy
+fc freenet-%RELEASE%-latest.jar.url freenet-%RELEASE%-latest.jar.new.url > NUL
+if not errorlevel 1 goto noupdate
+
+
+::New version found, check if the node is currently running
+:update1
+echo - New version found!
+echo -----
+
+net start | find "Freenet" > NUL
+if errorlevel 1 goto update2 > NUL
+set RESTART=1
+
+echo - Shutting down Freenet...
+echo -
+echo - If you see an error message about 
+echo - "The service could not be controlled in its present state."
+echo - Please ignore, it is a side effect of a work-around 
+echo - to make sure the node is stopped before we copy files.
+
+
+:safetycheck
+net start | find "Freenet" > NUL
+if errorlevel 1 goto update2 > NUL
+call bin\stop.cmd > NUL
+goto safetycheck
+
+
+:update2
+echo -----
+echo - Downloading new version and updating local installation...
+
+if exist freenet-%RELEASE%-latest.jar.bak del freenet-%RELEASE%-latest.jar.bak
+if exist freenet-%RELEASE%-latest.jar ren freenet-%RELEASE%-latest.jar 
freenet-%RELEASE%-latest.jar.bak
+bin\wget.exe -o NUL --timeout=10 --waitretry=20 -i 
freenet-%RELEASE%-latest.jar.new.url -O freenet-%RELEASE%-latest.jar
+copy freenet-%RELEASE%-latest.jar freenet.jar > NUL
+
+if not exist freenet-%RELEASE%-latest.jar goto error4
+FOR %%I IN ("%LOCATION%freenet-%RELEASE%-latest.jar") DO if %%~zI==0 goto 
error4
+java -cp lib\sha1test.jar Sha1Test freenet-%RELEASE%-latest.jar > NUL
+if not errorlevel 0 goto error4
+if exist freenet-%RELEASE%-latest.jar.url del freenet-%RELEASE%-latest.jar.url
+ren freenet-%RELEASE%-latest.jar.new.url freenet-%RELEASE%-latest.jar.url
+
+echo -
+echo - Freenet-%RELEASE%-snapshot.jar verified and updated.
+goto end
+
+
+:noupdate
+echo - Freenet is up to date.
+goto end
+
+
+:error1
+echo - Error! Downloaded update script is invalid. Try again later.
+goto end
+
+
+:error2
+echo - Error! Please run this script from a working Freenet installation.
+echo -----
+pause
+goto veryend
+
+
+:error3
+echo - Error! Could not download latest Freenet update information. Try again 
later.
+goto end
+
+
+:error4
+echo - Error! Freenet update failed, trying to restore backup...
+if exist freenet-%RELEASE%-latest.jar del freenet-%RELEASE%-latest.jar
+if exist freenet-%RELEASE%-latest.jar.bak ren freenet-%RELEASE%-latest.jar.bak 
freenet-%RELEASE%-latest.jar
+if exist freenet-%RELEASE%-latest.jar.url del freenet-%RELEASE%-latest.jar.url
+goto end
+
+
+:error5
+echo - Your wrapper.conf needs to be updated .... updating it ; please restart 
the script when done.
+if exist wrapper.conf.bak del wrapper.conf.bak
+if exist wrapper.conf ren wrapper.conf wrapper.conf.bak
+bin\wget.exe -o NUL --timeout=10 --waitretry=20 
http://downloads.freenetproject.org/alpha/update/wrapper.conf -O wrapper.conf
+start update.new.cmd
+goto veryend
+
+
+:end
+echo -----
+echo - Cleaning up...
+if exist freenet-%RELEASE%-latest.jar.new.url del 
freenet-%RELEASE%-latest.jar.new.url
+if exist freenet-%RELEASE%-latest.jar.bak del freenet-%RELEASE%-latest.jar.bak
+
+if %RESTART%==0 goto cleanup2
+echo - Restarting Freenet...
+call bin\start.cmd > NUL
+
+
+:cleanup2
+if %FILENAME%==update.new.cmd goto newend
+if exist update.new.cmd del update.new.cmd
+echo -----
+goto veryend
+
+
+::If this session was launched by an old updater, replace it now (and force 
exit, or we will leave a command prompt open)
+:newend
+copy /Y update.new.cmd update.cmd > NUL
+echo -----
+exit
+
+
+:veryend
+::FREENET WINDOWS UPDATE SCRIPT


Reply via email to