REM This script builds a SVK installation package
REM The environment (IE:system path) must be configured properly before
REM running this script! (see setenv.bat)
REM After this script finishes, compile the NSIS script (svk.nsi)
REM located in the build\win32\ folder.
REM
REM This script requires:
REM That SVK be built
REM That pp is installed
REM That a zip/unzip program is available (Info-Zip)
REM
REM If mtee is available, a logfile can be created with a command line like:
REM builddist 2>&1 | mtee /d/t log.txt
REM
REM Adjust the following to your needs!
SET SVNHOME=C:/strawberry-perl/svn-win32-1.4.4
SET SVKSOURCE=c:/strawberry-perl/src/SVK-v2.0.1
SET PERLHOME=C:/strawberry-perl/perl
SET PPSOURCESCRIPT=c:/strawberry-perl/src/SVK-v2.0.1/blib/script/SVK
SET FIXZIP=c:\utils\zip -d build\SVK.par lib\SVK.
SET UNZIPPER=c:\utils\unzip -o -d build build\SVK.par
REM SET UNZIPPER="c:\program files\7-Zip\7z" x -y -obuild
REM
SET PAR_VERBATIM=1
REM
REM Remove and remnants of the previous build
rd /s /q build
REM create the working folders
mkdir build
REM Create a new set of path specific PAR (pp) options
REM Copy the original parameter file to make run-time appends
copy paroptions.txt parsvkfixups.txt
REM This is done here because we cannot do variable subs in the parmater file
REM do this to bring in the help pod's
echo -a "%SVKSOURCE%/blib/lib/SVK/Help;lib/SVK/Help" >> parsvkfixups.txt
REM # do this to bring in the I18N
echo -a "%SVKSOURCE%/blib/lib/SVK/I18N;lib/SVK/I18N" >> parsvkfixups.txt
REM # do this to fix the missing POSIX files
echo -a "%PERLHOME%/lib/auto/POSIX;lib/auto/POSIX" >> parsvkfixups.txt
REM Add the SVK source path to the build
echo -I %SVKSOURCE%/blib/lib >> parsvkfixups.txt
REM Move the built and Win32 specific files into the par
echo -a "%PERLHOME%/bin/perl.exe;bin/perl.exe" >> parsvkfixups.txt
echo -a "%PERLHOME%/bin/perl58.dll;bin/perl58.dll" >> parsvkfixups.txt
echo -a "%PERLHOME%/bin/prove.bat;bin/prove.bat" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/intl3_svn.dll;bin/intl3_svn.dll" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/libapr.dll;bin/libapr.dll" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/libapriconv.dll;bin/libapriconv.dll" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/libaprutil.dll;bin/libaprutil.dll" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/libdb44.dll;bin/libdb44.dll" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/libeay32.dll;bin/libeay32.dll" >> parsvkfixups.txt
echo -a "%SVNHOME%/bin/ssleay32.dll;bin/ssleay32.dll" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/blib/script/svk;bin/svk" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/blib/script/svk.bat;bin/svk.bat" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/pkg/win32/maketest.bat;win32/maketest.bat" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/pkg/win32/svk.ico;win32/svk.ico" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/pkg/win32/svk-uninstall.ico;win32/svk-uninstall.ico" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/pkg/win32/svk.nsi;win32/svk.nsi" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/pkg/win32/Path.nsh;win32/Path.nsh" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/contrib;site/contrib" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/utils;site/utils" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/t;site/t" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/README;README" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/CHANGES;CHANGES" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/ARTISTIC;ARTISTIC" >> parsvkfixups.txt
echo -a "%SVKSOURCE%/COPYING;COPYING" >> parsvkfixups.txt
REM using par, build the compressed output
call pp @parsvkfixups.txt %PPSOURCESCRIPT%
REM Must do a fixup before the .par can be un-packed
REM Remove the lib\SVK. file as it conflicts with the lib\SVK folder on CIFS
call %FIXZIP%
REM extract the par THIS USES Info-Zip unzip but could use 7z.exe
call %UNZIPPER%
REM remove the dynamicically created par options
del /F/Q parsvkfixups.txt
REM remove the .par after it is built
del /F/Q build\SVK.par
REM remove the script folder because we do not need it
rd /S/Q build\script
:exit