windows-nt/Source/XPSP1/NT/tools/postbuildscripts/template.ini
2020-09-26 16:20:57 +08:00

469 lines
12 KiB
INI

;
; template.branch.ini
;
; This file defines many of the optional settings used by a VBL or different
; language build process, centralizing them in one place.
;
; You may add new fields as appropriate, with comments clearly stating the
; purpose and valid entries the field may contain, and preferrably and example.
;
; Finally, please call the script GetIniSetting.cmd to retrieve data from this
; file to a cmd script, or alternately use PlGetIniSetting.pm to retrieve data
; to a perl script. The &MyGetField( $FieldName, $Language, $BranchName ) sub
; will return the field's value or undef if not found.
;
; Please note that any fields you do not have reason to use may be simply
; commented out with a semicolon.
;
;
;
; Deletebuild.cmd
; Below is a list of the settings and defaults that deletebuild uses.
;
; BuildMachines
; BuildMachineFreeSpace default=10
; BuildMachineBuildsToKeep default=3
; ReleaseServers
; ReleaseServerFreeSpace default=10
; ReleaseServerBuildsToKeep default=3
; SymIndexServer default=\\symbols\build$
; SymFarm default=\\symsrv\symfarm
; SymFarmArchsToDelete %_BuildArch%%_BuildType%
; SymFarmBuildsToKeep default=3
; SymFarmFreeSpace default=10
;
;
;
;
; --- BEGIN SETTINGS --
;
;
; BuildMachines::<archtype>
;
; Purpose: Deletebuild needs to know what the build machines are.
;
; Example: BuildsMachines::IA64FRE=IA64FRE
;
BuildMachines::X86FRE=MIKECARLA
BuildMachines::X86CHK=MIKECARLB
BuildMachines::IA64FRE=MIKECARLC
BuildMachines::IA64CHK=MIKECARLD
;
;
;
;
;
;
; BuildMachineFreeSpace::<machine name>
;
; Purpose: This field determines how many gigabytes are required to be free on
; your build machines after postbuild has completed.
;
; Example: BuildMachineFreeSpace::ROBSVBL1=10
;
BuildMachineFreeSpace::MIKESBLD1=10
BuildMachineFreeSpace::MIKESBLD2=10
BuildMachineFreeSpace::MIKESBLD3=10
BuildMachineFreeSpace::MIKESBLD4=10
;
;
;
;
;
; BuildMachineBuildsToKeep::<machine name>
;
; Purpose: This field determines how many full builds to keep on each build
; machine, no matter what.
;
; Example: BuildMachineBuildsToKeep::ROBSVBL1=6
;
BuildMachineBuildsToKeep::MIKESBLD1=6
BuildMachineBuildsToKeep::MIKESBLD2=6
BuildMachineBuildsToKeep::MIKESBLD3=6
BuildMachineBuildsToKeep::MIKESBLD4=6
;
;
;
;
;
; CrossPlatformCopyMachine::<archtype>
;
; Purpose: Provide the name of the x86 machine that will be used as a source
; for the wow64 binaries in the ia64 postbuild process. If this is
; not present, the information from BuildMachines.txt will be used
; instead. Note that the architecture/type is the one for the IA64
; machine that the wow64 files will be copied to!
;
;CrossPlatformCopyMachine::X86FRE=MIKESBLD1
;CrossPlatformCopyMachine::X86CHK=MIKESBLD2
;
;
;
;
;
;
; ReleaseServers::<archtype>
;
; Purpose: This field tells the release server names for each architecture type.
;
; Example: ReleaseServerFreeSpace::2kbldx=10
;
ReleaseServers::X86FRE=MIKESREL1
ReleaseServers::X86CHK=MIKESREL2
ReleaseServers::IA64FRE=MIKESREL3
ReleaseServers::IA64CHK=MIKESREL4
;
;
;
;
; ReleaseServerFreeSpace::<machine name>
;
; Purpose: This field determines how many gigabytes are required to be free on
; a given release server during propagation.
;
; Example: ReleaseServerFreeSpace::2kbldx=10
;
ReleaseServerFreeSpace::MIKESREL1=10
ReleaseServerFreeSpace::MIKESREL2=10
ReleaseServerFreeSpace::MIKESREL3=10
ReleaseServerFreeSpace::MIKESREL4=10
;
;
;
;
; ReleaseServerBuildsToKeep::<machine name>::<archtype>
;
; Purpose: This field determines how many full builds to keep on each release
; server for the specified architecture type. No matter what, this
; number of builds will stay on the release server.
;
; Example: ReleaseServerBuildsToKeep::MIKESREL1::X86FRE=6
;
ReleaseServerBuildsToKeep::MIKESREL1::X86FRE=6
ReleaseServerBuildsToKeep::MIKESREL1::IA64FRE=3
ReleaseServerBuildsToKeep::MIKESREL2::X86CHK=6
ReleaseServerBuildsToKeep::MIKESREL2::IA64CHK=3
;
;
;
;
;
;
; SymIndexServer
;
; Purpose: This field denotes the machine which holds the indexing
; information from a build's symbols. If this field is not defined,
; symbols are not indexed. This machine share is used in symindex.pm.
;
; Example: SymIndexServer=\\symbols\build$
;
SymIndexServer=\\MIKECARL3\build$
;
;
;
;
;
; SymFarm
;
; Purpose: The SymFarm field is used as a central location for each platform
; to store symbols for indexing and archiving. This is done primarily
; through indexsym.pm and symcopy.cmd. If no symbols farm is given,
; symbols will remain archived on the build machines or release servers.
;
; Example: SymFarm=\\symsrv\symfarm
;
SymFarm=\\MIKECARL3\symfarm
;
;
;
;
; SymFarmArchsToDelete::<machine name>
;
; Purpose: When deleting from the symfarm, delete all of the architectures
; at the same time.
;
; Example: SymFarm::SYMSRV=x86fre x86chk ia64fre ia64chk
;
SymFarm::SYMSRV=X86FRE X86CHK IA64FRE IA64CHK
;
;
;
;
;
;
;
; SymFarmBuildsToKeep::<machine name>::<ArchType>
;
; Purpose: The SymFarmBuildsToKeep field is used to specifiy how many builds to
; keep at all times for each platform on the symbol farm.
;
; Example: SymFarmBuildsToKeep::SYMSRV::X86FRE=10
;
SymFarmBuildsToKeep::SYMSRV::X86FRE=5
SymFarmBuildsToKeep::SYMSRV::X86CHK=6
SymFarmBuildsToKeep::SYMSRV::IA64FRE=10
SymFarmBuildsToKeep::SYMSRV::IA64CHK=10
;
;
;
;
;
; SymFarmFreeSpace::<machine name>
;
; Purpose: This field determines how many gigabytes are required to be free on
; a given symbol farm during propagation.
;
; Example: SymFarmFreeSpace::symsrv=10
;
SymFarmFreeSpace::MIKESFARM1=10
SymFarmFreeSpace::MIKESFARM2=10
;
;
;
;
;
; ConglomerationServers
;
; Purpose: Both the DDK and Symbols CDs require a conglomeration to a single
; machine from all four archtypes. This field will determine what
; machines are to be used in this way. If the field is not defined,
; the first machine for the current branch from BuildMachines.txt
; is used.
;
; Example: ConglomerationServers=2kbldx8 ntburnlab8
;
ConglomerationServers=MIKECARL3 MIKECARL4
;
;
;
;
;
; DFSRootName
;
; Purpose: The DFSRootName field is used when raising builds via a DFS to a
; specific build quality using raiseall.pl. If this field is not
; defined, no raising will be performed.
;
; Example: DFSRootName=\\ntdev\release
;
; DFSRootName=\\mikecarl3\fauxrel
;
;
;
;
; DFSSemaphore
;
; Purpose: If DFSRoot is defined, all raising commands will check this
; share for a semaphore. If the semaphore is present, the current
; DFS command will block execution until it can obtain the
; semaphore.
;
; Example: DFSSemaphore=\\ntrelic2\semaphore
;
; DFSSemaphore=\\MIKECARL3\semaphore
;
;
;
;
;
; DFSLatestServerSkus
;
; Purpose: When raising to latest.* from this branch, skus classified as
; server should be taken from this branch
;
; Example: DfsLatestServerSkus=1
;
DFSLatestServerSkus=1
;
;
;
;
; DFSLatestClientSkus
;
; Purpose: When raising to latest.* from this branch, skus classified as
; client should be taken from this branch
;
; Example: DfsLatestClientSkus=1
;
DFSLatestClientSkus=1
;
;
;
;
; DFSAlternateBranchName
;
; Purpose: Specifies the location off of DFSRootName for DFS links. If this
; field is not specified, the branch name is used.
;
; Example: DFSAlternateBranchName=client
;
;DFSAlternateBranchName=my_dfs_branch
;
;
;
;
; DFSAlternateLatestBranchName
;
; Purpose: Specifies the location off of DFSRootName for latest.* links in this
; branch. Raiseall uses the branch name (by default) when creating the
; numbered links, but as other scripts in the organization rely on legacy
; behavior, when creating the latest.* links an alternate path can be used.
;
; Example: DFSAlternateLatestBranchName=main
;
;
;
;
;DFSAlternateLatestBranchName=main
;
;
;
;
; BootTestMachines::<archtype>::<sku>
;
; Purpose: The machines listed in these fields will be used as boot test
; machines during the postbuild process. The machines must have
; specific settings for safe builds and startup items -- see
; AutoBootTest.cmd or contact WadeLa. The name given in this field
; must be the name of the safe build. If no field is specified for a
; given archtype and sku, no boot test is run.
;
; Example: BootTestMachines::X86FRE::per
;
; BootTestMachines::X86FRE::ads=MIKECARL2
;
;
;
;
; AutoRaise::<archtype>
;
; Purpose: This field determines whether the given archtype will automatically
; raise when boot tests complete. THIS SHOULD BE USED
; ONLY BY THE MAIN BUILD LAB AT THIS TIME.
;
; Example: AutoRaise::IA64FRE=true
;
; AutoRaise::IA64FRE=true
; AutoRaise::IA64CHK=true
;
;
;
;
;
; PrimaryReleaseServer
;
; Purpose: If only one release server is to be raised via DFS, this field will
; denote which server will be chosen. If this field is not set, there
; is no restriction to the number of servers that will be raised.
;
; Example: PrimaryReleaseServer=2kbldx8
;
PrimaryReleaseServer=MIKECARL3
;
;
;
;
;
; SecondaryReleaseServer
;
; Purpose: If a primary release server is selected, and has a small storage
; capacity, when builds are lowered from the primary through DFS the
; secondary release server will be raised if the lowered build is
; still present on the secondary. If no primary release server is
; given, this field has no meaning.
;
; Example: SecondaryReleaseServer=ntrelic2
;
SecondaryReleaseServer=mikerelic2
;
;
;
;
;
;
; AlternateReleaseDir
;
; Purpose: If two branches are releasing on the same machine and you need to
; use different release locations on the build machine, set this
; parameter to the share name on the machine.
;
; Example: AlternateReleaseDir=idxrelease
;
; AlternateReleaseDir=idxrelease
;
;
;
;
;
; AlternateReleaseBranch
;
; Purpose: If you propagate builds from this branch but want them to show up
; on release servers as another branch name, set this parameter to
; the name you want to see. For instance, if idx01 releases are to
; be named "main" releases, they will show up as 2250.main.x86fre.xxxx
;
; Example: AlternateReleaseBranch=main
;
; AlternateReleaseBranch=main
;
;
;
;
;
; CreateHiddenBuilds
;
; Purpose: If you want your build machine to hide builds before releasing them
; (to prevent premature downloads etc) set this flag.
;
; Example: CreateHiddenBuilds=TRUE
;
CreateHiddenBuilds=TRUE
;
;
;
;
;
; BVTMembers
;
; Purpose: If you raise through DFS and wish to set permissions on BVT shares
; to a select group of people, set their accounts here.
;
; Example: BVTMembers=ntdev\ntbuild ntdev\ntbvtest redmond\ntbvtest
;
; BVTMembers=ntdev\ntbuild ntdev\ntbvtest redmond\ntbvtest ntdev\mikecarl
;
;
;
;
; ReleaseAccess
;
; Purpose: The users or groups that should have read access to releases
;
; Example: ReleaseAccess=ntdev\ntbuild ntdev\ro_sd ntdev\rw_sd
;
; ReleaseAccess=ntdev\ntbuild ntdev\ro_sd ntdev\rw_sd
;
;
;
;
; BuildMachineReleaseAccess
;
; Purpose: The users or groups that should have read access to releases on the
; build machines. ReleaseAccess is used if this is not set.
;
; Example: BuildMachineReleaseAccess=ntdev\ntbuild
;
; BuildMachineReleaseAccess=ntdev\ntbuild
;
;
; ReleaseDrive
;
; Purpose: define release drive for each release server
;
; Example: ReleaseDrive::INTBLDS10=D
;
;ReleaseDrive::intblds10=D
;ReleaseDrive::intblds11=D
;