return build_number
+
+def make_header():
+ now = datetime.datetime.now()
+
+ file = open('include\\version.h', 'w')
+
+ file.write('#define VENDOR_NAME_STR\t\t"' + os.environ['VENDOR_NAME'] + '"\n')
+ file.write('#define VENDOR_PREFIX_STR\t"' + os.environ['VENDOR_PREFIX'] + '"\n')
+
+ if 'VENDOR_DEVICE_ID' in os.environ.keys():
+ file.write('#define VENDOR_DEVICE_ID_STR\t"' + os.environ['VENDOR_DEVICE_ID'] + '"\n')
+
+ file.write('#define PRODUCT_NAME_STR\t"' + os.environ['PRODUCT_NAME'] + '"\n')
+ file.write('\n')
+
+ file.write('#define MAJOR_VERSION\t\t' + os.environ['MAJOR_VERSION'] + '\n')
+ file.write('#define MAJOR_VERSION_STR\t"' + os.environ['MAJOR_VERSION'] + '"\n')
+ file.write('\n')
+
+ file.write('#define MINOR_VERSION\t\t' + os.environ['MINOR_VERSION'] + '\n')
+ file.write('#define MINOR_VERSION_STR\t"' + os.environ['MINOR_VERSION'] + '"\n')
+ file.write('\n')
+
+ file.write('#define MICRO_VERSION\t\t' + os.environ['MICRO_VERSION'] + '\n')
+ file.write('#define MICRO_VERSION_STR\t"' + os.environ['MICRO_VERSION'] + '"\n')
+ file.write('\n')
+
+ file.write('#define BUILD_NUMBER\t\t' + os.environ['BUILD_NUMBER'] + '\n')
+ file.write('#define BUILD_NUMBER_STR\t"' + os.environ['BUILD_NUMBER'] + '"\n')
+ file.write('\n')
+
+ file.write('#define YEAR\t\t\t' + str(now.year) + '\n')
+ file.write('#define YEAR_STR\t\t"' + str(now.year) + '"\n')
+ file.write('\n')
+
+ file.write('#define MONTH\t\t\t' + str(now.month) + '\n')
+ file.write('#define MONTH_STR\t\t"' + str(now.month) + '"\n')
+ file.write('\n')
+
+ file.write('#define DAY\t\t\t' + str(now.day) + '\n')
+ file.write('#define DAY_STR\t\t\t"' + str(now.day) + '"\n')
+ file.write('\n')
+
+ file.close()
+
+
+def copy_inf(vs, name):
+ src = open('src\\%s.inf' % name, 'r')
+ dst = open('%s\\%s.inf' % (vs, name), 'w')
+
+ for line in src:
+ line = re.sub('@MAJOR_VERSION@', os.environ['MAJOR_VERSION'], line)
+ line = re.sub('@MINOR_VERSION@', os.environ['MINOR_VERSION'], line)
+ line = re.sub('@MICRO_VERSION@', os.environ['MICRO_VERSION'], line)
+ line = re.sub('@BUILD_NUMBER@', os.environ['BUILD_NUMBER'], line)
+ line = re.sub('@VENDOR_NAME@', os.environ['VENDOR_NAME'], line)
+ line = re.sub('@VENDOR_PREFIX@', os.environ['VENDOR_PREFIX'], line)
+ line = re.sub('@PRODUCT_NAME@', os.environ['PRODUCT_NAME'], line)
+
+ if re.search('@VENDOR_DEVICE_ID@', line):
+ if 'VENDOR_DEVICE_ID' not in os.environ.keys():
+ continue
+ line = re.sub('@VENDOR_DEVICE_ID@', os.environ['VENDOR_DEVICE_ID'], line)
+
+ dst.write(line)
+
+ dst.close()
+ src.close()
+
+
def get_expired_symbols(name, age = 30):
path = os.path.join(os.environ['SYMBOL_SERVER'], '000Admin\\history.txt')
driver = 'xennet'
vs = getVsVersion()
- os.utime('include/version.hx', None)
- os.utime('src/%s.inf' % driver, None)
+ if 'VENDOR_NAME' not in os.environ.keys():
+ os.environ['VENDOR_NAME'] = 'Xen Project'
- if 'COMPANY_NAME' not in os.environ.keys():
- os.environ['COMPANY_NAME'] = 'Xen Project'
+ if 'VENDOR_PREFIX' not in os.environ.keys():
+ os.environ['VENDOR_PREFIX'] = 'XP'
if 'PRODUCT_NAME' not in os.environ.keys():
os.environ['PRODUCT_NAME'] = 'Xen'
if 'BUILD_NUMBER' not in os.environ.keys():
os.environ['BUILD_NUMBER'] = next_build_number()
- print("BUILD_NUMBER=%s" % os.environ['BUILD_NUMBER'])
-
if 'GIT_REVISION' in os.environ.keys():
revision = open('revision', 'w')
print(os.environ['GIT_REVISION'], file=revision)
revision.close()
+ print("VENDOR_NAME\t\t'%s'" % os.environ['VENDOR_NAME'])
+ print("VENDOR_PREFIX\t\t'%s'" % os.environ['VENDOR_PREFIX'])
+ print("PRODUCT_NAME\t\t'%s'" % os.environ['PRODUCT_NAME'])
+ print("MAJOR_VERSION\t\t%s" % os.environ['MAJOR_VERSION'])
+ print("MINOR_VERSION\t\t%s" % os.environ['MINOR_VERSION'])
+ print("MICRO_VERSION\t\t%s" % os.environ['MICRO_VERSION'])
+ print("BUILD_NUMBER\t\t%s" % os.environ['BUILD_NUMBER'])
+ print()
+
+ make_header()
+ copy_inf(vs, driver)
+
symstore_del(driver, 30)
if vs=='vs2012':
+++ /dev/null
-/* Copyright (c) Citrix Systems Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms,
- * with or without modification, are permitted provided
- * that the following conditions are met:
- *
- * * Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the
- * following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the
- * following disclaimer in the documentation and/or other
- * materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#define COMPANY_NAME_STR "@COMPANY_NAME@"
-#define PRODUCT_NAME_STR "@PRODUCT_NAME@"
-
-#define MAJOR_VERSION @MAJOR_VERSION@
-#define MAJOR_VERSION_STR "@MAJOR_VERSION@"
-
-#define MINOR_VERSION @MINOR_VERSION@
-#define MINOR_VERSION_STR "@MINOR_VERSION@"
-
-#define MICRO_VERSION @MICRO_VERSION@
-#define MICRO_VERSION_STR "@MICRO_VERSION@"
-
-#define BUILD_NUMBER @BUILD_NUMBER@
-#define BUILD_NUMBER_STR "@BUILD_NUMBER@"
-
-#define YEAR @YEAR@
-#define YEAR_STR "@YEAR@"
-
-#define MONTH @MONTH@
-#define MONTH_STR "@MONTH@"
-
-#define DAY @DAY@
-#define DAY_STR "@DAY@"
-
Signature="$Windows NT$"
Class=Net
ClassGUID={4d36e972-e325-11ce-bfc1-08002be10318}
-Provider=%Company%
+Provider=%Vendor%
CatalogFile=xennet.cat
DriverVer=01/01/1900,0.0.0.0
BootCritical=1
xennet_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xennet_coinst.dll
[Manufacturer]
-%Company%=Inst,NT$ARCH$
+%Vendor%=Inst,NT$ARCH$
[Inst.NT$ARCH$]
; DisplayName Section DeviceID
; ----------- ------- --------
-%XenNetDesc% =XenNet_Inst, XENVIF\VEN_XSC000&DEV_NET&REV_08000002
-%XenNetDesc% =XenNet_Inst, XENVIF\VEN_XS0001&DEV_NET&REV_08000002
-%XenNetDesc% =XenNet_Inst, XENVIF\VEN_XS0002&DEV_NET&REV_08000002
+%XenNetDesc% =XenNet_Inst, XENVIF\VEN_@VENDOR_PREFIX@@VENDOR_DEVICE_ID@&DEV_NET&REV_08000002
+%XenNetDesc% =XenNet_Inst, XENVIF\VEN_@VENDOR_PREFIX@0001&DEV_NET&REV_08000002
+%XenNetDesc% =XenNet_Inst, XENVIF\VEN_@VENDOR_PREFIX@0002&DEV_NET&REV_08000002
[XenNet_Inst]
Characteristics=0x84
[Strings]
-Company="@COMPANY_NAME@"
+Vendor="@VENDOR_NAME@"
DiskDesc="@PRODUCT_NAME@ PV Network Device Package"
XenNetDesc="@PRODUCT_NAME@ PV Network Device"
IPChecksumOffloadIPv4="IPv4 Checksum Offload"
break;
case OID_GEN_VENDOR_DESCRIPTION:
- BytesNeeded = (ULONG)strlen(COMPANY_NAME_STR) + 1;
+ BytesNeeded = (ULONG)strlen(VENDOR_NAME_STR) + 1;
ndisStatus = __CopyBuffer(Buffer,
BufferLength,
- COMPANY_NAME_STR,
+ VENDOR_NAME_STR,
BytesNeeded,
&BytesWritten);
break;
#include <version.h>
-#define VER_COMPANYNAME_STR COMPANY_NAME_STR
+#define VER_COMPANYNAME_STR VENDOR_NAME_STR
#define VER_LEGALCOPYRIGHT_STR "Copyright (c) Citrix Systems Inc."
#define VER_PRODUCTNAME_STR "XENNET"
<PropertyGroup>
<IncludePath>..\..\include;$(IncludePath)</IncludePath>
<RunCodeAnalysis>true</RunCodeAnalysis>
- <EnableInf2cat>false</EnableInf2cat>
- <CustomBuildBeforeTargets>ClCompile;StampInf</CustomBuildBeforeTargets>
+ <EnableInf2cat>false</EnableInf2cat>
<IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
<OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
- <CustomBuildStep>
- <Command>echo "Build Inf"
- powershell -Command "(Get-Content ..\..\src\xennet.inf) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' | Set-Content ..\xennet.inf"
- echo "Build version header"
- powershell -Command "(Get-Content ..\..\include\version.hx) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' -replace '@DAY@',%24(Get-Date -format %25%25d) -replace '@MONTH@',%24(Get-Date -format %25%25M) -replace '@YEAR@',%24(Get-Date -format yyyy) | Set-Content ..\..\include\version.h"
- </Command>
- <Outputs>..\xennet.inf;..\..\include\version.h</Outputs>
- <Inputs>..\..\src\xennet.inf;..\..\include\version.hx</Inputs>
- </CustomBuildStep>
<ClCompile>
<PreprocessorDefinitions>__MODULE__="XENNET";NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS60_MINIPORT=1;POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>EnableAllWarnings</WarningLevel>
<IncludePath>..\..\include;$(IncludePath)</IncludePath>
<RunCodeAnalysis>true</RunCodeAnalysis>
<EnableInf2cat>false</EnableInf2cat>
- <CustomBuildBeforeTargets>ClCompile;StampInf</CustomBuildBeforeTargets>
<IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
<OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
- <CustomBuildStep>
- <Command>echo "Build Inf"
- powershell -Command "(Get-Content ..\..\src\xennet.inf) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' | Set-Content ..\xennet.inf"
- echo "Build version header"
- powershell -Command "(Get-Content ..\..\include\version.hx) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' -replace '@DAY@',%24(Get-Date -format %25%25d) -replace '@MONTH@',%24(Get-Date -format %25%25M) -replace '@YEAR@',%24(Get-Date -format yyyy) | Set-Content ..\..\include\version.h"
- </Command>
- <Outputs>..\xennet.inf;..\..\include\version.h</Outputs>
- <Inputs>..\..\src\xennet.inf;..\..\include\version.hx</Inputs>
- </CustomBuildStep>
<ClCompile>
<PreprocessorDefinitions>__MODULE__="XENNET";NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS60_MINIPORT=1;POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>EnableAllWarnings</WarningLevel>