Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
7.1 KiB

  1. if "%3"=="" goto :EOF
  2. rem patchpath is the root of the patch build directory.
  3. set patchpath=d:\patch
  4. if /i %ComputerName%==msliger0 set patchpath=f:\patch
  5. set platform=i386
  6. set ReleaseShare=\\winseqfe\release
  7. set Product=W2K
  8. set ServicePack=SP3
  9. set OtherReleases=SP2 SP1 2195
  10. set ISOLang=%3
  11. set BldType=fre
  12. set BuildNumber=%2
  13. set SRPServicePack=SP2
  14. set SRPBuild=SRP1
  15. rem newbuild is the name of the directory where the current build's
  16. rem compressed files can be found.
  17. set newbuild=%ReleaseShare%\%Product%\%ServicePack%\%BuildNumber%\%ISOLang%\%Platform:i386=x86%\%BldType%\srp
  18. if /i "%ISOLang%"=="nec98" set platform=nec98
  19. if /i "%ISOLang%"=="nec98" set newbuild=%ReleaseShare%\%Product%\%ServicePack%\%BuildNumber%\JA\%platform%\%BldType%\srp
  20. rem newexe is the name of the self-extracting EXE containing the new build
  21. set newexe=w2k%SRPServicePack%%SRPBuild%.exe
  22. rem if /i "%ISOLang%"=="nec98" set newexe=w2k%SRPServicePack%%SRPBuild%n.exe
  23. rem newsymbols is the name of the directory containing symbols
  24. set newsymbols=%newbuild%\..\sym\retail
  25. rem servername is the name of the pstream server
  26. rem This forms part of the URL in the built file update.url.
  27. rem No build-machine entry is required here unless you will prop your
  28. rem build, but to a machine other than the build machine.
  29. set servername=%ComputerName%
  30. if /i %ComputerName%==msliger0 set servername=msliger7
  31. rem Ordinarily, msliger0 builds are only for my personal dev/test. But for now, msliger0
  32. rem is the real SRP patch build system, so we build for winsebld and prop to there.
  33. if /i %ComputerName%==msliger0 if /i %ISOLang% neq EN set servername=winsebld
  34. if /i "%4"=="beta" set servername=ntbeta.microsoft.com
  35. if /i "%4"=="rtm" set servername=ntservicepack.microsoft.com
  36. rem psfroot is the destination path for built PSF files
  37. rem A specific build-machine entry is required here only if you want to prop your build.
  38. if /i %ComputerName%==winsebld set psfroot=d:\psfroot\win2000
  39. if /i %ComputerName%==msliger0 set psfroot=\\%servername%\psfroot$\win2000
  40. if /i %ComputerName%==msliger3 set psfroot=c:\psfroot\win2000
  41. rem wwwroot is the destination path for built EXE files
  42. rem A specific build-machine entry is required here only if you want to prop your build.
  43. if /i %ComputerName%==winsebld set wwwroot=d:\wwwroot\%ServicePack%
  44. if /i %ComputerName%==msliger0 set wwwroot=\\%servername%\wwwroot$\%ServicePack%
  45. if /i %ComputerName%==msliger3 set wwwroot=c:\wwwroot\%ServicePack%
  46. rem patchbuild is the directory where the finished files will go.
  47. set patchbuild=%patchpath%\build\%ISOLang%\%SRPBuild%.%BuildNumber%
  48. rem patchtemp is a directory where intermediate files are built.
  49. set patchtemp=%patchpath%\temp\%ISOLang%
  50. rem logpath is the name of the directory where log files go.
  51. set logpath=%patchbuild%\logs
  52. rem loglinkpath is the name of the directory of the link to the latest log files.
  53. set loglinkpath=%patchpath%\build\%ISOLang%
  54. rem forest is the name of the directory where all patch reference
  55. rem files (from previous and current build) can be found. Ideally,
  56. rem there will be a manifest file at the base of each tree in the forest.
  57. set forest=%patchpath%\forest\%ISOLang%
  58. rem newfiles is the name of the directory where all the current
  59. rem build's files (fully uncompressed) can be located. Every file named
  60. rem in the sourcelist must exist in this directory.
  61. set newfiles=%forest%\stage\%SRPBuild%.%BuildNumber%
  62. rem patching is the name of the override directory where the
  63. rem current build's patch-only files (update.url and patching
  64. rem flavor of update.ver) can be located. Any file found in
  65. rem in this directory will override the file from newfiles.
  66. set patching=%patchpath%\patching\%ISOLang%
  67. rem psfname is the full pathname of the PSF
  68. set psfname=%patchbuild%\%SRPServicePack%%SRPBuild%.%ISOLang%.%BuildNumber%.psf
  69. rem cablist is the list of cab files which can be built from update.url
  70. set cablist=
  71. rem template is the full pathname of updateurl.template
  72. set template=%bldtools%\srpurl.template
  73. rem fullexe is the name of the full EXE to be produced, WITHOUT
  74. rem the file extension
  75. set fullexe=%patchbuild%\full.%ISOLang%.%BuildNumber%.exe
  76. rem fullddf is the name of the full DDF to be produced.
  77. set fullddf=%patchtemp%\full.ddf
  78. rem fullcab is the name of the full CAB to be produced.
  79. set fullcab=%patchtemp%\full.cab
  80. rem patchexe is the name of the patch EXE to be produced
  81. set patchexe=%patchbuild%\patch.%ISOLang%.%SRPBuild%.%BuildNumber%.exe
  82. if /i "%4"=="beta" set patchexe=%patchbuild%\beta\w2k%SRPServicePack%%SRPBuild%express.exe
  83. if /i "%4"=="rtm" set patchexe=%patchbuild%\rtw\w2k%SRPServicePack%%SRPBuild%express.exe
  84. rem patchddf is the name of the patch DDF to be produced.
  85. set patchddf=%patchtemp%\patch.ddf
  86. rem patchlist is the name of the patch DDF file list.
  87. set patchlist=srpddf.filelist
  88. rem patchcab is the name of the patch CAB to be produced.
  89. set patchcab=%patchtemp%\patch.cab
  90. rem stubexe is the full pathname of the self-extracting stub.
  91. set stubexe=%bldtools%\%ISOLang:nec98=JA%\%platform:i386=x86%\sfxstub.exe
  92. rem nonsysfree is an option for the self-extractor for required free space
  93. set nonsysfree=/nonsysfree 60000000
  94. rem server is the full URL prefix of the patch server including the
  95. rem ISAPI pstream.dll name
  96. set server=http://%servername%/isapi/pstream3.dll/win2000
  97. rem updatever is the name of the update.ver file.
  98. set updatever=update.ver
  99. rem sourcelist is the name of a text file containing the names of all
  100. rem the files which could be downloaded. Usually derived from the
  101. rem [SourceDisksFiles] sections in update.inf and update.url
  102. set sourcelist=%patching%\update\%updatever%
  103. rem targetpool is the name of the directory where all the produced
  104. rem patches will be collected. Existing contents of this directory
  105. rem will be deleted.
  106. set targetpool=%patchpath%\patches.out\%ISOLang%
  107. rem cache is the name of the directory where mpatches can look for
  108. rem previously-built patch files. Any new patches built will be added
  109. rem to this directory.
  110. set cache=%patchpath%\PatchCache
  111. rem psfcomment is a comment to go in the produced PSF.
  112. set psfcomment=Build %1 %SRPBuild%.%BuildNumber% %ISOLang% %4 %5 (%COMPUTERNAME%)
  113. rem oldsympath is the symbol path for "old" files
  114. set strcat=
  115. for %%p in (%OtherReleases%) do call :strcat %forest%\history\%%p\symbols
  116. set oldsympath=%strcat%;%newfiles%\symbols
  117. rem newsympath is the symbol path for "new" files
  118. set strcat=%newfiles%\symbols
  119. for %%p in (%OtherReleases%) do call :strcat %forest%\history\%%p\symbols
  120. set newsympath=%strcat%
  121. set strcat=
  122. goto :EOF
  123. :strcat
  124. if not "%strcat%"=="" set strcat=%strcat%;
  125. set strcat=%strcat%%1
  126. goto :EOF